]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge branch 'master' into MaidenBeast/translation_updates
authorMaidenBeast <fel.sallustio@gmail.com>
Tue, 12 Jul 2011 17:55:23 +0000 (19:55 +0200)
committerMaidenBeast <fel.sallustio@gmail.com>
Tue, 12 Jul 2011 17:55:23 +0000 (19:55 +0200)
Conflicts:
csprogs.dat.de.po
csprogs.dat.it.po
csprogs.dat.pot
menu.dat.de.po
menu.dat.es.po
menu.dat.fi.po
menu.dat.fr.po
menu.dat.hu.po
menu.dat.nl.po
menu.dat.pot
menu.dat.pt.po
menu.dat.ro.po
menu.dat.ru.po
menu.dat.se.po

139 files changed:
config_update.cfg
csprogs.dat.de.po
csprogs.dat.it.po
csprogs.dat.pot
defaultXonotic.cfg
menu.dat.de.po
menu.dat.es.po
menu.dat.fi.po
menu.dat.fr.po
menu.dat.hu.po
menu.dat.it.po
menu.dat.nl.po
menu.dat.pot
menu.dat.pt.po
menu.dat.ro.po
menu.dat.ru.po
menu.dat.se.po
qcsrc/client/View.qc
qcsrc/client/casings.qc
qcsrc/client/csqc_constants.qc
qcsrc/client/damage.qc
qcsrc/client/gibs.qc
qcsrc/client/hook.qc
qcsrc/client/mapvoting.qc
qcsrc/client/miscfunctions.qc
qcsrc/client/particles.qc
qcsrc/client/projectile.qc
qcsrc/client/scoreboard.qc
qcsrc/client/target_music.qc
qcsrc/client/tturrets.qc
qcsrc/client/tuba.qc
qcsrc/client/vehicles/vehicles.qc
qcsrc/common/constants.qh
qcsrc/common/util-pre.qh
qcsrc/common/util.qh
qcsrc/menu/xonotic/dialog_settings_audio.c
qcsrc/server/arena.qc
qcsrc/server/autocvars.qh
qcsrc/server/bot/scripting.qc
qcsrc/server/cheats.qc
qcsrc/server/cl_client.qc
qcsrc/server/cl_physics.qc
qcsrc/server/cl_player.qc
qcsrc/server/cl_weapons.qc
qcsrc/server/cl_weaponsystem.qc
qcsrc/server/ctf.qc
qcsrc/server/defs.qh
qcsrc/server/domination.qc
qcsrc/server/extensions.qh
qcsrc/server/func_breakable.qc
qcsrc/server/g_damage.qc
qcsrc/server/g_hook.qc
qcsrc/server/g_triggers.qc
qcsrc/server/gamecommand.qc
qcsrc/server/miscfunctions.qc
qcsrc/server/mode_onslaught.qc
qcsrc/server/monsters/ai.qc
qcsrc/server/monsters/m_monsters.qc
qcsrc/server/mutators/gamemode_keepaway.qc
qcsrc/server/mutators/gamemode_keyhunt.qc
qcsrc/server/mutators/mutator_dodging.qc
qcsrc/server/nexball.qc
qcsrc/server/portals.qc
qcsrc/server/steerlib.qc
qcsrc/server/sv_main.qc
qcsrc/server/t_halflife.qc
qcsrc/server/t_items.qc
qcsrc/server/t_jumppads.qc
qcsrc/server/t_plats.qc
qcsrc/server/t_teleporters.qc
qcsrc/server/tturrets/system/system_damage.qc
qcsrc/server/tturrets/system/system_main.qc
qcsrc/server/tturrets/units/unit_ewheel.qc
qcsrc/server/tturrets/units/unit_flac.qc
qcsrc/server/tturrets/units/unit_hellion.qc
qcsrc/server/tturrets/units/unit_hk.qc
qcsrc/server/tturrets/units/unit_mlrs.qc
qcsrc/server/tturrets/units/unit_phaser.qc
qcsrc/server/tturrets/units/unit_plasma.qc
qcsrc/server/tturrets/units/unit_walker.qc
qcsrc/server/vehicles/bumblebee.qc
qcsrc/server/vehicles/racer.qc
qcsrc/server/vehicles/raptor.qc
qcsrc/server/vehicles/spiderbot.qc
qcsrc/server/vehicles/vehicles.qc
qcsrc/server/w_common.qc
qcsrc/server/w_crylink.qc
qcsrc/server/w_electro.qc
qcsrc/server/w_fireball.qc
qcsrc/server/w_grenadelauncher.qc
qcsrc/server/w_hagar.qc
qcsrc/server/w_hlac.qc
qcsrc/server/w_hook.qc
qcsrc/server/w_laser.qc
qcsrc/server/w_minelayer.qc
qcsrc/server/w_minstanex.qc
qcsrc/server/w_nex.qc
qcsrc/server/w_porto.qc
qcsrc/server/w_rifle.qc
qcsrc/server/w_rocketlauncher.qc
qcsrc/server/w_seeker.qc
qcsrc/server/w_shotgun.qc
qcsrc/server/w_tuba.qc
qcsrc/server/w_uzi.qc
qcsrc/warpzonelib/client.qc
qcsrc/warpzonelib/server.qc
sound/player/default.sounds
sound/player/espeak/coms/affirmative.ogg [new file with mode: 0644]
sound/player/espeak/coms/attack.ogg [new file with mode: 0644]
sound/player/espeak/coms/attackinfive.ogg [new file with mode: 0644]
sound/player/espeak/coms/attacking.ogg [new file with mode: 0644]
sound/player/espeak/coms/coverme.ogg [new file with mode: 0644]
sound/player/espeak/coms/defend.ogg [new file with mode: 0644]
sound/player/espeak/coms/defending.ogg [new file with mode: 0644]
sound/player/espeak/coms/droppedflag.ogg [new file with mode: 0644]
sound/player/espeak/coms/flagcarriertakingdamage.ogg [new file with mode: 0644]
sound/player/espeak/coms/freelance.ogg [new file with mode: 0644]
sound/player/espeak/coms/getflag.ogg [new file with mode: 0644]
sound/player/espeak/coms/incoming.ogg [new file with mode: 0644]
sound/player/espeak/coms/meet.ogg [new file with mode: 0644]
sound/player/espeak/coms/needhelp.ogg [new file with mode: 0644]
sound/player/espeak/coms/negative.ogg [new file with mode: 0644]
sound/player/espeak/coms/onmyway.ogg [new file with mode: 0644]
sound/player/espeak/coms/roaming.ogg [new file with mode: 0644]
sound/player/espeak/coms/seenenemy.ogg [new file with mode: 0644]
sound/player/espeak/coms/seenflag.ogg [new file with mode: 0644]
sound/player/espeak/coms/taunt.ogg [new file with mode: 0644]
sound/player/espeak/coms/teamshoot.ogg [new file with mode: 0644]
sound/player/espeak/make.sh [new file with mode: 0644]
sound/player/espeak/player/death.ogg [new file with mode: 0644]
sound/player/espeak/player/drown.ogg [new file with mode: 0644]
sound/player/espeak/player/fall.ogg [new file with mode: 0644]
sound/player/espeak/player/falling.ogg [new file with mode: 0644]
sound/player/espeak/player/gasp.ogg [new file with mode: 0644]
sound/player/espeak/player/jump.ogg [new file with mode: 0644]
sound/player/espeak/player/pain100.ogg [new file with mode: 0644]
sound/player/espeak/player/pain25.ogg [new file with mode: 0644]
sound/player/espeak/player/pain50.ogg [new file with mode: 0644]
sound/player/espeak/player/pain75.ogg [new file with mode: 0644]

index 6a6388a5bc4b2115342d4d009058085ce77a0e4b..f470875425711ad29ff89f9e2df2a3ad98594823 100644 (file)
@@ -11,8 +11,11 @@ alias _update_configversion_2 "volume 1; cl_gunalign 1; _update_configversion_3"
 alias _update_configversion_3 "cl_gunalign 3; menu_cl_gunalign 3; _update_configversion_4"
 
 // place to put further updates
-alias _update_configversion_4 ""
+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"
+
+// place to put further updates
+alias _update_configversion_5 ""
 
 _update_configversion_$g_configversion
 
-set g_configversion 4
+set g_configversion 5
index dfc1717c2136840ef5c0abe843099f205f98d196..aab41bdf6e1ac50024c5794704b357ae4d616046 100644 (file)
@@ -7,14 +7,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 0.1preview\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:07+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+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"
+"Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: de\n"
 
 #: qcsrc/client/Main.qc:30
 msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
@@ -77,8 +77,8 @@ msgstr ""
 #: qcsrc/client/Main.qc:994
 #, c-format
 msgid ""
-"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: %"
-"s)\n"
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
 msgstr ""
 "Unbekannter Entity-Typ in CSQC_Ent_Update (enttype: %d, edict: %d, "
 "classname: %s)\n"
@@ -1686,37 +1686,37 @@ msgstr "%s trat %ss Crylink zu nahe"
 msgid "%s took a close look at %s's Crylink"
 msgstr "%s schaute sich %ss Crylink sehr genau an"
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr "%s vergaß, wo er das Plasma hingetan hatte"
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr "%s spielte mit Plasma"
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr "%s hat gerade %ss blaue Kugel bemerkt"
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr "%s kam mit %ss blauer Kugel in Kontakt"
 
-#: qcsrc/server/w_electro.qc:587
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr "%s hat gespürt, wie %ss Combo die Luft elektrisierte"
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr "%s kam zu nah an %ss blauen Strahl"
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr "%s wurde von %ss blauen Strahl erwischt"
@@ -1814,9 +1814,7 @@ msgstr "^1%s^1 wurde von %s^1 niedergehauen"
 msgid "Grappling Hook"
 msgstr "Grappling Hook"
 
-#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253 qcsrc/server/w_porto.qc:296
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr "%s hat das Unmögliche geschafft"
@@ -1826,37 +1824,37 @@ msgstr "%s hat das Unmögliche geschafft"
 msgid "%s has run into %s's gravity bomb"
 msgstr "%s ist in %ss Gravitationsbombe reingelaufen"
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr "%s hat sich in die Hölle gelasert"
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr "%s ist von %ss Gauntlet halbiert worden"
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr "^1%s^1 wurde von %s^1 zu Tode gelasert"
 
-#: qcsrc/server/w_minelayer.qc:522 qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr "%s ist explodiert"
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr "%s ist %ss Mine zu nahe getreten"
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr "%s ist fast %ss Mine ausgewichen"
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr "%s ist auf %ss Mine gelatscht"
@@ -1865,6 +1863,12 @@ msgstr "%s ist auf %ss Mine gelatscht"
 msgid "MinstaNex"
 msgstr "MinstaNex"
 
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr "%s kann jetzt mit Portalen denken"
+
 #: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
@@ -1934,12 +1938,12 @@ msgstr "T.A.G. Seeker"
 msgid "%s was tagged by %s"
 msgstr "^1%s^1 wurde von %s^1 getagged"
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
 msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
 msgstr "%2$1s ^7hat %1$s ^7ein wenig mit einer großen Schrotflinte geschlagen"
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_shotgun.qc:215
 #, c-format
 msgid "%s was gunned by %s"
 msgstr "^1%s^1 wurde von %s^1 erschossen"
@@ -1959,28 +1963,28 @@ msgstr ""
 #, c-format
 msgid "%s died of %s's great playing on the @!#%%'n Tuba"
 msgstr ""
-"%s ist an seinen Ohrenschmerzen, die von %ss großartigem Spiel auf der @!#%"
-"%'n Tuba stammten, gestorben"
+"%s ist an seinen Ohrenschmerzen, die von %ss großartigem Spiel auf der @!#"
+"%%'n Tuba stammten, gestorben"
 
 #: qcsrc/server/w_uzi.qc:323
 #, c-format
 msgid "%s was riddled full of holes by %s"
 msgstr "%s ist von %s durchlöchert worden wie ein Schweizer Käse"
 
-#~ msgid "A CSQC entity changed its owner!\n"
-#~ msgstr "Ein CSQC-Entity hat seinen Besitzer gewechselt!\n"
-
-#~ msgid "A CSQC entity changed its type!\n"
-#~ msgstr "Ein CSQC-Entity hat seinen Typ gewechselt!\n"
+#~ msgid "Sniper Rifle"
+#~ msgstr "Sniper Rifle"
 
-#~ msgid "unknown entity type in CSQC_Ent_Update: %d\n"
-#~ msgstr "unbekannter Entity-Typ in CSQC_Ent_Update: %d\n"
+#~ msgid "^1Moron! You fragged %s, a team mate!"
+#~ msgstr "^1Idiot! Du hast %s getötet, also einen Teamkollegen von dir!"
 
 #~ msgid "^1Moron! You went against %s, a team mate!"
 #~ msgstr "^1Idiot! Du hast %s getroffen, also einen Teamkollegen von dir!"
 
-#~ msgid "^1Moron! You fragged %s, a team mate!"
-#~ msgstr "^1Idiot! Du hast %s getötet, also einen Teamkollegen von dir!"
+#~ msgid "unknown entity type in CSQC_Ent_Update: %d\n"
+#~ msgstr "unbekannter Entity-Typ in CSQC_Ent_Update: %d\n"
 
-#~ msgid "Sniper Rifle"
-#~ msgstr "Sniper Rifle"
+#~ msgid "A CSQC entity changed its type!\n"
+#~ msgstr "Ein CSQC-Entity hat seinen Typ gewechselt!\n"
+
+#~ msgid "A CSQC entity changed its owner!\n"
+#~ msgstr "Ein CSQC-Entity hat seinen Besitzer gewechselt!\n"
index a4c1b9ebb80d00198a00efbdd9a5d9dc545c41c5..a8e0d9d954298d6da520e3ee1bda0331cf6c1a7c 100644 (file)
@@ -2,14 +2,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-06 20:55+0200\n"
+"POT-Creation-Date: 2011-06-27 18:24+0200\n"
 "PO-Revision-Date: \n"
 "Last-Translator: Felice Sallustio <fel.sallustio@gmail.com>\n"
 "Language-Team: \n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
 "X-Poedit-Language: Italian\n"
 
 #: qcsrc/client/Main.qc:30
@@ -29,14 +29,12 @@ msgstr ""
 msgid "^4CSQC Build information: ^1%s\n"
 msgstr "^4Informazioni sulla build CSQC: ^1%s\n"
 
-#: qcsrc/client/Main.qc:237
-#: qcsrc/client/Main.qc:253
+#: qcsrc/client/Main.qc:237 qcsrc/client/Main.qc:253
 #, c-format
 msgid "trying to switch to unsupported team %d\n"
 msgstr "tentando di passare al team non supportato %d\n"
 
-#: qcsrc/client/Main.qc:369
-#: qcsrc/client/scoreboard.qc:241
+#: qcsrc/client/Main.qc:369 qcsrc/client/scoreboard.qc:241
 msgid "Usage:\n"
 msgstr "Uso:\n"
 
@@ -61,27 +59,28 @@ msgid "  scoreboard_columns_help\n"
 msgstr "  scoreboard_columns_help\n"
 
 #: qcsrc/client/Main.qc:726
-#, c-format
+#, fuzzy, c-format
 msgid "A CSQC entity changed its owner! (edict: %d, classname: %s)\n"
-msgstr "Una entity CSQC ha cambiato il suo dominio! (edict: %d, classname: %s)\n"
+msgstr "Una entity CSQC ha cambiato il suo tipo!\n"
 
 #: qcsrc/client/Main.qc:953
-#, c-format
+#, fuzzy, c-format
 msgid "A CSQC entity changed its type! (edict: %d, classname: %s)\n"
-msgstr "Una entity CSQC ha cambiato il suo tipo! (edict: %d, classname: %s)\n"
+msgstr "Una entity CSQC ha cambiato il suo tipo!\n"
 
 #: qcsrc/client/Main.qc:994
-#, c-format
-msgid "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: %s)\n"
-msgstr "Entity type sconosciuto in CSQC_Ent_Update (enttype: %d, edict: %d, classname: %s)\n"
+#, fuzzy, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+msgstr "entity type sconosciuto in CSQC_Ent_Update: %d\n"
 
 #: qcsrc/client/Main.qc:1463
 #, c-format
 msgid "%s (not bound)"
-msgstr "%s (nessun limite)"
+msgstr ""
 
-#: qcsrc/client/Main.qc:1468
-#: qcsrc/client/hud.qc:407
+#: qcsrc/client/Main.qc:1468 qcsrc/client/hud.qc:407
 #, c-format
 msgid "%s (%s)"
 msgstr "%s (%s)"
@@ -103,8 +102,7 @@ msgstr "1) ^3pagina precedente"
 msgid "2) ^3next page"
 msgstr "2) ^3pagina successiva"
 
-#: qcsrc/client/ctf.qc:55
-#: qcsrc/client/ctf.qc:161
+#: qcsrc/client/ctf.qc:55 qcsrc/client/ctf.qc:161
 msgid "ESC) Exit Menu"
 msgstr "ESC) Esci dal menu"
 
@@ -172,8 +170,7 @@ msgstr " (+%dG)"
 msgid "Start line"
 msgstr "Linea di partenza"
 
-#: qcsrc/client/hud.qc:398
-#: qcsrc/client/hud.qc:402
+#: qcsrc/client/hud.qc:398 qcsrc/client/hud.qc:402
 msgid "Finish line"
 msgstr "Linea d'arrivo"
 
@@ -204,8 +201,7 @@ msgstr "Non disponibile"
 msgid "^1%s^1 couldn't take it anymore\n"
 msgstr "^1%s^1 non ce l'ha più fatta\n"
 
-#: qcsrc/client/hud.qc:1653
-#: qcsrc/client/hud.qc:1957
+#: qcsrc/client/hud.qc:1653 qcsrc/client/hud.qc:1957
 #, c-format
 msgid "^1%s^1 died\n"
 msgstr "^1%s^1 è morto\n"
@@ -213,7 +209,8 @@ msgstr "^1%s^1 è morto\n"
 #: qcsrc/client/hud.qc:1657
 #, c-format
 msgid "^7%s^7 committed suicide. What's the point of living without ammo?\n"
-msgstr "^7%s^7 ha commesso il suicidio. Qual'è il motivo di vivere senza munizioni?\n"
+msgstr ""
+"^7%s^7 ha commesso il suicidio. Qual'è il motivo di vivere senza munizioni?\n"
 
 #: qcsrc/client/hud.qc:1661
 #, c-format
@@ -258,22 +255,30 @@ msgstr "^1%s^1 è stato falciato da un compagno di squadra\n"
 #: qcsrc/client/hud.qc:1705
 #, c-format
 msgid "^1%s^1 ended a %d scoring spree by going against a team mate\n"
-msgstr "^1%s^1 ha concluso una serie di %d punti per esser andato contro un compagno di squadra\n"
+msgstr ""
+"^1%s^1 ha concluso una serie di %d punti per esser andato contro un compagno "
+"di squadra\n"
 
 #: qcsrc/client/hud.qc:1707
 #, c-format
 msgid "^1%s^1 ended a %d kill spree by killing a team mate\n"
-msgstr "^1%s^1 ha concluso una serie di %d uccisioni per aver ammazzato un compagno di squadra\n"
+msgstr ""
+"^1%s^1 ha concluso una serie di %d uccisioni per aver ammazzato un compagno "
+"di squadra\n"
 
 #: qcsrc/client/hud.qc:1711
 #, c-format
 msgid "^1%s^1's %s scoring spree was ended by a team mate!\n"
-msgstr "^1La serie di ^1%s^1 di ^1%s^1 punti è stata conclusa da un compagno di squadra!\n"
+msgstr ""
+"^1La serie di ^1%s^1 di ^1%s^1 punti è stata conclusa da un compagno di "
+"squadra!\n"
 
 #: qcsrc/client/hud.qc:1713
 #, c-format
 msgid "^1%s^1's %s kill spree was ended by a team mate!\n"
-msgstr "^1La serie di ^1%s ^1di ^1%s ^1uccisioni è stata conclusa da un compagno di squadra!\n"
+msgstr ""
+"^1La serie di ^1%s ^1di ^1%s ^1uccisioni è stata conclusa da un compagno di "
+"squadra!\n"
 
 #: qcsrc/client/hud.qc:1717
 #, c-format
@@ -361,19 +366,19 @@ msgid "^1%s^1 dies when %s^1's wakizashi dies.\n"
 msgstr "^1%s^1 muore mentre il wakizashi di %s^1 muore.\n"
 
 #: qcsrc/client/hud.qc:1791
-#, c-format
+#, fuzzy, c-format
 msgid "^1%s^1 nailed to hell by %s\n"
-msgstr "^1%s^1 è stato inchiodato all'inferno da %s\n"
+msgstr "^1%s^1 è stato disintegrato da %s\n"
 
 #: qcsrc/client/hud.qc:1795
-#, c-format
+#, fuzzy, c-format
 msgid "^1%s^1 cluster crushed by %s\n"
-msgstr "^1L'ammasso di ^1%s^1 è stato schiacciato da %s\n"
+msgstr "^1%s^1 è stato schiacciato da %s\n"
 
 #: qcsrc/client/hud.qc:1799
-#, c-format
+#, fuzzy, c-format
 msgid "^1%s^1 dies when %s^1's raptor dies.\n"
-msgstr "^1%s^1 muore mentre il raptor di %s^1 muore.\n"
+msgstr "^1%s^1 muore mentre il wakizashi di %s^1 muore.\n"
 
 #: qcsrc/client/hud.qc:1803
 #, c-format
@@ -403,12 +408,12 @@ msgstr "^1%s^1 è stato fraggato da %s\n"
 #: qcsrc/client/hud.qc:1832
 #, c-format
 msgid "^1%s^1's %s scoring spree was ended by %s\n"
-msgstr "^1La serie di ^1%s ^1di ^1%s^1 punti è stata conclusa da %s\n"
+msgstr "^1La serie di ^1%s ^1 di ^1%s^1 punti è stata conclusa da %s\n"
 
 #: qcsrc/client/hud.qc:1834
 #, c-format
 msgid "^1%s^1's %s kill spree was ended by %s\n"
-msgstr "^1La serie di %s^1 di ^1%s^1 uccisioni è stata conclusa da %s\n"
+msgstr "^1La serie di %s ^1 di ^1%s^1 uccisioni è stata conclusa da %s\n"
 
 #: qcsrc/client/hud.qc:1837
 #, c-format
@@ -626,7 +631,8 @@ msgid ""
 "You have been moved into a different team to improve team balance\n"
 "You are now on: %s"
 msgstr ""
-"Sei stato spostato in una squadra differente per aumentare il bilanciamento delle squadre\n"
+"Sei stato spostato in una squadra differente per aumentare il bilanciamento "
+"delle squadre\n"
 "Sei ora in: %s"
 
 #: qcsrc/client/hud.qc:2022
@@ -670,14 +676,14 @@ msgid "^1You killed your own dumb self!"
 msgstr "^1Ti sei ammazzato da solo!"
 
 #: qcsrc/client/hud.qc:2051
-#, c-format
+#, fuzzy, c-format
 msgid "^1Moron! You went against ^7%s^1, a team mate!"
-msgstr "^1Idiota! Sei andato contro ^7%s^1, un compagno di squadra!"
+msgstr "^1Idiota! Sei andato contro %s, un compagno di squadra!"
 
 #: qcsrc/client/hud.qc:2053
-#, c-format
+#, fuzzy, c-format
 msgid "^1Moron! You fragged ^7%s^1, a team mate!"
-msgstr "^1Idiota! Hai fraggato ^7%s^1, un compagno di squadra!"
+msgstr "^1Idiota! Hai fraggato %s, un compagno di squadra!"
 
 #: qcsrc/client/hud.qc:2057
 msgid "^1First score"
@@ -737,11 +743,9 @@ msgstr "^1Sei stato fraggato da ^7%s"
 
 #: qcsrc/client/hud.qc:2094
 msgid "^1Watch your step!"
-msgstr "^1Attento a dove metti i piedi!"
+msgstr "^1Attendo a dove metti i piedi!"
 
-#: qcsrc/client/hud.qc:2162
-#: qcsrc/client/hud.qc:2163
-#: qcsrc/client/hud.qc:2646
+#: qcsrc/client/hud.qc:2162 qcsrc/client/hud.qc:2163 qcsrc/client/hud.qc:2646
 #, c-format
 msgid "Player %d"
 msgstr "Giocatore %d"
@@ -750,9 +754,7 @@ msgstr "Giocatore %d"
 msgid "^1Intermediate 1 (+15.42)"
 msgstr "^1Intermedio 1 (+15.42)"
 
-#: qcsrc/client/hud.qc:2951
-#: qcsrc/client/hud.qc:2993
-#: qcsrc/client/hud.qc:3034
+#: qcsrc/client/hud.qc:2951 qcsrc/client/hud.qc:2993 qcsrc/client/hud.qc:3034
 #, c-format
 msgid "^1PENALTY: %.1f (%s)"
 msgstr "^1PENALITÀ: %.1f (%s)"
@@ -764,7 +766,7 @@ msgstr "^2PENALITÀ: %.1f (%s)"
 
 #: qcsrc/client/hud.qc:3064
 msgid "^1You must answer before entering hud configure mode\n"
-msgstr "^1Devi rispondere ad alcune domande prima di entrare nella modalità di configurazione dell'HUD\n"
+msgstr ""
 
 #: qcsrc/client/hud.qc:3067
 msgid "^2Name ^7instead of \"^1Unregistered player^7\" in stats"
@@ -792,15 +794,11 @@ msgstr "Sì (%s): %d"
 msgid "No (%s): %d"
 msgstr "No (%s): %d"
 
-#: qcsrc/client/hud.qc:3667
-#: qcsrc/client/hud.qc:3670
-#: qcsrc/client/hud.qc:3672
+#: qcsrc/client/hud.qc:3667 qcsrc/client/hud.qc:3670 qcsrc/client/hud.qc:3672
 msgid "Personal best"
 msgstr "Miglior personale"
 
-#: qcsrc/client/hud.qc:3685
-#: qcsrc/client/hud.qc:3688
-#: qcsrc/client/hud.qc:3690
+#: qcsrc/client/hud.qc:3685 qcsrc/client/hud.qc:3688 qcsrc/client/hud.qc:3690
 msgid "Server best"
 msgstr "Migliori del server"
 
@@ -859,8 +857,7 @@ msgstr "^1La partita è già iniziata"
 msgid "^1You have no more lives left"
 msgstr "^1Non hai più vite a disposizione"
 
-#: qcsrc/client/hud.qc:4195
-#: qcsrc/client/hud.qc:4198
+#: qcsrc/client/hud.qc:4195 qcsrc/client/hud.qc:4198
 #, c-format
 msgid "^1Press ^3%s^1 to join"
 msgstr "^1Premi ^3%s^1 per entrare"
@@ -944,7 +941,7 @@ msgstr " nodi"
 
 #: qcsrc/client/hud.qc:4686
 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
-msgstr "Corretti automaticamente numeri sul pannello sbagliati/mancanti in _hud_panelorder\n"
+msgstr ""
 
 #: qcsrc/client/hud_config.qc:132
 #, c-format
@@ -979,7 +976,8 @@ msgid "%d seconds left"
 msgstr "%d secondi rimanenti"
 
 #: qcsrc/client/mapvoting.qc:263
-msgid "mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
+msgid ""
+"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
 msgstr "mv_mapdownload: ^3Non avrai creduto di poter usare questo comando!\n"
 
 #: qcsrc/client/mapvoting.qc:273
@@ -1157,11 +1155,13 @@ msgstr "SCO^presi"
 
 #: qcsrc/client/scoreboard.qc:50
 msgid "SCO^ticks"
-msgstr "SCO^tick"
+msgstr ""
 
 #: qcsrc/client/scoreboard.qc:239
-msgid "You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
-msgstr "Puoi modificare lo scoreboard usando il comando ^2scoreboard_columns_set.\n"
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+"Puoi modificare lo scoreboard usando il comando ^2scoreboard_columns_set.\n"
 
 #: qcsrc/client/scoreboard.qc:240
 msgid "^3|---------------------------------------------------------------|\n"
@@ -1220,16 +1220,25 @@ msgid "^3kd^7                       The kill-death ratio\n"
 msgstr "^3kd^7                       Rapporto uccisioni-morti\n"
 
 #: qcsrc/client/scoreboard.qc:255
-msgid "^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was captured\n"
-msgstr "^3catture^7                     Per quante volte una bandiera (CTF) o una chiave (KeyHunt) è stata catturata\n"
+msgid ""
+"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+"^3catture^7                     Per quante volte una bandiera (CTF) o una "
+"chiave (KeyHunt) è stata catturata\n"
 
 #: qcsrc/client/scoreboard.qc:256
-msgid "^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a ball (Keepaway) was picked up\n"
-msgstr "^3raccolte^7                  Per quante volte una bandiera (CTF) o una chiave (KeyHunt) o una palla (Keepaway) viene raccolta\n"
+msgid ""
+"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
+"ball (Keepaway) was picked up\n"
+msgstr ""
+"^3raccolte^7                  Per quante volte una bandiera (CTF) o una "
+"chiave (KeyHunt) o una palla (Keepaway) viene raccolta\n"
 
 #: qcsrc/client/scoreboard.qc:257
 msgid "^3fckills^7                  Number of flag carrier kills\n"
-msgstr "^3fckills^7                  Numero di uccisioni dei portatori di bandiere\n"
+msgstr ""
+"^3fckills^7                  Numero di uccisioni dei portatori di bandiere\n"
 
 #: qcsrc/client/scoreboard.qc:258
 msgid "^3returns^7                  Number of flag returns\n"
@@ -1249,19 +1258,26 @@ msgstr "^3posizione^7                     Posizione del giocatore\n"
 
 #: qcsrc/client/scoreboard.qc:262
 msgid "^3pushes^7                   Number of players pushed into void\n"
-msgstr "^3buttati^7                  Numero di giocatori buttati giù nel nulla\n"
+msgstr ""
+"^3buttati^7                  Numero di giocatori buttati giù nel nulla\n"
 
 #: qcsrc/client/scoreboard.qc:263
-msgid "^3destroyed^7                Number of keys destroyed by pushing them into void\n"
-msgstr "^3distrutte^7                  Numero di chiavi distrutte buttandole giù nel nulla\n"
+msgid ""
+"^3destroyed^7                Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+"^3distrutte^7                  Numero di chiavi distrutte buttandole giù nel "
+"nulla\n"
 
 #: qcsrc/client/scoreboard.qc:264
 msgid "^3kckills^7                  Number of keys carrier kills\n"
-msgstr "^3kckills^7                  Numero di uccisioni dei portatori di chiavi\n"
+msgstr ""
+"^3kckills^7                  Numero di uccisioni dei portatori di chiavi\n"
 
 #: qcsrc/client/scoreboard.qc:265
 msgid "^3losses^7                   Number of times a key was lost\n"
-msgstr "^3perdute^7                  Numero di volte che una chiave s'è persa\n"
+msgstr ""
+"^3perdute^7                  Numero di volte che una chiave s'è persa\n"
 
 #: qcsrc/client/scoreboard.qc:266
 msgid "^3laps^7                     Number of laps finished (race/cts)\n"
@@ -1273,11 +1289,12 @@ msgstr "^3tempo^7                     Tempo totale (corsa/cts)\n"
 
 #: qcsrc/client/scoreboard.qc:268
 msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
-msgstr "^3giro più veloce^7                  Tempo del giro più veloce (corsa/cts)\n"
+msgstr ""
+"^3giro più veloce^7                  Tempo del giro più veloce (corsa/cts)\n"
 
 #: qcsrc/client/scoreboard.qc:269
 msgid "^3ticks^7                    Number of ticks (DOM)\n"
-msgstr "^3tick^7                    Numero di tick (DOM)\n"
+msgstr ""
 
 #: qcsrc/client/scoreboard.qc:270
 msgid "^3takes^7                    Number of domination points taken (DOM)\n"
@@ -1285,11 +1302,16 @@ msgstr "^3presi^7                    Numero di punti di dominio presi (DOM)\n"
 
 #: qcsrc/client/scoreboard.qc:271
 msgid "^3bckills^7                  Number of ball carrier kills\n"
-msgstr "^3bckills^7                  Numbero di uccisioni dei portatori di palle\n"
+msgstr ""
+"^3bckills^7                  Numbero di uccisioni dei portatori di palle\n"
 
 #: qcsrc/client/scoreboard.qc:272
-msgid "^3bctime^7                   Total amount of time holding the ball in Keepaway\n"
-msgstr "^3bctime^7                   Totale ammontare del tempo in possesso della palla nel Keepaway\n"
+msgid ""
+"^3bctime^7                   Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+"^3bctime^7                   Totale ammontare del tempo in possesso della "
+"palla nel Keepaway\n"
 
 #: qcsrc/client/scoreboard.qc:273
 msgid ""
@@ -1314,13 +1336,15 @@ msgid ""
 "include/exclude ALL teams/noteams game modes.\n"
 "\n"
 msgstr ""
-"I nomi speciali per il tipo di gioco 'teams' e 'noteams' possono essere usati\n"
+"I nomi speciali per il tipo di gioco 'teams' e 'noteams' possono essere "
+"usati\n"
 "per includere/escludere TUTTE le modalità con team/senza team.\n"
 "\n"
 
 #: qcsrc/client/scoreboard.qc:283
 msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
-msgstr "Esempio: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr ""
+"Esempio: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 
 #: qcsrc/client/scoreboard.qc:284
 msgid ""
@@ -1338,98 +1362,84 @@ msgstr ""
 "'field3' sarà mostrato solo in CTF, e 'field4' sarà mostrato in tutte\n"
 "le altre modalità di gioco eccetto DM.\n"
 
-#: qcsrc/client/scoreboard.qc:432
-#: qcsrc/client/scoreboard.qc:447
-#: qcsrc/client/scoreboard.qc:457
-#: qcsrc/client/scoreboard.qc:466
+#: qcsrc/client/scoreboard.qc:432 qcsrc/client/scoreboard.qc:447
+#: qcsrc/client/scoreboard.qc:457 qcsrc/client/scoreboard.qc:466
 #: qcsrc/client/scoreboard.qc:475
 #, c-format
 msgid "fixed missing field '%s'\n"
 msgstr "riparato campo mancante '%s'\n"
 
-#: qcsrc/client/scoreboard.qc:515
-#: qcsrc/client/scoreboard.qc:522
+#: qcsrc/client/scoreboard.qc:515 qcsrc/client/scoreboard.qc:522
 msgid "N/A"
 msgstr "N/D"
 
-#: qcsrc/client/scoreboard.qc:950
+#: qcsrc/client/scoreboard.qc:949
 #, c-format
 msgid "Accuracy stats (average %d%%)"
 msgstr "Stato precisione (media %d%%)"
 
-#: qcsrc/client/scoreboard.qc:1015
+#: qcsrc/client/scoreboard.qc:1014
 #, c-format
 msgid "%d%%"
 msgstr "%d%%"
 
-#: qcsrc/client/scoreboard.qc:1075
+#: qcsrc/client/scoreboard.qc:1074
 msgid "Rankings"
 msgstr "Posizioni"
 
-#: qcsrc/client/scoreboard.qc:1170
-#: qcsrc/client/scoreboard.qc:1172
+#: qcsrc/client/scoreboard.qc:1165 qcsrc/client/scoreboard.qc:1167
 msgid "Scoreboard"
 msgstr "Tabella dei punteggi"
 
-#: qcsrc/client/scoreboard.qc:1218
+#: qcsrc/client/scoreboard.qc:1208
 #, c-format
 msgid "Speed award: %d ^7(%s^7)"
 msgstr "Velocità migliore: %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1222
+#: qcsrc/client/scoreboard.qc:1212
 #, c-format
 msgid "All-time fastest: %d ^7(%s^7)"
 msgstr "Tempo più veloce in assoluto: %d ^7(%s^7)"
 
-#: qcsrc/client/scoreboard.qc:1249
-#: qcsrc/client/teamplay.qc:63
+#: qcsrc/client/scoreboard.qc:1239 qcsrc/client/teamplay.qc:63
 msgid "Spectators"
 msgstr "Spettatori"
 
-#: qcsrc/client/scoreboard.qc:1255
+#: qcsrc/client/scoreboard.qc:1246
 #, c-format
 msgid "playing on ^2%s^7"
 msgstr "giocando in ^2%s^7"
 
-#: qcsrc/client/scoreboard.qc:1262
-#: qcsrc/client/scoreboard.qc:1267
+#: qcsrc/client/scoreboard.qc:1253 qcsrc/client/scoreboard.qc:1258
 #, c-format
 msgid " for up to ^1%1.0f minutes^7"
 msgstr " fino a ^1%1.0f minuti^7"
 
-#: qcsrc/client/scoreboard.qc:1271
-#: qcsrc/client/scoreboard.qc:1290
+#: qcsrc/client/scoreboard.qc:1262 qcsrc/client/scoreboard.qc:1281
 msgid " or"
 msgstr " o"
 
-#: qcsrc/client/scoreboard.qc:1274
-#: qcsrc/client/scoreboard.qc:1281
+#: qcsrc/client/scoreboard.qc:1265 qcsrc/client/scoreboard.qc:1272
 #, c-format
 msgid " until ^3%s %s^7"
 msgstr " fino a ^3%s %s^7"
 
-#: qcsrc/client/scoreboard.qc:1275
-#: qcsrc/client/scoreboard.qc:1282
-#: qcsrc/client/scoreboard.qc:1294
-#: qcsrc/client/scoreboard.qc:1301
+#: qcsrc/client/scoreboard.qc:1266 qcsrc/client/scoreboard.qc:1273
+#: qcsrc/client/scoreboard.qc:1285 qcsrc/client/scoreboard.qc:1292
 msgid "SCO^points"
 msgstr "SCO^punti"
 
-#: qcsrc/client/scoreboard.qc:1276
-#: qcsrc/client/scoreboard.qc:1283
-#: qcsrc/client/scoreboard.qc:1295
-#: qcsrc/client/scoreboard.qc:1302
+#: qcsrc/client/scoreboard.qc:1267 qcsrc/client/scoreboard.qc:1274
+#: qcsrc/client/scoreboard.qc:1286 qcsrc/client/scoreboard.qc:1293
 msgid "SCO^is beaten"
 msgstr "SCO^è battuto"
 
-#: qcsrc/client/scoreboard.qc:1293
-#: qcsrc/client/scoreboard.qc:1300
+#: qcsrc/client/scoreboard.qc:1284 qcsrc/client/scoreboard.qc:1291
 #, c-format
 msgid " until a lead of ^3%s %s^7"
 msgstr " fino a ^3%s %s^7"
 
-#: qcsrc/client/target_music.qc:93
-#: qcsrc/client/target_music.qc:181
+#: qcsrc/client/target_music.qc:93 qcsrc/client/target_music.qc:181
 #, c-format
 msgid "Cannot initialize sound %s\n"
 msgstr "Impossibile inizializzare suono %s\n"
@@ -1452,154 +1462,141 @@ msgstr "Team Rosa"
 
 #: qcsrc/client/waypointsprites.qc:234
 msgid "Push"
-msgstr "Spingi"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:235
+#, fuzzy
 msgid "Destroy"
-msgstr "Distruggi"
+msgstr "SCO^distrutte"
 
 #: qcsrc/client/waypointsprites.qc:236
+#, fuzzy
 msgid "Defend"
-msgstr "Difendi"
+msgstr " 2) Difendi"
 
 #: qcsrc/client/waypointsprites.qc:237
+#, fuzzy
 msgid "Blue base"
-msgstr "Base Blu"
+msgstr "Team Blu"
 
 #: qcsrc/client/waypointsprites.qc:238
 msgid "DANGER"
-msgstr "PERICOLO"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:239
 msgid "Flag carrier"
-msgstr "Portatore bandiera"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:240
 msgid "Dropped flag"
-msgstr "Bandiera rilasciata"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:241
 msgid "Help me!"
-msgstr "Aiuto!"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:242
 msgid "Here"
-msgstr "Qui"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:243
 msgid "Dropped key"
-msgstr "Chiave rilasciata"
+msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:244
-#: qcsrc/client/waypointsprites.qc:246
-#: qcsrc/client/waypointsprites.qc:247
-#: qcsrc/client/waypointsprites.qc:248
+#: qcsrc/client/waypointsprites.qc:244 qcsrc/client/waypointsprites.qc:246
+#: qcsrc/client/waypointsprites.qc:247 qcsrc/client/waypointsprites.qc:248
 #: qcsrc/client/waypointsprites.qc:249
 msgid "Key carrier"
-msgstr "Portatore chiave"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:245
 msgid "Run here"
-msgstr "Corri qui"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:250
+#, fuzzy
 msgid "Red base"
-msgstr "Base Rossa"
+msgstr "Team Rosso"
 
 #: qcsrc/client/waypointsprites.qc:251
 msgid "Waypoint"
-msgstr "Waypoint"
+msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:252
-#: qcsrc/client/waypointsprites.qc:253
+#: qcsrc/client/waypointsprites.qc:252 qcsrc/client/waypointsprites.qc:253
 #: qcsrc/client/waypointsprites.qc:254
 msgid "Generator"
-msgstr "Generatore"
-
-#: qcsrc/client/waypointsprites.qc:255
-#: qcsrc/client/waypointsprites.qc:256
-#: qcsrc/client/waypointsprites.qc:257
-#: qcsrc/client/waypointsprites.qc:258
-#: qcsrc/client/waypointsprites.qc:259
-#: qcsrc/client/waypointsprites.qc:260
-#: qcsrc/client/waypointsprites.qc:261
-#: qcsrc/client/waypointsprites.qc:262
-#: qcsrc/client/waypointsprites.qc:285
-#: qcsrc/client/waypointsprites.qc:286
-#: qcsrc/client/waypointsprites.qc:287
-#: qcsrc/client/waypointsprites.qc:288
+msgstr ""
+
+#: qcsrc/client/waypointsprites.qc:255 qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:259 qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:261 qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:286
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/client/waypointsprites.qc:288
 #: qcsrc/client/waypointsprites.qc:289
 msgid "Control point"
-msgstr "Punto di controllo"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:263
+#, fuzzy
 msgid "Checkpoint"
-msgstr "Checkpoint"
+msgstr "SCO^punti"
 
 #: qcsrc/client/waypointsprites.qc:264
+#, fuzzy
 msgid "Finish"
-msgstr "Arrivo"
+msgstr "Linea d'arrivo"
 
 #: qcsrc/client/waypointsprites.qc:265
+#, fuzzy
 msgid "Start"
-msgstr "Partenza"
+msgstr "Linea di partenza"
 
-#: qcsrc/client/waypointsprites.qc:266
-#: qcsrc/client/waypointsprites.qc:267
+#: qcsrc/client/waypointsprites.qc:266 qcsrc/client/waypointsprites.qc:267
 msgid "Ball"
-msgstr "Palla"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:268
 msgid "Ball carrier"
-msgstr "Portatore palla"
+msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:269
-#: qcsrc/server/w_laser.qc:2
+#: qcsrc/client/waypointsprites.qc:269 qcsrc/server/w_laser.qc:2
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/client/waypointsprites.qc:270
-#: qcsrc/server/w_shotgun.qc:2
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/server/w_shotgun.qc:2
 msgid "Shotgun"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:271
-#: qcsrc/server/w_uzi.qc:2
+#: qcsrc/client/waypointsprites.qc:271 qcsrc/server/w_uzi.qc:2
 msgid "Machine Gun"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:272
-#: qcsrc/server/w_grenadelauncher.qc:2
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/server/w_grenadelauncher.qc:2
 msgid "Mortar"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:273
-#: qcsrc/server/w_electro.qc:2
+#: qcsrc/client/waypointsprites.qc:273 qcsrc/server/w_electro.qc:2
 msgid "Electro"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:274
-#: qcsrc/server/w_crylink.qc:2
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/server/w_crylink.qc:2
 msgid "Crylink"
 msgstr "Crylink"
 
-#: qcsrc/client/waypointsprites.qc:275
-#: qcsrc/server/w_nex.qc:2
+#: qcsrc/client/waypointsprites.qc:275 qcsrc/server/w_nex.qc:2
 msgid "Nex"
 msgstr "Nex"
 
-#: qcsrc/client/waypointsprites.qc:276
-#: qcsrc/server/w_hagar.qc:2
+#: qcsrc/client/waypointsprites.qc:276 qcsrc/server/w_hagar.qc:2
 msgid "Hagar"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:277
-#: qcsrc/server/w_rocketlauncher.qc:2
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/server/w_rocketlauncher.qc:2
 msgid "Rocket Launcher"
 msgstr "Rocket Launcher"
 
-#: qcsrc/client/waypointsprites.qc:278
-#: qcsrc/server/w_porto.qc:2
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/server/w_porto.qc:2
 msgid "Port-O-Launch"
 msgstr ""
 
@@ -1611,8 +1608,7 @@ msgstr ""
 msgid "Hook"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:281
-#: qcsrc/server/w_fireball.qc:2
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/server/w_fireball.qc:2
 msgid "Fireball"
 msgstr ""
 
@@ -1620,60 +1616,58 @@ msgstr ""
 msgid "HLAC"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:283
-#: qcsrc/server/w_rifle.qc:2
+#: qcsrc/client/waypointsprites.qc:283 qcsrc/server/w_rifle.qc:2
 msgid "Rifle"
-msgstr "Fucile"
+msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:284
-#: qcsrc/server/w_minelayer.qc:2
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_minelayer.qc:2
 msgid "Mine Layer"
 msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:290
 msgid "Invisibility"
-msgstr "Invisibilità"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:291
 msgid "Extra life"
-msgstr "Vita extra"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:292
 msgid "Speed"
-msgstr "Velocità"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:293
 msgid "Strength"
-msgstr "Forza"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:294
 msgid "Shield"
-msgstr "Scudo"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:295
 msgid "Fuel regen"
-msgstr "Rigeneratore di carburante"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:296
 msgid "Jet Pack"
-msgstr "Jet Pack"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:297
 msgid "Frozen!"
-msgstr "Congelato!"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:298
 msgid "Tagged"
-msgstr "Contrassegnato"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:299
 msgid "Vehicle"
-msgstr "Veicolo"
+msgstr ""
 
 #: qcsrc/client/waypointsprites.qc:560
 #, c-format
 msgid "%s needing help!"
-msgstr "%s sta chiedendo aiuto!"
+msgstr ""
 
 #: qcsrc/server/w_crylink.qc:664
 #, c-format
@@ -1695,37 +1689,37 @@ msgstr "%s era troppo vicino al Crylink di %s"
 msgid "%s took a close look at %s's Crylink"
 msgstr "%s ha visto da vicino il Crylink di %s"
 
-#: qcsrc/server/w_electro.qc:574
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr "%s non s'è ricordato dove loro avevano posto del plasma"
 
-#: qcsrc/server/w_electro.qc:576
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr "%s ha giocato col plasma"
 
-#: qcsrc/server/w_electro.qc:583
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr "%s aveva appena notato la palla blu di %s"
 
-#: qcsrc/server/w_electro.qc:585
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr "%s è entrato in contatto con la palla blu di %s"
 
-#: qcsrc/server/w_electro.qc:590
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr "%s ha sentito l'aria elettrificata della combo di %s"
 
-#: qcsrc/server/w_electro.qc:592
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr "%s s'è avvicinato troppo al raggio blu di %s"
 
-#: qcsrc/server/w_electro.qc:594
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr "%s è stato fatto saltare in aria dal raggio blu di %s"
@@ -1735,8 +1729,7 @@ msgstr "%s è stato fatto saltare in aria dal raggio blu di %s"
 msgid "%s forgot about some firemine"
 msgstr "%s s'è dimenticato di alcune mine infuocate"
 
-#: qcsrc/server/w_fireball.qc:419
-#: qcsrc/server/w_hlac.qc:240
+#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240
 #, c-format
 msgid "%s should have used a smaller gun"
 msgstr "%s avrebbe dovuto usare un'arma più piccola"
@@ -1796,8 +1789,7 @@ msgstr "%s ha quasi schivato la granata di %s"
 msgid "%s ate %s's grenade"
 msgstr "%s ha mangiato la granata di %s"
 
-#: qcsrc/server/w_hagar.qc:382
-#: qcsrc/server/w_seeker.qc:655
+#: qcsrc/server/w_hagar.qc:382 qcsrc/server/w_seeker.qc:655
 #, c-format
 msgid "%s played with tiny rockets"
 msgstr "%s ha giocato con piccoli razzi"
@@ -1807,8 +1799,7 @@ msgstr "%s ha giocato con piccoli razzi"
 msgid "%s hoped %s's missiles wouldn't bounce"
 msgstr "%s ha sperato che il missile di %s non rimbalzasse"
 
-#: qcsrc/server/w_hagar.qc:388
-#: qcsrc/server/w_seeker.qc:661
+#: qcsrc/server/w_hagar.qc:388 qcsrc/server/w_seeker.qc:661
 #, c-format
 msgid "%s was pummeled by %s"
 msgstr "%s è stato riempito di sberle da %s"
@@ -1826,8 +1817,7 @@ msgstr "%s è stato abbattuto da %s"
 msgid "Grappling Hook"
 msgstr ""
 
-#: qcsrc/server/w_hook.qc:266
-#: qcsrc/server/w_porto.qc:296
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr "%s ha fatto l'impossibile"
@@ -1852,8 +1842,7 @@ msgstr "%s è stato tagliato a metà dal guanto di %s"
 msgid "%s was lasered to death by %s"
 msgstr "%s è stato \"laserato\" alla morte da %s"
 
-#: qcsrc/server/w_minelayer.qc:523
-#: qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr "%s è esploso"
@@ -1877,16 +1866,13 @@ msgstr "%s è passato sopra la mina di %s"
 msgid "MinstaNex"
 msgstr ""
 
-#: qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253
-#: qcsrc/server/w_shotgun.qc:209
-#: qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
 #, c-format
 msgid "%s is now thinking with portals"
-msgstr "%s sta ora pensando con i portali"
+msgstr ""
 
-#: qcsrc/server/w_minstanex.qc:292
-#: qcsrc/server/w_nex.qc:255
+#: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
 msgstr "%s è stato vaporizzato da %s"
@@ -1926,8 +1912,7 @@ msgstr "%s non è riuscito a nascondersi dal fucile di %s"
 msgid "%s got hit in the head by %s"
 msgstr "%s ha preso un colpo in testa da %s"
 
-#: qcsrc/server/w_rifle.qc:258
-#: qcsrc/server/w_uzi.qc:321
+#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321
 #, c-format
 msgid "%s was sniped by %s"
 msgstr "%s è stato fucilato da %s"
@@ -1971,12 +1956,12 @@ msgstr "%s è stato sparato da %s"
 msgid "@!#%'n Tuba"
 msgstr "@!#%'n Tuba"
 
-#: qcsrc/server/w_tuba.qc:253
+#: qcsrc/server/w_tuba.qc:263
 #, c-format
 msgid "%s hurt his own ears with the @!#%%'n Tuba"
 msgstr "%s s'è fatto male alle orecchie con la @!#%%'n Tuba"
 
-#: qcsrc/server/w_tuba.qc:257
+#: qcsrc/server/w_tuba.qc:267
 #, c-format
 msgid "%s died of %s's great playing on the @!#%%'n Tuba"
 msgstr "%s è morto nella gran esibizione di %s con la @!#%%'n Tuba"
@@ -1985,4 +1970,3 @@ msgstr "%s è morto nella gran esibizione di %s con la @!#%%'n Tuba"
 #, c-format
 msgid "%s was riddled full of holes by %s"
 msgstr "%s è stato riempito di buchi da %s"
-
index eccb3db5985261ca8ba30c5a53db04bd630f907b..0d809f29410430219d07ad60de3e7946a640c66f 100644 (file)
@@ -8,819 +8,732 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:07+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+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"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: qcsrc/client/hud.qc:337
-msgid "1st"
-msgstr ""
-
-#: qcsrc/client/hud.qc:339
-msgid "2nd"
-msgstr ""
-
-#: qcsrc/client/hud.qc:341
-msgid "3rd"
-msgstr ""
-
-#: qcsrc/client/hud.qc:343
-#, c-format
-msgid "%dth"
-msgstr ""
-
-#: qcsrc/client/hud.qc:375
-#, c-format
-msgid " (-%dL)"
-msgstr ""
-
-#: qcsrc/client/hud.qc:380
-#, c-format
-msgid " (+%dL)"
-msgstr ""
-
-#: qcsrc/client/hud.qc:396
-msgid "Start line"
-msgstr ""
-
-#: qcsrc/client/hud.qc:398 qcsrc/client/hud.qc:402
-msgid "Finish line"
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
 msgstr ""
 
-#: qcsrc/client/hud.qc:400
-#, c-format
-msgid "Intermediate %d"
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
 msgstr ""
 
-#: qcsrc/client/hud.qc:407 qcsrc/client/Main.qc:1468
-#, c-format
-msgid "%s (%s)"
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
 msgstr ""
 
-#: qcsrc/client/hud.qc:409
-#, c-format
-msgid "%s (%s %s)"
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^deaths"
 msgstr ""
 
-#: qcsrc/client/hud.qc:911
-msgid "Out of ammo"
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^destroyed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:915
-msgid "Don't have"
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^drops"
 msgstr ""
 
-#: qcsrc/client/hud.qc:919
-msgid "Unavailable"
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^faults"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1649
-#, c-format
-msgid "^1%s^1 couldn't take it anymore\n"
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^fckills"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1653 qcsrc/client/hud.qc:1957
-#, c-format
-msgid "^1%s^1 died\n"
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^goals"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1657
-#, c-format
-msgid "^7%s^7 committed suicide. What's the point of living without ammo?\n"
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^kckills"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1661
-#, c-format
-msgid "^1%s^1 thought they found a nice camping ground\n"
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kdratio"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1665
-#, c-format
-msgid "^1%s^1 didn't become friends with the Lord of Teamplay\n"
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^k/d"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1669
-#, c-format
-msgid "^1%s^1 unfairly eliminated themself\n"
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^kd"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1673
-#, c-format
-msgid "^1%s^1 burned to death\n"
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kdr"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1677
-#, c-format
-msgid "^1%s^1 couldn't resist the urge to self-destruct\n"
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kills"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1681
-#, c-format
-msgid "^1%s^1 ended it all after a %d kill spree\n"
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^laps"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1698
-#, c-format
-msgid "^1%s^1 took action against a team mate\n"
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^lives"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1700
-#, c-format
-msgid "^1%s^1 mows down a team mate\n"
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^losses"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1705
-#, c-format
-msgid "^1%s^1 ended a %d scoring spree by going against a team mate\n"
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^name"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1707
-#, c-format
-msgid "^1%s^1 ended a %d kill spree by killing a team mate\n"
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^nick"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1711
-#, c-format
-msgid "^1%s^1's %s scoring spree was ended by a team mate!\n"
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^objectives"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1713
-#, c-format
-msgid "^1%s^1's %s kill spree was ended by a team mate!\n"
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^pickups"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1717
-#, c-format
-msgid "^1%s^1 drew first blood\n"
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^ping"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1721
-#, c-format
-msgid "^1%s^1 tried to occupy %s^1's teleport destination space\n"
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pl"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1723
-#, c-format
-msgid "^1%s^1 was telefragged by %s\n"
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^pushes"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1728
-#, c-format
-msgid "^1%s^1 was drowned by %s\n"
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^rank"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1733
-#, c-format
-msgid "^1%s^1 was slimed by %s\n"
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^returns"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1738
-#, c-format
-msgid "^1%s^1 was cooked by %s\n"
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^revivals"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1743
-#, c-format
-msgid "^1%s^1 was grounded by %s\n"
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^score"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1748
-#, c-format
-msgid "^1%s^1 was shot into space by %s\n"
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^suicides"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1753
-#, c-format
-msgid "^1%s^1 was conserved by %s\n"
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^takes"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1759
-#, c-format
-msgid "^1%s^1 was thrown into a world of hurt by %s\n"
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^ticks"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1763
-#, c-format
-msgid "^1%s^1 was crushed by %s\n"
+#: qcsrc/client/scoreboard.qc:239
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1767
-#, c-format
-msgid "^1%s^1 got shredded by %s\n"
+#: qcsrc/client/scoreboard.qc:240
+msgid "^3|---------------------------------------------------------------|\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1771
-#, c-format
-msgid "^1%s^1 was blasted to bits by %s\n"
+#: qcsrc/client/scoreboard.qc:241 qcsrc/client/Main.qc:369
+msgid "Usage:\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1775
-#, c-format
-msgid "^1%s^1 got caught in the destruction of %s^1's vehicle\n"
+#: qcsrc/client/scoreboard.qc:242
+msgid "^2scoreboard_columns_set default\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1779
-#, c-format
-msgid "^1%s^1 was bolted down by %s\n"
+#: qcsrc/client/scoreboard.qc:243
+msgid "^2scoreboard_columns_set ^7filed1 field2 ...\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1783
-#, c-format
-msgid "^1%s^1 could find no shelter from %s^1's rockets\n"
+#: qcsrc/client/scoreboard.qc:244
+msgid "The following field names are recognized (case insensitive):\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1787
-#, c-format
-msgid "^1%s^1 dies when %s^1's wakizashi dies.\n"
+#: qcsrc/client/scoreboard.qc:245
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1791
-#, c-format
-msgid "^1%s^1 nailed to hell by %s\n"
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3name^7 or ^3nick^7         Name of a player\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1795
-#, c-format
-msgid "^1%s^1 cluster crushed by %s\n"
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3ping^7                     Ping time\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1799
-#, c-format
-msgid "^1%s^1 dies when %s^1's raptor dies.\n"
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3pl^7                       Packet loss\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1803
-#, c-format
-msgid "^1%s^1 was pushed into the line of fire by %s\n"
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3kills^7                    Number of kills\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1807
-#, c-format
-msgid "^1%s^1 was pushed into an accident by %s\n"
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3deaths^7                   Number of deaths\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1811
-#, c-format
-msgid "^1%s^1 was unfairly eliminated by %s\n"
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3suicides^7                 Number of suicides\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1815
-#, c-format
-msgid "^1%s^1 was burnt to death by %s\n"
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3frags^7                    kills - suicides\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1827
-#, c-format
-msgid "^1%s^1 was fragged by %s\n"
+#: qcsrc/client/scoreboard.qc:254
+msgid "^3kd^7                       The kill-death ratio\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1832
-#, c-format
-msgid "^1%s^1's %s scoring spree was ended by %s\n"
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1834
-#, c-format
-msgid "^1%s^1's %s kill spree was ended by %s\n"
+#: qcsrc/client/scoreboard.qc:256
+msgid ""
+"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
+"ball (Keepaway) was picked up\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1837
-#, c-format
-msgid "^1%s^1 made %s scores in a row\n"
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7                  Number of flag carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1839
-#, c-format
-msgid "^1%s^1 has %s frags in a row\n"
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7                  Number of flag returns\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1842
-#, c-format
-msgid "%s^7 made a ^1TRIPLE SCORE\n"
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7                    Number of flag drops\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1844
-#, c-format
-msgid "%s^7 made a ^1TRIPLE FRAG\n"
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7                    Number of lives (LMS)\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1847
-#, c-format
-msgid "%s^7 unleashes ^1SCORING RAGE\n"
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7                     Player rank\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1849
-#, c-format
-msgid "%s^7 unleashes ^1RAGE\n"
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7                   Number of players pushed into void\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1852
-#, c-format
-msgid "%s^7 made ^1TEN SCORES IN A ROW!\n"
+#: qcsrc/client/scoreboard.qc:263
+msgid ""
+"^3destroyed^7                Number of keys destroyed by pushing them into "
+"void\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1854
-#, c-format
-msgid "%s^7 starts the ^1MASSACRE!\n"
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7                  Number of keys carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1857
-#, c-format
-msgid "%s^7 made ^1FIFTEEN SCORES IN A ROW!\n"
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7                   Number of times a key was lost\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1859
-#, c-format
-msgid "%s^7 executes ^1MAYHEM!\n"
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7                     Number of laps finished (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1862
-#, c-format
-msgid "%s^7 made ^1TWENTY SCORES IN A ROW!\n"
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7                     Total time raced (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1864
-#, c-format
-msgid "%s^7 is a ^1BERSERKER!\n"
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1867
-#, c-format
-msgid "%s^7 made ^1TWENTY FIVE SCORES IN A ROW!\n"
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7                    Number of ticks (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1869
-#, c-format
-msgid "%s^7 inflicts ^1CARNAGE!\n"
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7                    Number of domination points taken (DOM)\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1872
-#, c-format
-msgid "%s^7 made ^1THIRTY SCORES IN A ROW!\n"
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7                  Number of ball carrier kills\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1874
-#, c-format
-msgid "%s^7 unleashes ^1ARMAGEDDON!\n"
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7                   Total amount of time holding the ball in "
+"Keepaway\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1882
-#, c-format
-msgid "^1%s^1 was in the water for too long\n"
+#: qcsrc/client/scoreboard.qc:273
+msgid ""
+"^3score^7                    Total score\n"
+"\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1884
-#, c-format
-msgid "^1%s^1 drowned\n"
+#: qcsrc/client/scoreboard.qc:275
+msgid ""
+"Before a field you can put a + or - sign, then a comma separated list\n"
+"of game types, then a slash, to make the field show up only in these\n"
+"or in all but these game types. You can also specify 'all' as a\n"
+"field to show all fields available for the current game mode.\n"
+"\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1889
-#, c-format
-msgid "^1%s^1 was slimed\n"
+#: qcsrc/client/scoreboard.qc:280
+msgid ""
+"The special game type names 'teams' and 'noteams' can be used to\n"
+"include/exclude ALL teams/noteams game modes.\n"
+"\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1895
-#, c-format
-msgid "^1%s^1 found a hot place\n"
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1897
-#, c-format
-msgid "^1%s^1 turned into hot slag\n"
+#: qcsrc/client/scoreboard.qc:284
+msgid ""
+"will display name, ping and pl aligned to the left, and the fields\n"
+"right of the vertical bar aligned to the right.\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1904
-#, c-format
-msgid "^1%s^1 tested gravity (and it worked)\n"
+#: qcsrc/client/scoreboard.qc:286
+msgid ""
+"'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
+"other gamemodes except DM.\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1906
+#: qcsrc/client/scoreboard.qc:432 qcsrc/client/scoreboard.qc:447
+#: qcsrc/client/scoreboard.qc:457 qcsrc/client/scoreboard.qc:466
+#: qcsrc/client/scoreboard.qc:475
 #, c-format
-msgid "^1%s^1 hit the ground with a crunch\n"
+msgid "fixed missing field '%s'\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1911
-#, c-format
-msgid "^1%s^1 became a shooting star\n"
+#: qcsrc/client/scoreboard.qc:515 qcsrc/client/scoreboard.qc:522
+msgid "N/A"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1917
+#: qcsrc/client/scoreboard.qc:949
 #, c-format
-msgid "^1%s^1 discovered a swamp\n"
+msgid "Accuracy stats (average %d%%)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1919
+#: qcsrc/client/scoreboard.qc:1014
 #, c-format
-msgid "^1%s^1 is now conserved for centuries to come\n"
+msgid "%d%%"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1924
-#, c-format
-msgid "^1%s^1 was mowed down by a turret \n"
+#: qcsrc/client/scoreboard.qc:1074
+msgid "Rankings"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1936
-#, c-format
-msgid "^1%s^1 died in an accident\n"
+#: qcsrc/client/scoreboard.qc:1165 qcsrc/client/scoreboard.qc:1167
+msgid "Scoreboard"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1940
+#: qcsrc/client/scoreboard.qc:1208
 #, c-format
-msgid "^1%s^1 was unfairly eliminated\n"
+msgid "Speed award: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1946
+#: qcsrc/client/scoreboard.qc:1212
 #, c-format
-msgid "^1%s^1 felt a little hot\n"
+msgid "All-time fastest: %d ^7(%s^7)"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1948
-#, c-format
-msgid "^1%s^1 burnt to death\n"
+#: qcsrc/client/scoreboard.qc:1239 qcsrc/client/teamplay.qc:63
+msgid "Spectators"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1955
+#: qcsrc/client/scoreboard.qc:1246
 #, c-format
-msgid "^1%s^1 needs a restart\n"
+msgid "playing on ^2%s^7"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1962
+#: qcsrc/client/scoreboard.qc:1253 qcsrc/client/scoreboard.qc:1258
 #, c-format
-msgid "^1%s^1 needs a restart after a %d scoring spree\n"
+msgid " for up to ^1%1.0f minutes^7"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1964
-#, c-format
-msgid "^1%s^1 died with a %d kill spree\n"
+#: qcsrc/client/scoreboard.qc:1262 qcsrc/client/scoreboard.qc:1281
+msgid " or"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1968
+#: qcsrc/client/scoreboard.qc:1265 qcsrc/client/scoreboard.qc:1272
 #, c-format
-msgid "%s^7 got the %s\n"
+msgid " until ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1971
-#, c-format
-msgid "%s^7 lost the %s\n"
+#: qcsrc/client/scoreboard.qc:1266 qcsrc/client/scoreboard.qc:1273
+#: qcsrc/client/scoreboard.qc:1285 qcsrc/client/scoreboard.qc:1292
+msgid "SCO^points"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1974
-#, c-format
-msgid "%s^7 picked up the %s\n"
+#: qcsrc/client/scoreboard.qc:1267 qcsrc/client/scoreboard.qc:1274
+#: qcsrc/client/scoreboard.qc:1286 qcsrc/client/scoreboard.qc:1293
+msgid "SCO^is beaten"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1977
+#: qcsrc/client/scoreboard.qc:1284 qcsrc/client/scoreboard.qc:1291
 #, c-format
-msgid "%s^7 returned the %s\n"
+msgid " until a lead of ^3%s %s^7"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1980
-#, c-format
-msgid "%s^7 captured the %s%s\n"
+#: qcsrc/client/waypointsprites.qc:234
+msgid "Push"
 msgstr ""
 
-#: qcsrc/client/hud.qc:1999
-#, c-format
-msgid "%s^7 has picked up the ball!\n"
+#: qcsrc/client/waypointsprites.qc:235
+msgid "Destroy"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2004
-#, c-format
-msgid "%s^7 has dropped the ball!\n"
+#: qcsrc/client/waypointsprites.qc:236
+msgid "Defend"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2017
-#, c-format
-msgid "You are now on: %s"
+#: qcsrc/client/waypointsprites.qc:237
+msgid "Blue base"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2019
-#, c-format
-msgid ""
-"You have been moved into a different team to improve team balance\n"
-"You are now on: %s"
+#: qcsrc/client/waypointsprites.qc:238
+msgid "DANGER"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2022
-msgid "^1Reconsider your tactics, camper!"
+#: qcsrc/client/waypointsprites.qc:239
+msgid "Flag carrier"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2024
-msgid "^1Die camper!"
+#: qcsrc/client/waypointsprites.qc:240
+msgid "Dropped flag"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2027
-msgid "^1You are reinserted into the game for running out of ammo..."
+#: qcsrc/client/waypointsprites.qc:241
+msgid "Help me!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2029
-msgid "^1You were killed for running out of ammo..."
+#: qcsrc/client/waypointsprites.qc:242
+msgid "Here"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2032
-msgid "^1You need to preserve your health"
+#: qcsrc/client/waypointsprites.qc:243
+msgid "Dropped key"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2034
-msgid "^1You grew too old without taking your medicine"
+#: qcsrc/client/waypointsprites.qc:244 qcsrc/client/waypointsprites.qc:246
+#: qcsrc/client/waypointsprites.qc:247 qcsrc/client/waypointsprites.qc:248
+#: qcsrc/client/waypointsprites.qc:249
+msgid "Key carrier"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2037
-msgid "^1Don't go against team mates!"
+#: qcsrc/client/waypointsprites.qc:245
+msgid "Run here"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2039
-msgid "^1Don't shoot your team mates!"
+#: qcsrc/client/waypointsprites.qc:250
+msgid "Red base"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2044
-msgid "^1You need to be more careful!"
+#: qcsrc/client/waypointsprites.qc:251
+msgid "Waypoint"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2046
-msgid "^1You killed your own dumb self!"
+#: qcsrc/client/waypointsprites.qc:252 qcsrc/client/waypointsprites.qc:253
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Generator"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2051
-#, c-format
-msgid "^1Moron! You went against ^7%s^1, a team mate!"
+#: qcsrc/client/waypointsprites.qc:255 qcsrc/client/waypointsprites.qc:256
+#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:258
+#: qcsrc/client/waypointsprites.qc:259 qcsrc/client/waypointsprites.qc:260
+#: qcsrc/client/waypointsprites.qc:261 qcsrc/client/waypointsprites.qc:262
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:286
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/client/waypointsprites.qc:288
+#: qcsrc/client/waypointsprites.qc:289
+msgid "Control point"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2053
-#, c-format
-msgid "^1Moron! You fragged ^7%s^1, a team mate!"
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Checkpoint"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2057
-msgid "^1First score"
+#: qcsrc/client/waypointsprites.qc:264
+msgid "Finish"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2059
-msgid "^1First blood"
+#: qcsrc/client/waypointsprites.qc:265
+msgid "Start"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2063
-msgid "^1First casualty"
+#: qcsrc/client/waypointsprites.qc:266 qcsrc/client/waypointsprites.qc:267
+msgid "Ball"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2065
-msgid "^1First victim"
+#: qcsrc/client/waypointsprites.qc:268
+msgid "Ball carrier"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2069
-#, c-format
-msgid "^1You scored against ^7%s^1 who was typing!"
+#: qcsrc/client/waypointsprites.qc:269 qcsrc/server/w_laser.qc:2
+msgid "Laser"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2071
-#, c-format
-msgid "^1You typefragged ^7%s"
+#: qcsrc/client/waypointsprites.qc:270 qcsrc/server/w_shotgun.qc:2
+msgid "Shotgun"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2075
-#, c-format
-msgid "^1You were scored against by ^7%s^1 while you were typing!"
+#: qcsrc/client/waypointsprites.qc:271 qcsrc/server/w_uzi.qc:2
+msgid "Machine Gun"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2077
-#, c-format
-msgid "^1You were typefragged by ^7%s"
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/server/w_grenadelauncher.qc:2
+msgid "Mortar"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2081
-#, c-format
-msgid "^4You scored against ^7%s"
+#: qcsrc/client/waypointsprites.qc:273 qcsrc/server/w_electro.qc:2
+msgid "Electro"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2083
-#, c-format
-msgid "^4You fragged ^7%s"
+#: qcsrc/client/waypointsprites.qc:274 qcsrc/server/w_crylink.qc:2
+msgid "Crylink"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2087
-#, c-format
-msgid "^1You were scored against by ^7%s"
+#: qcsrc/client/waypointsprites.qc:275 qcsrc/server/w_nex.qc:2
+msgid "Nex"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2089
-#, c-format
-msgid "^1You were fragged by ^7%s"
+#: qcsrc/client/waypointsprites.qc:276 qcsrc/server/w_hagar.qc:2
+msgid "Hagar"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2094
-msgid "^1Watch your step!"
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/server/w_rocketlauncher.qc:2
+msgid "Rocket Launcher"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2162 qcsrc/client/hud.qc:2163 qcsrc/client/hud.qc:2646
-#, c-format
-msgid "Player %d"
+#: qcsrc/client/waypointsprites.qc:278 qcsrc/server/w_porto.qc:2
+msgid "Port-O-Launch"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2949
-msgid "^1Intermediate 1 (+15.42)"
+#: qcsrc/client/waypointsprites.qc:279
+msgid "Minstanex"
 msgstr ""
 
-#: qcsrc/client/hud.qc:2951 qcsrc/client/hud.qc:2993 qcsrc/client/hud.qc:3034
-#, c-format
-msgid "^1PENALTY: %.1f (%s)"
+#: qcsrc/client/waypointsprites.qc:280
+msgid "Hook"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3036
-#, c-format
-msgid "^2PENALTY: %.1f (%s)"
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/server/w_fireball.qc:2
+msgid "Fireball"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3064
-msgid "^1You must answer before entering hud configure mode\n"
+#: qcsrc/client/waypointsprites.qc:282
+msgid "HLAC"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3067
-msgid "^2Name ^7instead of \"^1Unregistered player^7\" in stats"
+#: qcsrc/client/waypointsprites.qc:283 qcsrc/server/w_rifle.qc:2
+msgid "Rifle"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3148
-msgid "A vote has been called for:"
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_minelayer.qc:2
+msgid "Mine Layer"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3150
-msgid "Allow servers to store and display your name?"
+#: qcsrc/client/waypointsprites.qc:290
+msgid "Invisibility"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3154
-msgid "^1Configure the HUD"
+#: qcsrc/client/waypointsprites.qc:291
+msgid "Extra life"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3158
-#, c-format
-msgid "Yes (%s): %d"
+#: qcsrc/client/waypointsprites.qc:292
+msgid "Speed"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3160
-#, c-format
-msgid "No (%s): %d"
+#: qcsrc/client/waypointsprites.qc:293
+msgid "Strength"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3667 qcsrc/client/hud.qc:3670 qcsrc/client/hud.qc:3672
-msgid "Personal best"
+#: qcsrc/client/waypointsprites.qc:294
+msgid "Shield"
 msgstr ""
 
-#: qcsrc/client/hud.qc:3685 qcsrc/client/hud.qc:3688 qcsrc/client/hud.qc:3690
-msgid "Server best"
+#: qcsrc/client/waypointsprites.qc:295
+msgid "Fuel regen"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4031
-msgid "^3Player^7: This is the chat area."
+#: qcsrc/client/waypointsprites.qc:296
+msgid "Jet Pack"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4098
-#, c-format
-msgid "FPS: %.*f"
+#: qcsrc/client/waypointsprites.qc:297
+msgid "Frozen!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4164
-msgid "^1Observing"
+#: qcsrc/client/waypointsprites.qc:298
+msgid "Tagged"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4166
-#, c-format
-msgid "^1Spectating: ^7%s"
+#: qcsrc/client/waypointsprites.qc:299
+msgid "Vehicle"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4170
+#: qcsrc/client/waypointsprites.qc:560
 #, c-format
-msgid "^1Press ^3%s^1 to spectate"
+msgid "%s needing help!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4172
+#: qcsrc/client/hud_config.qc:132
 #, c-format
-msgid "^1Press ^3%s^1 for another player"
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4176
+#: qcsrc/client/hud_config.qc:136
 #, c-format
-msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgid "^1Couldn't write to %s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4178
-#, c-format
-msgid "^1Press ^3%s^1 to observe"
+#: qcsrc/client/ctf.qc:35
+msgid "----- Order Menu -----"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4181
+#: qcsrc/client/ctf.qc:36
 #, c-format
-msgid "^1Press ^3%s^1 for gamemode info"
+msgid "Order: %s"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4185
-msgid "^1Wait for your turn to join"
+#: qcsrc/client/ctf.qc:37
+msgid "1) ^3previous page"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4191
-msgid "^1Match has already begun"
+#: qcsrc/client/ctf.qc:38
+msgid "2) ^3next page"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4193
-msgid "^1You have no more lives left"
+#: qcsrc/client/ctf.qc:55 qcsrc/client/ctf.qc:161
+msgid "ESC) Exit Menu"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4195 qcsrc/client/hud.qc:4198
+#: qcsrc/client/ctf.qc:126
 #, c-format
-msgid "^1Press ^3%s^1 to join"
+msgid "Couldn't find player %d\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4206
-#, c-format
-msgid "^1Game starts in ^3%d^1 seconds"
+#: qcsrc/client/ctf.qc:154
+msgid "----- Command Menu -----"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4213
-msgid "^2Currently in ^1warmup^2 stage!"
+#: qcsrc/client/ctf.qc:155
+msgid "Issue orders:"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4228
-#, c-format
-msgid "%sPress ^3%s%s to end warmup"
+#: qcsrc/client/ctf.qc:156
+msgid " 1) Attack"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4230
-#, c-format
-msgid "%sPress ^3%s%s once you are ready"
+#: qcsrc/client/ctf.qc:158
+msgid " 2) Defend"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4235
-msgid "^2Waiting for others to ready up to end warmup..."
+#: qcsrc/client/ctf.qc:160
+msgid "3) Resign from command."
 msgstr ""
 
-#: qcsrc/client/hud.qc:4237
-msgid "^2Waiting for others to ready up..."
+#: qcsrc/client/ctf.qc:212
+msgid "You're commander!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4243
-#, c-format
-msgid "^2Press ^3%s^2 to end warmup"
+#: qcsrc/client/ctf.qc:215
+msgid "Awaiting orders..."
 msgstr ""
 
-#: qcsrc/client/hud.qc:4264
-msgid "Teamnumbers are unbalanced!"
+#: qcsrc/client/Main.qc:30
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4269
-#, c-format
-msgid " Press ^3%s%s to adjust"
+#: qcsrc/client/Main.qc:56
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4277
-msgid "^7Press ^3ESC ^7to show HUD options."
+#: qcsrc/client/Main.qc:66
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4279
-msgid "^3Doubleclick ^7a panel for panel-specific options."
+#: qcsrc/client/Main.qc:237 qcsrc/client/Main.qc:253
+#, c-format
+msgid "trying to switch to unsupported team %d\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4281
-msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+#: qcsrc/client/Main.qc:370
+msgid "hud_save configname   (saves to hud_skinname_configname.cfg)\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4283
-msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+#: qcsrc/client/Main.qc:494
+msgid "Usage: cl_cmd COMMAND..., where possible commands are:\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4319
-msgid " qu/s"
+#: qcsrc/client/Main.qc:495
+msgid "  settemp cvar value\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4323
-msgid " m/s"
+#: qcsrc/client/Main.qc:496
+msgid "  scoreboard_columns_set ...\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4327
-msgid " km/h"
+#: qcsrc/client/Main.qc:497
+msgid "  scoreboard_columns_help\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4331
-msgid " mph"
+#: qcsrc/client/Main.qc:726
+#, c-format
+msgid "A CSQC entity changed its owner! (edict: %d, classname: %s)\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4335
-msgid " knots"
+#: qcsrc/client/Main.qc:953
+#, c-format
+msgid "A CSQC entity changed its type! (edict: %d, classname: %s)\n"
 msgstr ""
 
-#: qcsrc/client/hud.qc:4686
-msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+#: qcsrc/client/Main.qc:994
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
 msgstr ""
 
-#: qcsrc/client/hud_config.qc:132
+#: qcsrc/client/Main.qc:1463
 #, c-format
-msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+msgid "%s (not bound)"
 msgstr ""
 
-#: qcsrc/client/hud_config.qc:136
+#: qcsrc/client/Main.qc:1468 qcsrc/client/hud.qc:407
 #, c-format
-msgid "^1Couldn't write to %s\n"
+msgid "%s (%s)"
 msgstr ""
 
 #: qcsrc/client/mapvoting.qc:28
@@ -854,8 +767,18 @@ msgstr ""
 msgid "^1Error:^7 Couldn't find pak index.\n"
 msgstr ""
 
-#: qcsrc/client/mapvoting.qc:282
-msgid "Requesting preview...\n"
+#: qcsrc/client/mapvoting.qc:282
+msgid "Requesting preview...\n"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:159
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:162
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
 msgstr ""
 
 #: qcsrc/client/miscfunctions.qc:23
@@ -889,10 +812,6 @@ msgstr ""
 msgid "Trying to remove a team which is not in the teamlist!"
 msgstr ""
 
-#: qcsrc/client/teamplay.qc:63 qcsrc/client/scoreboard.qc:1239
-msgid "Spectators"
-msgstr ""
-
 #: qcsrc/client/teamplay.qc:64
 msgid "Red Team"
 msgstr ""
@@ -909,771 +828,801 @@ msgstr ""
 msgid "Pink Team"
 msgstr ""
 
-#: qcsrc/client/target_music.qc:93 qcsrc/client/target_music.qc:181
-#, c-format
-msgid "Cannot initialize sound %s\n"
-msgstr ""
-
-#: qcsrc/client/movetypes.qc:159
-#, c-format
-msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+#: qcsrc/client/hud.qc:337
+msgid "1st"
 msgstr ""
 
-#: qcsrc/client/movetypes.qc:162
-#, c-format
-msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+#: qcsrc/client/hud.qc:339
+msgid "2nd"
 msgstr ""
 
-#: qcsrc/client/ctf.qc:35
-msgid "----- Order Menu -----"
+#: qcsrc/client/hud.qc:341
+msgid "3rd"
 msgstr ""
 
-#: qcsrc/client/ctf.qc:36
+#: qcsrc/client/hud.qc:343
 #, c-format
-msgid "Order: %s"
-msgstr ""
-
-#: qcsrc/client/ctf.qc:37
-msgid "1) ^3previous page"
-msgstr ""
-
-#: qcsrc/client/ctf.qc:38
-msgid "2) ^3next page"
-msgstr ""
-
-#: qcsrc/client/ctf.qc:55 qcsrc/client/ctf.qc:161
-msgid "ESC) Exit Menu"
+msgid "%dth"
 msgstr ""
 
-#: qcsrc/client/ctf.qc:126
+#: qcsrc/client/hud.qc:375
 #, c-format
-msgid "Couldn't find player %d\n"
-msgstr ""
-
-#: qcsrc/client/ctf.qc:154
-msgid "----- Command Menu -----"
-msgstr ""
-
-#: qcsrc/client/ctf.qc:155
-msgid "Issue orders:"
+msgid " (-%dL)"
 msgstr ""
 
-#: qcsrc/client/ctf.qc:156
-msgid " 1) Attack"
+#: qcsrc/client/hud.qc:380
+#, c-format
+msgid " (+%dL)"
 msgstr ""
 
-#: qcsrc/client/ctf.qc:158
-msgid " 2) Defend"
+#: qcsrc/client/hud.qc:396
+msgid "Start line"
 msgstr ""
 
-#: qcsrc/client/ctf.qc:160
-msgid "3) Resign from command."
+#: qcsrc/client/hud.qc:398 qcsrc/client/hud.qc:402
+msgid "Finish line"
 msgstr ""
 
-#: qcsrc/client/ctf.qc:212
-msgid "You're commander!"
+#: qcsrc/client/hud.qc:400
+#, c-format
+msgid "Intermediate %d"
 msgstr ""
 
-#: qcsrc/client/ctf.qc:215
-msgid "Awaiting orders..."
+#: qcsrc/client/hud.qc:409
+#, c-format
+msgid "%s (%s %s)"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:234
-msgid "Push"
+#: qcsrc/client/hud.qc:911
+msgid "Out of ammo"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:235
-msgid "Destroy"
+#: qcsrc/client/hud.qc:915
+msgid "Don't have"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:236
-msgid "Defend"
+#: qcsrc/client/hud.qc:919
+msgid "Unavailable"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:237
-msgid "Blue base"
+#: qcsrc/client/hud.qc:1649
+#, c-format
+msgid "^1%s^1 couldn't take it anymore\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:238
-msgid "DANGER"
+#: qcsrc/client/hud.qc:1653 qcsrc/client/hud.qc:1957
+#, c-format
+msgid "^1%s^1 died\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:239
-msgid "Flag carrier"
+#: qcsrc/client/hud.qc:1657
+#, c-format
+msgid "^7%s^7 committed suicide. What's the point of living without ammo?\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:240
-msgid "Dropped flag"
+#: qcsrc/client/hud.qc:1661
+#, c-format
+msgid "^1%s^1 thought they found a nice camping ground\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:241
-msgid "Help me!"
+#: qcsrc/client/hud.qc:1665
+#, c-format
+msgid "^1%s^1 didn't become friends with the Lord of Teamplay\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:242
-msgid "Here"
+#: qcsrc/client/hud.qc:1669
+#, c-format
+msgid "^1%s^1 unfairly eliminated themself\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:243
-msgid "Dropped key"
+#: qcsrc/client/hud.qc:1673
+#, c-format
+msgid "^1%s^1 burned to death\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:244 qcsrc/client/waypointsprites.qc:246
-#: qcsrc/client/waypointsprites.qc:247 qcsrc/client/waypointsprites.qc:248
-#: qcsrc/client/waypointsprites.qc:249
-msgid "Key carrier"
+#: qcsrc/client/hud.qc:1677
+#, c-format
+msgid "^1%s^1 couldn't resist the urge to self-destruct\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:245
-msgid "Run here"
+#: qcsrc/client/hud.qc:1681
+#, c-format
+msgid "^1%s^1 ended it all after a %d kill spree\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:250
-msgid "Red base"
+#: qcsrc/client/hud.qc:1698
+#, c-format
+msgid "^1%s^1 took action against a team mate\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:251
-msgid "Waypoint"
+#: qcsrc/client/hud.qc:1700
+#, c-format
+msgid "^1%s^1 mows down a team mate\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:252 qcsrc/client/waypointsprites.qc:253
-#: qcsrc/client/waypointsprites.qc:254
-msgid "Generator"
+#: qcsrc/client/hud.qc:1705
+#, c-format
+msgid "^1%s^1 ended a %d scoring spree by going against a team mate\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:255 qcsrc/client/waypointsprites.qc:256
-#: qcsrc/client/waypointsprites.qc:257 qcsrc/client/waypointsprites.qc:258
-#: qcsrc/client/waypointsprites.qc:259 qcsrc/client/waypointsprites.qc:260
-#: qcsrc/client/waypointsprites.qc:261 qcsrc/client/waypointsprites.qc:262
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:286
-#: qcsrc/client/waypointsprites.qc:287 qcsrc/client/waypointsprites.qc:288
-#: qcsrc/client/waypointsprites.qc:289
-msgid "Control point"
+#: qcsrc/client/hud.qc:1707
+#, c-format
+msgid "^1%s^1 ended a %d kill spree by killing a team mate\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:263
-msgid "Checkpoint"
+#: qcsrc/client/hud.qc:1711
+#, c-format
+msgid "^1%s^1's %s scoring spree was ended by a team mate!\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:264
-msgid "Finish"
+#: qcsrc/client/hud.qc:1713
+#, c-format
+msgid "^1%s^1's %s kill spree was ended by a team mate!\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:265
-msgid "Start"
+#: qcsrc/client/hud.qc:1717
+#, c-format
+msgid "^1%s^1 drew first blood\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:266 qcsrc/client/waypointsprites.qc:267
-msgid "Ball"
+#: qcsrc/client/hud.qc:1721
+#, c-format
+msgid "^1%s^1 tried to occupy %s^1's teleport destination space\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:268
-msgid "Ball carrier"
+#: qcsrc/client/hud.qc:1723
+#, c-format
+msgid "^1%s^1 was telefragged by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:269 qcsrc/server/w_laser.qc:2
-msgid "Laser"
+#: qcsrc/client/hud.qc:1728
+#, c-format
+msgid "^1%s^1 was drowned by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:270 qcsrc/server/w_shotgun.qc:2
-msgid "Shotgun"
+#: qcsrc/client/hud.qc:1733
+#, c-format
+msgid "^1%s^1 was slimed by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:271 qcsrc/server/w_uzi.qc:2
-msgid "Machine Gun"
+#: qcsrc/client/hud.qc:1738
+#, c-format
+msgid "^1%s^1 was cooked by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:272 qcsrc/server/w_grenadelauncher.qc:2
-msgid "Mortar"
+#: qcsrc/client/hud.qc:1743
+#, c-format
+msgid "^1%s^1 was grounded by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:273 qcsrc/server/w_electro.qc:2
-msgid "Electro"
+#: qcsrc/client/hud.qc:1748
+#, c-format
+msgid "^1%s^1 was shot into space by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:274 qcsrc/server/w_crylink.qc:2
-msgid "Crylink"
+#: qcsrc/client/hud.qc:1753
+#, c-format
+msgid "^1%s^1 was conserved by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:275 qcsrc/server/w_nex.qc:2
-msgid "Nex"
+#: qcsrc/client/hud.qc:1759
+#, c-format
+msgid "^1%s^1 was thrown into a world of hurt by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:276 qcsrc/server/w_hagar.qc:2
-msgid "Hagar"
+#: qcsrc/client/hud.qc:1763
+#, c-format
+msgid "^1%s^1 was crushed by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:277 qcsrc/server/w_rocketlauncher.qc:2
-msgid "Rocket Launcher"
+#: qcsrc/client/hud.qc:1767
+#, c-format
+msgid "^1%s^1 got shredded by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:278 qcsrc/server/w_porto.qc:2
-msgid "Port-O-Launch"
+#: qcsrc/client/hud.qc:1771
+#, c-format
+msgid "^1%s^1 was blasted to bits by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:279
-msgid "Minstanex"
+#: qcsrc/client/hud.qc:1775
+#, c-format
+msgid "^1%s^1 got caught in the destruction of %s^1's vehicle\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:280
-msgid "Hook"
+#: qcsrc/client/hud.qc:1779
+#, c-format
+msgid "^1%s^1 was bolted down by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:281 qcsrc/server/w_fireball.qc:2
-msgid "Fireball"
+#: qcsrc/client/hud.qc:1783
+#, c-format
+msgid "^1%s^1 could find no shelter from %s^1's rockets\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:282
-msgid "HLAC"
+#: qcsrc/client/hud.qc:1787
+#, c-format
+msgid "^1%s^1 dies when %s^1's wakizashi dies.\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:283 qcsrc/server/w_rifle.qc:2
-msgid "Rifle"
+#: qcsrc/client/hud.qc:1791
+#, c-format
+msgid "^1%s^1 nailed to hell by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:284 qcsrc/server/w_minelayer.qc:2
-msgid "Mine Layer"
+#: qcsrc/client/hud.qc:1795
+#, c-format
+msgid "^1%s^1 cluster crushed by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:290
-msgid "Invisibility"
+#: qcsrc/client/hud.qc:1799
+#, c-format
+msgid "^1%s^1 dies when %s^1's raptor dies.\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:291
-msgid "Extra life"
+#: qcsrc/client/hud.qc:1803
+#, c-format
+msgid "^1%s^1 was pushed into the line of fire by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:292
-msgid "Speed"
+#: qcsrc/client/hud.qc:1807
+#, c-format
+msgid "^1%s^1 was pushed into an accident by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:293
-msgid "Strength"
+#: qcsrc/client/hud.qc:1811
+#, c-format
+msgid "^1%s^1 was unfairly eliminated by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:294
-msgid "Shield"
+#: qcsrc/client/hud.qc:1815
+#, c-format
+msgid "^1%s^1 was burnt to death by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:295
-msgid "Fuel regen"
+#: qcsrc/client/hud.qc:1827
+#, c-format
+msgid "^1%s^1 was fragged by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:296
-msgid "Jet Pack"
+#: qcsrc/client/hud.qc:1832
+#, c-format
+msgid "^1%s^1's %s scoring spree was ended by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:297
-msgid "Frozen!"
+#: qcsrc/client/hud.qc:1834
+#, c-format
+msgid "^1%s^1's %s kill spree was ended by %s\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:298
-msgid "Tagged"
+#: qcsrc/client/hud.qc:1837
+#, c-format
+msgid "^1%s^1 made %s scores in a row\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:299
-msgid "Vehicle"
+#: qcsrc/client/hud.qc:1839
+#, c-format
+msgid "^1%s^1 has %s frags in a row\n"
 msgstr ""
 
-#: qcsrc/client/waypointsprites.qc:560
+#: qcsrc/client/hud.qc:1842
 #, c-format
-msgid "%s needing help!"
+msgid "%s^7 made a ^1TRIPLE SCORE\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:30
-msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+#: qcsrc/client/hud.qc:1844
+#, c-format
+msgid "%s^7 made a ^1TRIPLE FRAG\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:56
-msgid ""
-"^3Your engine build is outdated\n"
-"^3This Server uses a newer QC VM. Please update!\n"
+#: qcsrc/client/hud.qc:1847
+#, c-format
+msgid "%s^7 unleashes ^1SCORING RAGE\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:66
+#: qcsrc/client/hud.qc:1849
 #, c-format
-msgid "^4CSQC Build information: ^1%s\n"
+msgid "%s^7 unleashes ^1RAGE\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:237 qcsrc/client/Main.qc:253
+#: qcsrc/client/hud.qc:1852
 #, c-format
-msgid "trying to switch to unsupported team %d\n"
+msgid "%s^7 made ^1TEN SCORES IN A ROW!\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:369 qcsrc/client/scoreboard.qc:241
-msgid "Usage:\n"
+#: qcsrc/client/hud.qc:1854
+#, c-format
+msgid "%s^7 starts the ^1MASSACRE!\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:370
-msgid "hud_save configname   (saves to hud_skinname_configname.cfg)\n"
+#: qcsrc/client/hud.qc:1857
+#, c-format
+msgid "%s^7 made ^1FIFTEEN SCORES IN A ROW!\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:494
-msgid "Usage: cl_cmd COMMAND..., where possible commands are:\n"
+#: qcsrc/client/hud.qc:1859
+#, c-format
+msgid "%s^7 executes ^1MAYHEM!\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:495
-msgid "  settemp cvar value\n"
+#: qcsrc/client/hud.qc:1862
+#, c-format
+msgid "%s^7 made ^1TWENTY SCORES IN A ROW!\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:496
-msgid "  scoreboard_columns_set ...\n"
+#: qcsrc/client/hud.qc:1864
+#, c-format
+msgid "%s^7 is a ^1BERSERKER!\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:497
-msgid "  scoreboard_columns_help\n"
+#: qcsrc/client/hud.qc:1867
+#, c-format
+msgid "%s^7 made ^1TWENTY FIVE SCORES IN A ROW!\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:726
+#: qcsrc/client/hud.qc:1869
 #, c-format
-msgid "A CSQC entity changed its owner! (edict: %d, classname: %s)\n"
+msgid "%s^7 inflicts ^1CARNAGE!\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:953
+#: qcsrc/client/hud.qc:1872
 #, c-format
-msgid "A CSQC entity changed its type! (edict: %d, classname: %s)\n"
+msgid "%s^7 made ^1THIRTY SCORES IN A ROW!\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:994
+#: qcsrc/client/hud.qc:1874
 #, c-format
-msgid ""
-"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: %"
-"s)\n"
+msgid "%s^7 unleashes ^1ARMAGEDDON!\n"
 msgstr ""
 
-#: qcsrc/client/Main.qc:1463
+#: qcsrc/client/hud.qc:1882
 #, c-format
-msgid "%s (not bound)"
+msgid "^1%s^1 was in the water for too long\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:19
-msgid "SCO^bckills"
+#: qcsrc/client/hud.qc:1884
+#, c-format
+msgid "^1%s^1 drowned\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:20
-msgid "SCO^bctime"
+#: qcsrc/client/hud.qc:1889
+#, c-format
+msgid "^1%s^1 was slimed\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:21
-msgid "SCO^caps"
+#: qcsrc/client/hud.qc:1895
+#, c-format
+msgid "^1%s^1 found a hot place\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:22
-msgid "SCO^deaths"
+#: qcsrc/client/hud.qc:1897
+#, c-format
+msgid "^1%s^1 turned into hot slag\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:23
-msgid "SCO^destroyed"
+#: qcsrc/client/hud.qc:1904
+#, c-format
+msgid "^1%s^1 tested gravity (and it worked)\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:24
-msgid "SCO^drops"
+#: qcsrc/client/hud.qc:1906
+#, c-format
+msgid "^1%s^1 hit the ground with a crunch\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:25
-msgid "SCO^faults"
+#: qcsrc/client/hud.qc:1911
+#, c-format
+msgid "^1%s^1 became a shooting star\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:26
-msgid "SCO^fckills"
+#: qcsrc/client/hud.qc:1917
+#, c-format
+msgid "^1%s^1 discovered a swamp\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:27
-msgid "SCO^goals"
+#: qcsrc/client/hud.qc:1919
+#, c-format
+msgid "^1%s^1 is now conserved for centuries to come\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:28
-msgid "SCO^kckills"
+#: qcsrc/client/hud.qc:1924
+#, c-format
+msgid "^1%s^1 was mowed down by a turret \n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:29
-msgid "SCO^kdratio"
+#: qcsrc/client/hud.qc:1936
+#, c-format
+msgid "^1%s^1 died in an accident\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:30
-msgid "SCO^k/d"
+#: qcsrc/client/hud.qc:1940
+#, c-format
+msgid "^1%s^1 was unfairly eliminated\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:31
-msgid "SCO^kd"
+#: qcsrc/client/hud.qc:1946
+#, c-format
+msgid "^1%s^1 felt a little hot\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:32
-msgid "SCO^kdr"
+#: qcsrc/client/hud.qc:1948
+#, c-format
+msgid "^1%s^1 burnt to death\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:33
-msgid "SCO^kills"
+#: qcsrc/client/hud.qc:1955
+#, c-format
+msgid "^1%s^1 needs a restart\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:34
-msgid "SCO^laps"
+#: qcsrc/client/hud.qc:1962
+#, c-format
+msgid "^1%s^1 needs a restart after a %d scoring spree\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:35
-msgid "SCO^lives"
+#: qcsrc/client/hud.qc:1964
+#, c-format
+msgid "^1%s^1 died with a %d kill spree\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:36
-msgid "SCO^losses"
+#: qcsrc/client/hud.qc:1968
+#, c-format
+msgid "%s^7 got the %s\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:37
-msgid "SCO^name"
+#: qcsrc/client/hud.qc:1971
+#, c-format
+msgid "%s^7 lost the %s\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:38
-msgid "SCO^nick"
+#: qcsrc/client/hud.qc:1974
+#, c-format
+msgid "%s^7 picked up the %s\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:39
-msgid "SCO^objectives"
+#: qcsrc/client/hud.qc:1977
+#, c-format
+msgid "%s^7 returned the %s\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:40
-msgid "SCO^pickups"
+#: qcsrc/client/hud.qc:1980
+#, c-format
+msgid "%s^7 captured the %s%s\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:41
-msgid "SCO^ping"
+#: qcsrc/client/hud.qc:1999
+#, c-format
+msgid "%s^7 has picked up the ball!\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:42
-msgid "SCO^pl"
+#: qcsrc/client/hud.qc:2004
+#, c-format
+msgid "%s^7 has dropped the ball!\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:43
-msgid "SCO^pushes"
+#: qcsrc/client/hud.qc:2017
+#, c-format
+msgid "You are now on: %s"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:44
-msgid "SCO^rank"
+#: qcsrc/client/hud.qc:2019
+#, c-format
+msgid ""
+"You have been moved into a different team to improve team balance\n"
+"You are now on: %s"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:45
-msgid "SCO^returns"
+#: qcsrc/client/hud.qc:2022
+msgid "^1Reconsider your tactics, camper!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:46
-msgid "SCO^revivals"
+#: qcsrc/client/hud.qc:2024
+msgid "^1Die camper!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:47
-msgid "SCO^score"
+#: qcsrc/client/hud.qc:2027
+msgid "^1You are reinserted into the game for running out of ammo..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:48
-msgid "SCO^suicides"
+#: qcsrc/client/hud.qc:2029
+msgid "^1You were killed for running out of ammo..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:49
-msgid "SCO^takes"
+#: qcsrc/client/hud.qc:2032
+msgid "^1You need to preserve your health"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:50
-msgid "SCO^ticks"
+#: qcsrc/client/hud.qc:2034
+msgid "^1You grew too old without taking your medicine"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:239
-msgid ""
-"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+#: qcsrc/client/hud.qc:2037
+msgid "^1Don't go against team mates!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:240
-msgid "^3|---------------------------------------------------------------|\n"
+#: qcsrc/client/hud.qc:2039
+msgid "^1Don't shoot your team mates!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:242
-msgid "^2scoreboard_columns_set default\n"
+#: qcsrc/client/hud.qc:2044
+msgid "^1You need to be more careful!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:243
-msgid "^2scoreboard_columns_set ^7filed1 field2 ...\n"
+#: qcsrc/client/hud.qc:2046
+msgid "^1You killed your own dumb self!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:244
-msgid "The following field names are recognized (case insensitive):\n"
+#: qcsrc/client/hud.qc:2051
+#, c-format
+msgid "^1Moron! You went against ^7%s^1, a team mate!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:245
-msgid ""
-"You can use a ^3|^7 to start the right-aligned fields.\n"
-"\n"
+#: qcsrc/client/hud.qc:2053
+#, c-format
+msgid "^1Moron! You fragged ^7%s^1, a team mate!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:247
-msgid "^3name^7 or ^3nick^7         Name of a player\n"
+#: qcsrc/client/hud.qc:2057
+msgid "^1First score"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:248
-msgid "^3ping^7                     Ping time\n"
+#: qcsrc/client/hud.qc:2059
+msgid "^1First blood"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:249
-msgid "^3pl^7                       Packet loss\n"
+#: qcsrc/client/hud.qc:2063
+msgid "^1First casualty"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:250
-msgid "^3kills^7                    Number of kills\n"
+#: qcsrc/client/hud.qc:2065
+msgid "^1First victim"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:251
-msgid "^3deaths^7                   Number of deaths\n"
+#: qcsrc/client/hud.qc:2069
+#, c-format
+msgid "^1You scored against ^7%s^1 who was typing!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:252
-msgid "^3suicides^7                 Number of suicides\n"
+#: qcsrc/client/hud.qc:2071
+#, c-format
+msgid "^1You typefragged ^7%s"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:253
-msgid "^3frags^7                    kills - suicides\n"
+#: qcsrc/client/hud.qc:2075
+#, c-format
+msgid "^1You were scored against by ^7%s^1 while you were typing!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:254
-msgid "^3kd^7                       The kill-death ratio\n"
+#: qcsrc/client/hud.qc:2077
+#, c-format
+msgid "^1You were typefragged by ^7%s"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:255
-msgid ""
-"^3caps^7                     How often a flag (CTF) or a key (KeyHunt) was "
-"captured\n"
+#: qcsrc/client/hud.qc:2081
+#, c-format
+msgid "^4You scored against ^7%s"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:256
-msgid ""
-"^3pickups^7                  How often a flag (CTF) or a key (KeyHunt) or a "
-"ball (Keepaway) was picked up\n"
+#: qcsrc/client/hud.qc:2083
+#, c-format
+msgid "^4You fragged ^7%s"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:257
-msgid "^3fckills^7                  Number of flag carrier kills\n"
+#: qcsrc/client/hud.qc:2087
+#, c-format
+msgid "^1You were scored against by ^7%s"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:258
-msgid "^3returns^7                  Number of flag returns\n"
+#: qcsrc/client/hud.qc:2089
+#, c-format
+msgid "^1You were fragged by ^7%s"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:259
-msgid "^3drops^7                    Number of flag drops\n"
+#: qcsrc/client/hud.qc:2094
+msgid "^1Watch your step!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:260
-msgid "^3lives^7                    Number of lives (LMS)\n"
+#: qcsrc/client/hud.qc:2162 qcsrc/client/hud.qc:2163 qcsrc/client/hud.qc:2646
+#, c-format
+msgid "Player %d"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:261
-msgid "^3rank^7                     Player rank\n"
+#: qcsrc/client/hud.qc:2949
+msgid "^1Intermediate 1 (+15.42)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:262
-msgid "^3pushes^7                   Number of players pushed into void\n"
+#: qcsrc/client/hud.qc:2951 qcsrc/client/hud.qc:2993 qcsrc/client/hud.qc:3034
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:263
-msgid ""
-"^3destroyed^7                Number of keys destroyed by pushing them into "
-"void\n"
+#: qcsrc/client/hud.qc:3036
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:264
-msgid "^3kckills^7                  Number of keys carrier kills\n"
+#: qcsrc/client/hud.qc:3064
+msgid "^1You must answer before entering hud configure mode\n"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:265
-msgid "^3losses^7                   Number of times a key was lost\n"
+#: qcsrc/client/hud.qc:3067
+msgid "^2Name ^7instead of \"^1Unregistered player^7\" in stats"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:266
-msgid "^3laps^7                     Number of laps finished (race/cts)\n"
+#: qcsrc/client/hud.qc:3148
+msgid "A vote has been called for:"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:267
-msgid "^3time^7                     Total time raced (race/cts)\n"
+#: qcsrc/client/hud.qc:3150
+msgid "Allow servers to store and display your name?"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:268
-msgid "^3fastest^7                  Time of fastest lap (race/cts)\n"
+#: qcsrc/client/hud.qc:3154
+msgid "^1Configure the HUD"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:269
-msgid "^3ticks^7                    Number of ticks (DOM)\n"
+#: qcsrc/client/hud.qc:3158
+#, c-format
+msgid "Yes (%s): %d"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:270
-msgid "^3takes^7                    Number of domination points taken (DOM)\n"
+#: qcsrc/client/hud.qc:3160
+#, c-format
+msgid "No (%s): %d"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:271
-msgid "^3bckills^7                  Number of ball carrier kills\n"
+#: qcsrc/client/hud.qc:3667 qcsrc/client/hud.qc:3670 qcsrc/client/hud.qc:3672
+msgid "Personal best"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:272
-msgid ""
-"^3bctime^7                   Total amount of time holding the ball in "
-"Keepaway\n"
+#: qcsrc/client/hud.qc:3685 qcsrc/client/hud.qc:3688 qcsrc/client/hud.qc:3690
+msgid "Server best"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:273
-msgid ""
-"^3score^7                    Total score\n"
-"\n"
+#: qcsrc/client/hud.qc:4031
+msgid "^3Player^7: This is the chat area."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:275
-msgid ""
-"Before a field you can put a + or - sign, then a comma separated list\n"
-"of game types, then a slash, to make the field show up only in these\n"
-"or in all but these game types. You can also specify 'all' as a\n"
-"field to show all fields available for the current game mode.\n"
-"\n"
+#: qcsrc/client/hud.qc:4098
+#, c-format
+msgid "FPS: %.*f"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:280
-msgid ""
-"The special game type names 'teams' and 'noteams' can be used to\n"
-"include/exclude ALL teams/noteams game modes.\n"
-"\n"
+#: qcsrc/client/hud.qc:4164
+msgid "^1Observing"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:283
-msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+#: qcsrc/client/hud.qc:4166
+#, c-format
+msgid "^1Spectating: ^7%s"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:284
-msgid ""
-"will display name, ping and pl aligned to the left, and the fields\n"
-"right of the vertical bar aligned to the right.\n"
+#: qcsrc/client/hud.qc:4170
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:286
-msgid ""
-"'field3' will only be shown in CTF, and 'field4' will be shown in all\n"
-"other gamemodes except DM.\n"
+#: qcsrc/client/hud.qc:4172
+#, c-format
+msgid "^1Press ^3%s^1 for another player"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:432 qcsrc/client/scoreboard.qc:447
-#: qcsrc/client/scoreboard.qc:457 qcsrc/client/scoreboard.qc:466
-#: qcsrc/client/scoreboard.qc:475
+#: qcsrc/client/hud.qc:4176
 #, c-format
-msgid "fixed missing field '%s'\n"
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:515 qcsrc/client/scoreboard.qc:522
-msgid "N/A"
+#: qcsrc/client/hud.qc:4178
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:949
+#: qcsrc/client/hud.qc:4181
 #, c-format
-msgid "Accuracy stats (average %d%%)"
+msgid "^1Press ^3%s^1 for gamemode info"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1014
-#, c-format
-msgid "%d%%"
+#: qcsrc/client/hud.qc:4185
+msgid "^1Wait for your turn to join"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1074
-msgid "Rankings"
+#: qcsrc/client/hud.qc:4191
+msgid "^1Match has already begun"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1165 qcsrc/client/scoreboard.qc:1167
-msgid "Scoreboard"
+#: qcsrc/client/hud.qc:4193
+msgid "^1You have no more lives left"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1208
+#: qcsrc/client/hud.qc:4195 qcsrc/client/hud.qc:4198
 #, c-format
-msgid "Speed award: %d ^7(%s^7)"
+msgid "^1Press ^3%s^1 to join"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1212
+#: qcsrc/client/hud.qc:4206
 #, c-format
-msgid "All-time fastest: %d ^7(%s^7)"
+msgid "^1Game starts in ^3%d^1 seconds"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1246
+#: qcsrc/client/hud.qc:4213
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr ""
+
+#: qcsrc/client/hud.qc:4228
 #, c-format
-msgid "playing on ^2%s^7"
+msgid "%sPress ^3%s%s to end warmup"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1253 qcsrc/client/scoreboard.qc:1258
+#: qcsrc/client/hud.qc:4230
 #, c-format
-msgid " for up to ^1%1.0f minutes^7"
+msgid "%sPress ^3%s%s once you are ready"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1262 qcsrc/client/scoreboard.qc:1281
-msgid " or"
+#: qcsrc/client/hud.qc:4235
+msgid "^2Waiting for others to ready up to end warmup..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1265 qcsrc/client/scoreboard.qc:1272
-#, c-format
-msgid " until ^3%s %s^7"
+#: qcsrc/client/hud.qc:4237
+msgid "^2Waiting for others to ready up..."
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1266 qcsrc/client/scoreboard.qc:1273
-#: qcsrc/client/scoreboard.qc:1285 qcsrc/client/scoreboard.qc:1292
-msgid "SCO^points"
+#: qcsrc/client/hud.qc:4243
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1267 qcsrc/client/scoreboard.qc:1274
-#: qcsrc/client/scoreboard.qc:1286 qcsrc/client/scoreboard.qc:1293
-msgid "SCO^is beaten"
+#: qcsrc/client/hud.qc:4264
+msgid "Teamnumbers are unbalanced!"
 msgstr ""
 
-#: qcsrc/client/scoreboard.qc:1284 qcsrc/client/scoreboard.qc:1291
+#: qcsrc/client/hud.qc:4269
 #, c-format
-msgid " until a lead of ^3%s %s^7"
+msgid " Press ^3%s%s to adjust"
 msgstr ""
 
-#: qcsrc/server/w_crylink.qc:664
-#, c-format
-msgid "%s succeeded at self-destructing themself with the Crylink"
+#: qcsrc/client/hud.qc:4277
+msgid "^7Press ^3ESC ^7to show HUD options."
 msgstr ""
 
-#: qcsrc/server/w_crylink.qc:669
-#, c-format
-msgid "%s could not hide from %s's Crylink"
+#: qcsrc/client/hud.qc:4279
+msgid "^3Doubleclick ^7a panel for panel-specific options."
 msgstr ""
 
-#: qcsrc/server/w_crylink.qc:671
-#, c-format
-msgid "%s was too close to %s's Crylink"
+#: qcsrc/client/hud.qc:4281
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
 msgstr ""
 
-#: qcsrc/server/w_crylink.qc:673
-#, c-format
-msgid "%s took a close look at %s's Crylink"
+#: qcsrc/client/hud.qc:4283
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
 msgstr ""
 
-#: qcsrc/server/w_tuba.qc:2
-#, c-format
-msgid "@!#%'n Tuba"
+#: qcsrc/client/hud.qc:4319
+msgid " qu/s"
 msgstr ""
 
-#: qcsrc/server/w_tuba.qc:263
-#, c-format
-msgid "%s hurt his own ears with the @!#%%'n Tuba"
+#: qcsrc/client/hud.qc:4323
+msgid " m/s"
 msgstr ""
 
-#: qcsrc/server/w_tuba.qc:267
-#, c-format
-msgid "%s died of %s's great playing on the @!#%%'n Tuba"
+#: qcsrc/client/hud.qc:4327
+msgid " km/h"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_hook.qc:266
-#: qcsrc/server/w_porto.qc:296 qcsrc/server/w_uzi.qc:317
-#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
-#, c-format
-msgid "%s did the impossible"
+#: qcsrc/client/hud.qc:4331
+msgid " mph"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:207
-#, c-format
-msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
+#: qcsrc/client/hud.qc:4335
+msgid " knots"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/client/hud.qc:4686
+msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+msgstr ""
+
+#: qcsrc/client/target_music.qc:93 qcsrc/client/target_music.qc:181
 #, c-format
-msgid "%s was gunned by %s"
+msgid "Cannot initialize sound %s\n"
 msgstr ""
 
 #: qcsrc/server/w_rifle.qc:233
@@ -1711,103 +1660,129 @@ msgstr ""
 msgid "%s was sniped by %s"
 msgstr ""
 
-#: qcsrc/server/w_hook.qc:2
-msgid "Grappling Hook"
+#: qcsrc/server/w_uzi.qc:317 qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#, c-format
+msgid "%s is now thinking with portals"
 msgstr ""
 
-#: qcsrc/server/w_hook.qc:268
+#: qcsrc/server/w_uzi.qc:323
 #, c-format
-msgid "%s has run into %s's gravity bomb"
+msgid "%s was riddled full of holes by %s"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:417
+#: qcsrc/server/w_rocketlauncher.qc:501 qcsrc/server/w_minelayer.qc:523
 #, c-format
-msgid "%s forgot about some firemine"
+msgid "%s exploded"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240
+#: qcsrc/server/w_rocketlauncher.qc:505
 #, c-format
-msgid "%s should have used a smaller gun"
+msgid "%s got too close to %s's rocket"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:426
+#: qcsrc/server/w_rocketlauncher.qc:507
 #, c-format
-msgid "%s tried to catch %s's firemine"
+msgid "%s almost dodged %s's rocket"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:428
+#: qcsrc/server/w_rocketlauncher.qc:509
 #, c-format
-msgid "%s fatefully ignored %s's firemine"
+msgid "%s ate %s's rocket"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:435
+#: qcsrc/server/w_porto.qc:296 qcsrc/server/w_hook.qc:266
 #, c-format
-msgid "%s could not hide from %s's fireball"
+msgid "%s did the impossible"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:437
+#: qcsrc/server/w_porto.qc:298
 #, c-format
-msgid "%s saw the pretty lights of %s's fireball"
+msgid "%s felt %s doing the impossible to him"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:440
+#: qcsrc/server/w_hook.qc:2
+msgid "Grappling Hook"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:268
 #, c-format
-msgid "%s got too close to %s's fireball"
+msgid "%s has run into %s's gravity bomb"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:442
+#: qcsrc/server/w_electro.qc:577
 #, c-format
-msgid "%s tasted %s's fireball"
+msgid "%s could not remember where they put plasma"
 msgstr ""
 
-#: qcsrc/server/w_porto.qc:298
+#: qcsrc/server/w_electro.qc:579
 #, c-format
-msgid "%s felt %s doing the impossible to him"
+msgid "%s played with plasma"
 msgstr ""
 
-#: qcsrc/server/w_grenadelauncher.qc:379
+#: qcsrc/server/w_electro.qc:586
 #, c-format
-msgid "%s tried out his own grenade"
+msgid "%s just noticed %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_grenadelauncher.qc:381
+#: qcsrc/server/w_electro.qc:588
 #, c-format
-msgid "%s detonated"
+msgid "%s got in touch with %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_grenadelauncher.qc:387
+#: qcsrc/server/w_electro.qc:593
 #, c-format
-msgid "%s didn't see %s's grenade"
+msgid "%s felt the electrifying air of %s's combo"
 msgstr ""
 
-#: qcsrc/server/w_grenadelauncher.qc:389
+#: qcsrc/server/w_electro.qc:595
 #, c-format
-msgid "%s almost dodged %s's grenade"
+msgid "%s got too close to %s's blue beam"
 msgstr ""
 
-#: qcsrc/server/w_grenadelauncher.qc:391
+#: qcsrc/server/w_electro.qc:597
 #, c-format
-msgid "%s ate %s's grenade"
+msgid "%s was blasted by %s's blue beam"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr ""
 
-#: qcsrc/server/w_uzi.qc:323
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
-msgid "%s was riddled full of holes by %s"
+msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
+msgstr ""
+
+#: qcsrc/server/w_shotgun.qc:215
+#, c-format
+msgid "%s was gunned by %s"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:2
+#, c-format
+msgid "@!#%'n Tuba"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:263
+#, c-format
+msgid "%s hurt his own ears with the @!#%%'n Tuba"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:267
+#, c-format
+msgid "%s died of %s's great playing on the @!#%%'n Tuba"
 msgstr ""
 
 #: qcsrc/server/w_minstanex.qc:2
@@ -1819,68 +1794,63 @@ msgstr ""
 msgid "%s has been vaporized by %s"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_crylink.qc:664
 #, c-format
-msgid "%s could not remember where they put plasma"
+msgid "%s succeeded at self-destructing themself with the Crylink"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_crylink.qc:669
 #, c-format
-msgid "%s played with plasma"
+msgid "%s could not hide from %s's Crylink"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_crylink.qc:671
 #, c-format
-msgid "%s just noticed %s's blue ball"
+msgid "%s was too close to %s's Crylink"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_crylink.qc:673
 #, c-format
-msgid "%s got in touch with %s's blue ball"
+msgid "%s took a close look at %s's Crylink"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:587
-#, c-format
-msgid "%s felt the electrifying air of %s's combo"
+#: qcsrc/server/w_hlac.qc:2
+msgid "Heavy Laser Assault Cannon"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_hlac.qc:240 qcsrc/server/w_fireball.qc:419
 #, c-format
-msgid "%s got too close to %s's blue beam"
+msgid "%s should have used a smaller gun"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_hlac.qc:242
 #, c-format
-msgid "%s was blasted by %s's blue beam"
+msgid "%s was cut down by %s"
 msgstr ""
 
-#: qcsrc/server/w_rocketlauncher.qc:501 qcsrc/server/w_minelayer.qc:522
+#: qcsrc/server/w_grenadelauncher.qc:379
 #, c-format
-msgid "%s exploded"
+msgid "%s tried out his own grenade"
 msgstr ""
 
-#: qcsrc/server/w_rocketlauncher.qc:505
+#: qcsrc/server/w_grenadelauncher.qc:381
 #, c-format
-msgid "%s got too close to %s's rocket"
+msgid "%s detonated"
 msgstr ""
 
-#: qcsrc/server/w_rocketlauncher.qc:507
+#: qcsrc/server/w_grenadelauncher.qc:387
 #, c-format
-msgid "%s almost dodged %s's rocket"
+msgid "%s didn't see %s's grenade"
 msgstr ""
 
-#: qcsrc/server/w_rocketlauncher.qc:509
+#: qcsrc/server/w_grenadelauncher.qc:389
 #, c-format
-msgid "%s ate %s's rocket"
-msgstr ""
-
-#: qcsrc/server/w_hlac.qc:2
-msgid "Heavy Laser Assault Cannon"
+msgid "%s almost dodged %s's grenade"
 msgstr ""
 
-#: qcsrc/server/w_hlac.qc:242
+#: qcsrc/server/w_grenadelauncher.qc:391
 #, c-format
-msgid "%s was cut down by %s"
+msgid "%s ate %s's grenade"
 msgstr ""
 
 #: qcsrc/server/w_hagar.qc:382 qcsrc/server/w_seeker.qc:655
@@ -1907,17 +1877,52 @@ msgstr ""
 msgid "%s was tagged by %s"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_fireball.qc:417
+#, c-format
+msgid "%s forgot about some firemine"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:426
+#, c-format
+msgid "%s tried to catch %s's firemine"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:428
+#, c-format
+msgid "%s fatefully ignored %s's firemine"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:435
+#, c-format
+msgid "%s could not hide from %s's fireball"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:437
+#, c-format
+msgid "%s saw the pretty lights of %s's fireball"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:440
+#, c-format
+msgid "%s got too close to %s's fireball"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:442
+#, c-format
+msgid "%s tasted %s's fireball"
+msgstr ""
+
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr ""
index 7669684dd629d32f65a8a08438af50b84a02a2a6..a536af133f8faa85618b1401edb72f84b032208c 100644 (file)
@@ -1966,6 +1966,7 @@ set speedmeter 0 "print landing speeds"
 set developer_shtest 0 "experimental speedhack detection"
 set waypoint_benchmark 0 "quit after waypoint loading to benchmark bot navigation code"
 set g_debug_bot_commands 0 "print scripted bot commands before executing"
+set g_debug_defaultsounds 0 "always use default sounds"
 
 // debug cvars for keyhunt attaching
 set _angles "0 0 0"
@@ -2135,6 +2136,10 @@ set g_playerstats_debug 0 "when 1, player stats are dumped to the console too"
 // create this cvar in case the engine did not
 set snd_soundradius 1200
 
+// declare the channels we use
+seta snd_channel8volume 1 "QuakeC controlled background music volume"
+seta snd_channel9volume 1 "QuakeC controlled ambient sound volume"
+
 // loading screen
 scr_loadingscreen_background 0
 scr_loadingscreen_barcolor "0 0.5 1"
@@ -2154,6 +2159,7 @@ exec ctfscoring-ai.cfg
 exec effects-normal.cfg
 exec physicsX.cfg
 exec turrets.cfg
+exec vehicles.cfg
 
 // hud cvar descriptions
 exec _hud_descriptions.cfg
index 10ba4faf4ba1da1337eb165f4a8dc6af12760047..79ddeb1136e6356575b3d79743e8816b0724d821 100644 (file)
@@ -7,14 +7,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 0.1preview\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:06+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+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"
+"Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: de\n"
 
 #: qcsrc/menu/gamecommand.qc:47
 #, c-format
@@ -1927,14 +1927,12 @@ msgid "Motion blur:"
 msgstr "Bewegungsunschärfe:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:187
-#, fuzzy
 msgid "Damage & water blur"
-msgstr "Schadensunschärfe:"
+msgstr "Schadens-Unschärfe"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:188
-#, fuzzy
 msgid "Powerup sharpen"
-msgstr "Bonus-Panel"
+msgstr "Bonus-Schärfe"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:26
 msgid "Key bindings:"
@@ -2521,37 +2519,37 @@ msgstr "%s schaute sich %ss Crylink sehr genau an"
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr "%s vergaß, wo er das Plasma hingetan hatte"
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr "%s spielte mit Plasma"
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr "%s hat gerade %ss blaue Kugel bemerkt"
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr "%s kam mit %ss blauer Kugel in Kontakt"
 
-#: qcsrc/server/w_electro.qc:587
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr "%s hat gespürt, wie %ss Combo die Luft elektrisierte"
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr "%s kam zu nah an %ss blauen Strahl"
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr "%s wurde von %ss blauen Strahl erwischt"
@@ -2661,9 +2659,7 @@ msgstr "^1%s^1 wurde von %s^1 niedergehauen"
 msgid "Grappling Hook"
 msgstr "Grappling Hook"
 
-#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253 qcsrc/server/w_porto.qc:296
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr "%s hat das Unmögliche geschafft"
@@ -2677,17 +2673,17 @@ msgstr "%s ist in %ss Gravitationsbombe reingelaufen"
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr "%s hat sich in die Hölle gelasert"
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr "%s ist von %ss Gauntlet halbiert worden"
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr "^1%s^1 wurde von %s^1 zu Tode gelasert"
@@ -2696,22 +2692,22 @@ msgstr "^1%s^1 wurde von %s^1 zu Tode gelasert"
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/server/w_minelayer.qc:522 qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr "%s ist explodiert"
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr "%s ist %ss Mine zu nahe getreten"
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr "%s ist fast %ss Mine ausgewichen"
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr "%s ist auf %ss Mine gelatscht"
@@ -2720,6 +2716,12 @@ msgstr "%s ist auf %ss Mine gelatscht"
 msgid "MinstaNex"
 msgstr "MinstaNex"
 
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr "%s kann jetzt mit Portalen denken"
+
 #: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
@@ -2809,12 +2811,12 @@ msgstr "^1%s^1 wurde von %s^1 getagged"
 msgid "Shotgun"
 msgstr "Shotgun"
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
 msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
 msgstr "%2$1s ^7hat %1$s ^7ein wenig mit einer großen Schrotflinte geschlagen"
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_shotgun.qc:215
 #, c-format
 msgid "%s was gunned by %s"
 msgstr "^1%s^1 wurde von %s^1 erschossen"
@@ -2834,8 +2836,8 @@ msgstr ""
 #, c-format
 msgid "%s died of %s's great playing on the @!#%%'n Tuba"
 msgstr ""
-"%s ist an seinen Ohrenschmerzen, die von %ss großartigem Spiel auf der @!#%"
-"%'n Tuba stammten, gestorben"
+"%s ist an seinen Ohrenschmerzen, die von %ss großartigem Spiel auf der @!#"
+"%%'n Tuba stammten, gestorben"
 
 #: qcsrc/server/w_uzi.qc:2
 msgid "Machine Gun"
@@ -2846,17 +2848,17 @@ 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 "Sniper Rifle"
-#~ msgstr "Sniper Rifle"
+#~ msgid "Speedometer"
+#~ msgstr "Tachometer"
 
-#~ msgid "Accelerometer scale:"
-#~ msgstr "Akzelerometer-Skalierung:"
+#~ msgid "qu/s (hidden)"
+#~ msgstr "qu/s (ohne Einheit)"
 
 #~ msgid "Show accelerometer"
 #~ msgstr "Akzelerometer anzeigen"
 
-#~ msgid "qu/s (hidden)"
-#~ msgstr "qu/s (ohne Einheit)"
+#~ msgid "Accelerometer scale:"
+#~ msgstr "Akzelerometer-Skalierung:"
 
-#~ msgid "Speedometer"
-#~ msgstr "Tachometer"
+#~ msgid "Sniper Rifle"
+#~ msgstr "Sniper Rifle"
index 1c38071ff0269f4e9af03e6c70f1dcf61f4a3d35..155c4b32ac790c76238a31cfeb1f5b1041d66324 100644 (file)
@@ -7,12 +7,12 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic 0.1preview\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:06+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+0200\n"
 "Last-Translator: Rodrigo Mouton Laudin <ratogenesis@gmail.com>\n"
+"Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: es\n"
 "PO-Revisión-Date: 2011-03-24 19:40+0100\n"
 
 #: qcsrc/menu/gamecommand.qc:47
@@ -373,7 +373,7 @@ msgstr "nudos"
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
 #, fuzzy
 msgid "Show"
-msgstr "Sombras"
+msgstr "Mostrar munición"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
 #, fuzzy
@@ -486,14 +486,12 @@ msgid "Score Panel"
 msgstr "Panel de Puntos"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
-#, fuzzy
 msgid "Score:"
-msgstr "Escala:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
-#, fuzzy
 msgid "Rankings:"
-msgstr "Textura del menú:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
 #, fuzzy
@@ -505,9 +503,8 @@ msgid "And me"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
-#, fuzzy
 msgid "Pure"
-msgstr "Pausar"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
 msgid "Timer Panel"
@@ -1462,9 +1459,8 @@ msgid "Draw 1st person weapon model"
 msgstr "Dibujar modelo de arma en primera persona"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
-#, fuzzy
 msgid "Center"
-msgstr "Crear"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
 msgid "Flip view horizontally"
@@ -2604,37 +2600,37 @@ msgstr "%s miró de cerca al Crylink de %s"
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr "%s no pudo recordar donde dejó su plasma la última vez"
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr "%s jugó con plasma"
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr "%s acaba de percatarse de la bola azul de %s"
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr "%s tuvo un encuentro cercano con la bola azul de %s"
 
-#: qcsrc/server/w_electro.qc:587
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr "%s sintió el aire electrificante del combo de %s"
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr "%s estuvo demasiado cerca del rayo azul de %s"
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr "%s estuvo en estado critico por el rayo azul de %s"
@@ -2744,9 +2740,7 @@ msgstr "%s fue rebanado por %s"
 msgid "Grappling Hook"
 msgstr "Grappling Hook"
 
-#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253 qcsrc/server/w_porto.qc:296
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr "%s hizo lo imposible"
@@ -2760,17 +2754,17 @@ msgstr "%s entró a la bomba de gravedad de %s"
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr "%s se fué al infierno montado en su laser"
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr "%s fue cortado a la mitad por el gauntlet de %s"
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr "%s fue muerto por el laser de %s"
@@ -2779,22 +2773,22 @@ msgstr "%s fue muerto por el laser de %s"
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/server/w_minelayer.qc:522 qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr "%s explotó"
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr "%s estuvo cerca de la mina de %s"
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr "%s casi esquivo la mina de %s"
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr "%s caminó encima de la mina de %s"
@@ -2803,6 +2797,12 @@ msgstr "%s caminó encima de la mina de %s"
 msgid "MinstaNex"
 msgstr "MinstaNex"
 
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr ""
+
 #: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
@@ -2892,12 +2892,12 @@ msgstr "%s fue marcado por %s"
 msgid "Shotgun"
 msgstr "Escopeta"
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
 msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
 msgstr "%2$s ^7abofeteó %1$s ^7con una gran ^2shotgun"
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_shotgun.qc:215
 #, c-format
 msgid "%s was gunned by %s"
 msgstr "%s fue tiroteado por %s"
@@ -2926,26 +2926,26 @@ msgstr "Machine Gun"
 msgid "%s was riddled full of holes by %s"
 msgstr "%s fue totalmente acribillado por %s"
 
-#~ msgid "%d/%d"
-#~ msgstr "%d/%d"
-
-#~ msgid "Waypoint settings:"
-#~ msgstr "configuración de puntos de camino:"
+#~ msgid "Speedometer"
+#~ msgstr "Medidor de Velocidad"
 
-#~ msgid "%s ran into %s's flac"
-#~ msgstr "%s se cruzó con el flac de %s"
+#~ msgid "qu/s (hidden)"
+#~ msgstr "qu/s (escondido)"
 
-#~ msgid "Sniper Rifle"
-#~ msgstr "Sniper Rifle"
+#~ msgid "Show accelerometer"
+#~ msgstr "Mostrar acelerómetro"
 
 #~ msgid "Accelerometer scale:"
 #~ msgstr "Escala del acelerómetro:"
 
-#~ msgid "Show accelerometer"
-#~ msgstr "Mostrar acelerómetro"
+#~ msgid "Sniper Rifle"
+#~ msgstr "Sniper Rifle"
 
-#~ msgid "qu/s (hidden)"
-#~ msgstr "qu/s (escondido)"
+#~ msgid "%s ran into %s's flac"
+#~ msgstr "%s se cruzó con el flac de %s"
 
-#~ msgid "Speedometer"
-#~ msgstr "Medidor de Velocidad"
+#~ msgid "Waypoint settings:"
+#~ msgstr "configuración de puntos de camino:"
+
+#~ msgid "%d/%d"
+#~ msgstr "%d/%d"
index a6b4ad34f8c8a14b544ad49ed18b4c16c36a98b2..68d3b5cc9e563eb58a4e0328d2e0be5a58aa6d62 100644 (file)
@@ -8,14 +8,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 0.1preview\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:06+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Henry 'Exitium' Sanmark <henry.sanmark@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
 
 #: qcsrc/menu/gamecommand.qc:47
 #, c-format
@@ -371,7 +371,7 @@ msgstr "knots"
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
 #, fuzzy
 msgid "Show"
-msgstr "Varjot"
+msgstr "Näytä panokset"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
 #, fuzzy
@@ -484,14 +484,12 @@ msgid "Score Panel"
 msgstr "Tulospaneeli"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
-#, fuzzy
 msgid "Score:"
-msgstr "Skaala:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
-#, fuzzy
 msgid "Rankings:"
-msgstr "Päävalikon ulkoasu:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
 #, fuzzy
@@ -503,9 +501,8 @@ msgid "And me"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
-#, fuzzy
 msgid "Pure"
-msgstr "Keskeytä"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
 msgid "Timer Panel"
@@ -1444,9 +1441,8 @@ msgid "Draw 1st person weapon model"
 msgstr "Piirrä ensimmäisen persoonan asemalli"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
-#, fuzzy
 msgid "Center"
-msgstr "Luo"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
 msgid "Flip view horizontally"
@@ -2535,37 +2531,37 @@ msgstr ""
 msgid "Electro"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:587
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr ""
@@ -2677,9 +2673,7 @@ msgstr ""
 msgid "Grappling Hook"
 msgstr "Köysi"
 
-#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253 qcsrc/server/w_porto.qc:296
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr ""
@@ -2693,17 +2687,17 @@ msgstr ""
 msgid "Laser"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr ""
@@ -2713,22 +2707,22 @@ msgstr ""
 msgid "Mine Layer"
 msgstr "Yksinpeli"
 
-#: qcsrc/server/w_minelayer.qc:522 qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr ""
@@ -2738,6 +2732,12 @@ msgstr ""
 msgid "MinstaNex"
 msgstr "MinstaGib"
 
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr ""
+
 #: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
@@ -2829,12 +2829,12 @@ msgstr ""
 msgid "Shotgun"
 msgstr "Laukaukset:"
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
 msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_shotgun.qc:215
 #, c-format
 msgid "%s was gunned by %s"
 msgstr ""
@@ -2863,26 +2863,26 @@ msgstr ""
 msgid "%s was riddled full of holes by %s"
 msgstr ""
 
-#~ msgid "%d/%d"
-#~ msgstr "%d/%d"
+#~ msgid "Speedometer"
+#~ msgstr "Nopeusmittari"
 
-#~ msgid ""
-#~ "Please answer a few initial questions to enhance the game experience."
-#~ msgstr ""
-#~ "Ole hyvä ja vastaa muutamaan alustavaan kysymykseen parantaaksesi "
-#~ "pelikokemustasi."
+#~ msgid "qu/s (hidden)"
+#~ msgstr "qu/s (kätketty)"
 
-#~ msgid "Waypoint settings:"
-#~ msgstr "Välimatkojen asetukset:"
+#~ msgid "Show accelerometer"
+#~ msgstr "Näytä kiihtyvyysmittari"
 
 #~ msgid "Accelerometer scale:"
 #~ msgstr "Kiihtyvyysmittarin skaala:"
 
-#~ msgid "Show accelerometer"
-#~ msgstr "Näytä kiihtyvyysmittari"
+#~ msgid "Waypoint settings:"
+#~ msgstr "Välimatkojen asetukset:"
 
-#~ msgid "qu/s (hidden)"
-#~ msgstr "qu/s (kätketty)"
+#~ msgid ""
+#~ "Please answer a few initial questions to enhance the game experience."
+#~ msgstr ""
+#~ "Ole hyvä ja vastaa muutamaan alustavaan kysymykseen parantaaksesi "
+#~ "pelikokemustasi."
 
-#~ msgid "Speedometer"
-#~ msgstr "Nopeusmittari"
+#~ msgid "%d/%d"
+#~ msgstr "%d/%d"
index 7b093019987ba25e2569063fb04c259f85a1b196..77bd96e2a45fbcfcf8026226bf769c1a2f18b40f 100644 (file)
@@ -8,14 +8,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic 0.1preview\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:06+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+0200\n"
 "PO-Revision-Date: 2011-03-09 15:48-0500\n"
 "Last-Translator: Maxime Paradis <taximus.micro@gmail.com>\n"
 "Language-Team: French <kde-i18n-doc@kde.org>\n"
+"Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: fr\n"
 "X-Generator: Lokalize 1.2\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
@@ -379,7 +379,7 @@ msgstr "noeuds"
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
 #, fuzzy
 msgid "Show"
-msgstr "Ombres"
+msgstr "Montrer barre de munitions"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
 #, fuzzy
@@ -492,14 +492,12 @@ msgid "Score Panel"
 msgstr "Tableau des scores"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
-#, fuzzy
 msgid "Score:"
-msgstr "Échelle:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
-#, fuzzy
 msgid "Rankings:"
-msgstr "Apparences menu:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
 #, fuzzy
@@ -511,9 +509,8 @@ msgid "And me"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
-#, fuzzy
 msgid "Pure"
-msgstr "Pause"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
 msgid "Timer Panel"
@@ -1456,9 +1453,8 @@ msgid "Draw 1st person weapon model"
 msgstr "Afficher l'arme à la première personne"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
-#, fuzzy
 msgid "Center"
-msgstr "Créer"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
 msgid "Flip view horizontally"
@@ -2555,37 +2551,37 @@ msgstr "%s a voulu voir se qui se trouvait dans le Crylink de %s"
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr "%s ne se souvenait pas où il a tiré du plasma"
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr "%s a joué avec du plasma"
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr "%s vient de remarquer la boule plasma de %s"
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr "%s s'est fait toucher par la boule plasma de %s"
 
-#: qcsrc/server/w_electro.qc:587
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr "%s se sent électrisé par le combo de %s"
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr "%s a été trop près du rayon plasma de %s"
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr "%s a été désintégré à cause du rayon plasma de %s"
@@ -2697,9 +2693,7 @@ msgstr "%s s'est fait couper par %s"
 msgid "Grappling Hook"
 msgstr "Grappin"
 
-#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253 qcsrc/server/w_porto.qc:296
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr "%s a fait l'impossible"
@@ -2713,17 +2707,17 @@ msgstr "%s a été emprisonné par la bombe à gravité de %s"
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr "%s s'est suicidé au laser"
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr "%s s'est fait couper en deux par le laser de %s"
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr "%s a été désintégré par le laser de %s"
@@ -2733,22 +2727,22 @@ msgstr "%s a été désintégré par le laser de %s"
 msgid "Mine Layer"
 msgstr "Lance-Mines"
 
-#: qcsrc/server/w_minelayer.qc:522 qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr "%s a explosé"
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr "%s s'est trop approché de la mine de %s"
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr "%s a presque esquivé la mine de %s"
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr "%s a marché sur la mine de %s"
@@ -2758,6 +2752,12 @@ msgstr "%s a marché sur la mine de %s"
 msgid "MinstaNex"
 msgstr "MinstaNex"
 
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr ""
+
 #: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
@@ -2849,12 +2849,12 @@ msgstr "%s s'est fait tagguer par %s"
 msgid "Shotgun"
 msgstr "Fusil"
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
 msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
 msgstr "%2$s ^7a baffé %1$s ^7avec un ^2fusil"
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_shotgun.qc:215
 #, c-format
 msgid "%s was gunned by %s"
 msgstr "%s s'est fait fusiller par %s"
@@ -2883,26 +2883,26 @@ msgstr "Mitraillette"
 msgid "%s was riddled full of holes by %s"
 msgstr "%s s'est fait trouer par %s"
 
-#~ msgid "%d/%d"
-#~ msgstr "%d/%d"
-
-#~ msgid "Waypoint settings:"
-#~ msgstr "Paramètres Waypoint (flèches 3D sur la carte):"
+#~ msgid "Speedometer"
+#~ msgstr "Speedomètre"
 
-#~ msgid "%s ran into %s's flac"
-#~ msgstr "%s n'a pas eu peur des missiles de %s"
+#~ msgid "qu/s (hidden)"
+#~ msgstr "qu/s (caché)"
 
-#~ msgid "Sniper Rifle"
-#~ msgstr "Fusil Sniper"
+#~ msgid "Show accelerometer"
+#~ msgstr "Montrer l'accéléromètre"
 
 #~ msgid "Accelerometer scale:"
 #~ msgstr "Taille accéléromètre:"
 
-#~ msgid "Show accelerometer"
-#~ msgstr "Montrer l'accéléromètre"
+#~ msgid "Sniper Rifle"
+#~ msgstr "Fusil Sniper"
 
-#~ msgid "qu/s (hidden)"
-#~ msgstr "qu/s (caché)"
+#~ msgid "%s ran into %s's flac"
+#~ msgstr "%s n'a pas eu peur des missiles de %s"
 
-#~ msgid "Speedometer"
-#~ msgstr "Speedomètre"
+#~ msgid "Waypoint settings:"
+#~ msgstr "Paramètres Waypoint (flèches 3D sur la carte):"
+
+#~ msgid "%d/%d"
+#~ msgstr "%d/%d"
index e5b18dcd76f99d1b8273c6b7bd27d2407a949572..c59927c474aecc69c8e7cc90988cf961412228ce 100644 (file)
@@ -8,14 +8,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:06+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+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"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
 
 #: qcsrc/menu/gamecommand.qc:47
 #, c-format
@@ -371,7 +371,7 @@ msgstr "csomó"
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
 #, fuzzy
 msgid "Show"
-msgstr "Árnyékok"
+msgstr "Lőszer mutatása"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
 #, fuzzy
@@ -484,14 +484,12 @@ msgid "Score Panel"
 msgstr "Ponttáblázat"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
-#, fuzzy
 msgid "Score:"
-msgstr "Arány:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
-#, fuzzy
 msgid "Rankings:"
-msgstr "Menü felületek:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
 #, fuzzy
@@ -503,9 +501,8 @@ msgid "And me"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
-#, fuzzy
 msgid "Pure"
-msgstr "Szünet"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
 msgid "Timer Panel"
@@ -1445,9 +1442,8 @@ msgid "Draw 1st person weapon model"
 msgstr "1.személyű fegyver modell kirajzolása"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
-#, fuzzy
 msgid "Center"
-msgstr "Létrehozás"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
 msgid "Flip view horizontally"
@@ -2536,37 +2532,37 @@ msgstr ""
 msgid "Electro"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:587
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr ""
@@ -2679,9 +2675,7 @@ msgstr ""
 msgid "Grappling Hook"
 msgstr "Ragadós horog"
 
-#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253 qcsrc/server/w_porto.qc:296
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr ""
@@ -2696,17 +2690,17 @@ msgstr ""
 msgid "Laser"
 msgstr "Mester:"
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr ""
@@ -2716,22 +2710,22 @@ msgstr ""
 msgid "Mine Layer"
 msgstr "Egyjátékos"
 
-#: qcsrc/server/w_minelayer.qc:522 qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr ""
@@ -2741,6 +2735,12 @@ msgstr ""
 msgid "MinstaNex"
 msgstr "MinstaGib"
 
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr ""
+
 #: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
@@ -2832,12 +2832,12 @@ msgstr ""
 msgid "Shotgun"
 msgstr "Lövések:"
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
 msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_shotgun.qc:215
 #, c-format
 msgid "%s was gunned by %s"
 msgstr ""
@@ -2866,25 +2866,25 @@ msgstr ""
 msgid "%s was riddled full of holes by %s"
 msgstr ""
 
-#~ msgid "%d/%d"
-#~ msgstr "%d/%d"
+#~ msgid "Speedometer"
+#~ msgstr "Sebességmérő"
 
-#~ msgid "Waypoint settings:"
-#~ msgstr "Útpont beállítások:"
+#~ msgid "qu/s (hidden)"
+#~ msgstr "qu/s (rejtett)"
 
-#~ msgid ""
-#~ "Please answer a few initial questions to enhance the game experience."
-#~ msgstr ""
-#~ "A jobb játékélmény érdekében, kérlek, válaszolj pár inditó kérdésre!"
+#~ msgid "Show accelerometer"
+#~ msgstr "Gyorsulásmérő mutatása"
 
 #~ msgid "Accelerometer scale:"
 #~ msgstr "Gyorsulásmérő beosztás:"
 
-#~ msgid "Show accelerometer"
-#~ msgstr "Gyorsulásmérő mutatása"
+#~ msgid ""
+#~ "Please answer a few initial questions to enhance the game experience."
+#~ msgstr ""
+#~ "A jobb játékélmény érdekében, kérlek, válaszolj pár inditó kérdésre!"
 
-#~ msgid "qu/s (hidden)"
-#~ msgstr "qu/s (rejtett)"
+#~ msgid "Waypoint settings:"
+#~ msgstr "Útpont beállítások:"
 
-#~ msgid "Speedometer"
-#~ msgstr "Sebességmérő"
+#~ msgid "%d/%d"
+#~ msgstr "%d/%d"
index b53354d34c5f6911d4c461036ed67188eb57b37a..86860d457ca66da8466862567469b878808e2090 100644 (file)
@@ -8,14 +8,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 0.1preview\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-07-06 20:54+0200\n"
-"PO-Revision-Date: 2011-07-06 21:21+0100\n"
+"POT-Creation-Date: 2011-06-27 18:26+0200\n"
+"PO-Revision-Date: 2011-06-04 12:39+0100\n"
 "Last-Translator: Felice Sallustio <fel.sallustio@gmail.com>\n"
 "Language-Team: \n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
 "X-Poedit-Language: Italian\n"
 
 #: qcsrc/menu/gamecommand.qc:47
@@ -41,7 +41,9 @@ msgstr "error creating curl handle\n"
 
 #: qcsrc/menu/gamecommand.qc:239
 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
-msgstr "Comando non valido. Per una lista dei comandi supportati, prova menu_cmd help.\n"
+msgstr ""
+"Comando non valido. Per una lista dei comandi supportati, prova menu_cmd "
+"help.\n"
 
 #: qcsrc/menu/item/gecko.c:49
 msgid "Browser not initialized!"
@@ -50,7 +52,9 @@ msgstr "Browser non inizializzato!"
 #: qcsrc/menu/item/label.c:63
 #, c-format
 msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
-msgstr "NOTA: testo dell'etichetta %s troppo grande per l'etichetta, compresso di un fattore %f\n"
+msgstr ""
+"NOTA: testo dell'etichetta %s troppo grande per l'etichetta, compresso di un "
+"fattore %f\n"
 
 #: qcsrc/menu/item/listbox.c:300
 #, c-format
@@ -62,8 +66,7 @@ msgstr "Oggetto %d"
 msgid "%d (%s)"
 msgstr "%d (%s)"
 
-#: qcsrc/menu/item/textslider.c:29
-#: qcsrc/menu/item/textslider.c:31
+#: qcsrc/menu/item/textslider.c:29 qcsrc/menu/item/textslider.c:31
 msgid "custom"
 msgstr "personalizzato"
 
@@ -121,8 +124,14 @@ msgid "Welcome"
 msgstr "Benvenuto"
 
 #: qcsrc/menu/xonotic/dialog_firstrun.c:33
-msgid "Welcome to Xonotic, please select your language preference and enter your player name to get started.  You can change these options later through the menu system."
-msgstr "Benvenuto in Xonotic, per favore selezione la tua lingua e inserisci il tuo nome come giocatore per iniziare.  Puoi cambiare queste opzioni più tardi tramite il menu."
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
+msgstr ""
+"Benvenuto in Xonotic, per favore selezione la tua lingua e inserisci il tuo "
+"nome come giocatore per iniziare.  Puoi cambiare queste opzioni più tardi "
+"tramite il menu."
 
 #: qcsrc/menu/xonotic/dialog_firstrun.c:38
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:35
@@ -153,7 +162,7 @@ msgstr "Mostra solo il tipo corrente di munizioni"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:28
 msgid "Align icon:"
-msgstr "Allineamento icone:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:28
@@ -281,8 +290,9 @@ msgid "Entry fadetime:"
 msgstr "Durata dissolvenza:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+#, fuzzy
 msgid "Physics Panel"
-msgstr "Pannello Fisica"
+msgstr "Pannello Chat"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:21
@@ -291,8 +301,9 @@ msgid "Panel disabled"
 msgstr "Pannello disabilitato"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+#, fuzzy
 msgid "Panel enabled if not observing"
-msgstr "Pannello abilitato se non si sta osservando"
+msgstr "Pannello abilitato in modalità spettatore"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
@@ -301,8 +312,9 @@ msgid "Panel always enabled"
 msgstr "Pannello sempre abilitato"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:31
+#, fuzzy
 msgid "Status bar"
-msgstr "Barra di stato"
+msgstr "Abilita barra di stato"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:33
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:48
@@ -315,28 +327,32 @@ msgid "Right align"
 msgstr "Allinea a destra"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+#, fuzzy
 msgid "Inward align"
-msgstr "Allineamento interno"
+msgstr "Interno"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+#, fuzzy
 msgid "Outward align"
-msgstr "Allineamento esterno"
+msgstr "Esterno"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:40
+#, fuzzy
 msgid "Flip speed/acceleration positions"
-msgstr "Inverti posizioni velocità/accelerazione"
+msgstr "Inverti posizioni di vita e armatura"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44
+#, fuzzy
 msgid "Speed:"
-msgstr "Velocità:"
+msgstr "Velocità (kB/s):"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
 msgid "Include vertical speed"
-msgstr "Includi velocità verticale"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:56
 msgid "Speed unit:"
-msgstr "Unità di misura velocità:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:58
 msgid "qu/s"
@@ -359,20 +375,23 @@ msgid "knots"
 msgstr "nodi"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
+#, fuzzy
 msgid "Show"
-msgstr "Mostra"
+msgstr "Mostra munizioni"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
+#, fuzzy
 msgid "Top speed"
-msgstr "Velocità massima"
+msgstr "Velocità zoom:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:73
+#, fuzzy
 msgid "Acceleration:"
-msgstr "Accelerazione:"
+msgstr "Riflessioni:"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
 msgid "Include vertical acceleration"
-msgstr "Includi accelerazione verticale"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
 msgid "Powerups Panel"
@@ -472,23 +491,24 @@ msgstr "Pannello punteggio"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
 msgid "Score:"
-msgstr "Punteggi:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
 msgid "Rankings:"
-msgstr "Posizioni:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+#, fuzzy
 msgid "Off"
-msgstr "Off"
+msgstr "VBO^Off"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
 msgid "And me"
-msgstr "E me"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
 msgid "Pure"
-msgstr "Puro"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
 msgid "Timer Panel"
@@ -545,8 +565,9 @@ msgid "Alpha"
 msgstr "Opacità"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+#, fuzzy
 msgid "EF^Both"
-msgstr "EF^Entrambi"
+msgstr "WNR^Entrambi"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:42
 msgid "Weapon icons:"
@@ -592,29 +613,24 @@ msgstr "Setup del Panel HUD"
 msgid "Panel background defaults:"
 msgstr "Sfondo del pannello predefinito:"
 
-#: 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:575
 msgid "Background:"
 msgstr "Sfondo:"
 
 #: 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:578
+#: qcsrc/menu/xonotic/util.qc:594 qcsrc/menu/xonotic/util.qc:611
 msgid "Disable"
 msgstr "Disabilita"
 
 #: 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:583
 msgid "Color:"
 msgstr "Colore:"
 
-#: 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:591
 msgid "Border size:"
 msgstr "Dimensioni del bordo:"
 
@@ -623,13 +639,11 @@ msgstr "Dimensioni del bordo:"
 msgid "Team color:"
 msgstr "Colore team:"
 
-#: 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:617
 msgid "Test team color in configure mode"
 msgstr "Prova colore team in modalità configurazione"
 
-#: 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:620
 msgid "Padding:"
 msgstr "Riempimento:"
 
@@ -1367,7 +1381,7 @@ msgid "Damage splash:"
 msgstr "Schizzo del danno:"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:195
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:173
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:178
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:191
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:30
 #: qcsrc/menu/xonotic/dialog_settings_misc.c:41
@@ -1433,7 +1447,7 @@ msgstr "Mostra modello arma in 1ª persona"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
 msgid "Center"
-msgstr "Centro"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
 msgid "Flip view horizontally"
@@ -1505,7 +1519,7 @@ msgstr "Master:"
 msgid "Music:"
 msgstr "Musica:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:40
 msgid "VOL^Ambient:"
 msgstr "VOL^Ambiente:"
 
@@ -1513,180 +1527,180 @@ msgstr "VOL^Ambiente:"
 msgid "Info:"
 msgstr "Info:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:57
 msgid "Items:"
 msgstr "Oggetti:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:65
 msgid "Pain:"
 msgstr "Dolore:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:73
 msgid "Player:"
 msgstr "Giocatore:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:81
 msgid "Shots:"
 msgstr "Spari:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:88
 msgid "Voice:"
 msgstr "Voce:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:96
 msgid "Weapons:"
 msgstr "Armi:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:98
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:103
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
 msgid "Frequency:"
 msgstr "Frequenza:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:100
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
 msgid "8 kHz"
 msgstr "8 kHz"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:101
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
 msgid "11.025 kHz"
 msgstr "11.025 kHz"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:102
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
 msgid "16 kHz"
 msgstr "16 kHz"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:103
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
 msgid "22.05 kHz"
 msgstr "22.05 kHz"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
 msgid "24 kHz"
 msgstr "24 kHz"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
 msgid "32 kHz"
 msgstr "32 kHz"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
 msgid "44.1 kHz"
 msgstr "44.1 kHz"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:112
 msgid "48 kHz"
 msgstr "48 kHz"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:115
 msgid "Channels:"
 msgstr "Canali:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:112
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
 msgid "Mono"
 msgstr "Mono"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:113
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
 msgid "Stereo"
 msgstr "Stereo"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
 msgid "2.1"
 msgstr "2.1"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:115
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
 msgid "4"
 msgstr "4"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
 msgid "5"
 msgstr "5"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
 msgid "5.1"
 msgstr "5.1"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
 msgid "6.1"
 msgstr "6.1"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:124
 msgid "7.1"
 msgstr "7.1"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
 msgid "Swap Stereo"
 msgstr "Scambia canali stereo"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:127
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
 msgid "Headphone friendly mode"
 msgstr "Modalità cuffie"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:131
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
 msgid "Spatial voices:"
 msgstr "Voci spaziali:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:137
 msgid "VOCS^None"
 msgstr "VOCS^Nessuna"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:133
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:138
 msgid "VOCS^Taunts"
 msgstr "VOCS^Insulti"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
 msgid "VOCS^All"
 msgstr "VOCS^Tutte"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:137
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
 msgid "Taunt range:"
 msgstr "Range di insulti:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:140
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:145
 msgid "RNG^Very short"
 msgstr "RNG^Molto ristretto"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:146
 msgid "RNG^Short"
 msgstr "RNG^Ristretto"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:147
 msgid "RNG^Normal"
 msgstr "RNG^Normale"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:148
 msgid "RNG^Long"
 msgstr "RNG^Lungo"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:149
 msgid "RNG^Full"
 msgstr "RNG^Pieno"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:151
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
 msgid "Automatic taunts"
 msgstr "Insulti automatici"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:160
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:165
 msgid "Time warning:"
 msgstr "Avvertimento di tempo:"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:162
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:167
 msgid "WRN^None"
 msgstr "WRN^Nessuno"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:163
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:168
 msgid "1 minute"
 msgstr "1 minuto"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:169
 msgid "5 minutes"
 msgstr "5 minuti"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:165
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:170
 msgid "WRN^Both"
 msgstr "WNR^Entrambi"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:168
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:173
 msgid "Hit indicator"
 msgstr "Indicatore di colpo"
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:170
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:175
 msgid "Menu sounds"
 msgstr "Suoni del menu"
 
@@ -1927,12 +1941,14 @@ msgid "Motion blur:"
 msgstr "Sfocatura da movimento:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:187
+#, fuzzy
 msgid "Damage & water blur"
-msgstr "Sfocatura da danno & acqua:"
+msgstr "Sfocatura da danno:"
 
 #: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+#, fuzzy
 msgid "Powerup sharpen"
-msgstr "Powerup nitido"
+msgstr "Pannello dei Powerup"
 
 #: qcsrc/menu/xonotic/dialog_settings_input.c:26
 msgid "Key bindings:"
@@ -2268,14 +2284,15 @@ msgstr "rosa"
 msgid "spectate"
 msgstr "spettatore"
 
-#: qcsrc/menu/xonotic/mainwindow.c:35
-#: qcsrc/menu/xonotic/mainwindow.c:38
+#: qcsrc/menu/xonotic/mainwindow.c:35 qcsrc/menu/xonotic/mainwindow.c:38
 msgid "Do not press this button again!"
 msgstr "Non premere questo tasto di nuovo!"
 
 #: qcsrc/menu/xonotic/maplist.c:278
-msgid "Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
-msgstr "Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+msgstr ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
 
 #: qcsrc/menu/xonotic/maplist.c:286
 #, c-format
@@ -2283,8 +2300,12 @@ msgid "%s's Xonotic Server"
 msgstr "Server Xonotic di %s"
 
 #: qcsrc/menu/xonotic/maplist.c:291
-msgid "Huh? Can't play this (invalid game type). Refiltering so this won't happen again.\n"
-msgstr "Huh? Can't play this (invalid game type). Refiltering so this won't happen again.\n"
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
+msgstr ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
 
 #: qcsrc/menu/xonotic/playermodel.c:174
 msgid "<no model found>"
@@ -2357,7 +2378,8 @@ msgstr "Ricevuta richiesta HTTP per un invalido id %d.\n"
 #: qcsrc/menu/xonotic/util.qc:285
 #, c-format
 msgid "error receiving update notification: status is %d\n"
-msgstr "errore durante la notifica d'aggiornamento: lo stato è impostato su %d\n"
+msgstr ""
+"errore durante la notifica d'aggiornamento: lo stato è impostato su %d\n"
 
 #: qcsrc/menu/xonotic/util.qc:290
 msgid "error: received HTML instead of an update notification\n"
@@ -2467,10 +2489,8 @@ msgstr "Team Deathmatch"
 msgid "@!#%'n Tuba Throwing"
 msgstr "@!#%'n Tuba Throwing"
 
-#: 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: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
 msgid "Default"
 msgstr "Predefinito"
@@ -2515,37 +2535,37 @@ msgstr "%s ha visto da vicino il Crylink di %s"
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/server/w_electro.qc:574
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr "%s non s'è ricordato dove aveva messo il plasma"
 
-#: qcsrc/server/w_electro.qc:576
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr "%s ha giocato col plasma"
 
-#: qcsrc/server/w_electro.qc:583
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr "%s ha appena notato la palla blu di %s"
 
-#: qcsrc/server/w_electro.qc:585
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr "%s è entrato in contatto con la palla blu di %s"
 
-#: qcsrc/server/w_electro.qc:590
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr "%s ha sentito l'aria elettrificata della combo di %s"
 
-#: qcsrc/server/w_electro.qc:592
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr "%s s'è avvicinato troppo al raggio blu di %s"
 
-#: qcsrc/server/w_electro.qc:594
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr "%s è stato fatto saltare in aria dal raggio blu di %s"
@@ -2559,8 +2579,7 @@ msgstr "Fireball"
 msgid "%s forgot about some firemine"
 msgstr "%s s'è dimenticato di alcune mine infuocate"
 
-#: qcsrc/server/w_fireball.qc:419
-#: qcsrc/server/w_hlac.qc:240
+#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240
 #, c-format
 msgid "%s should have used a smaller gun"
 msgstr "%s avrebbe dovuto usare un'arma più piccola"
@@ -2628,8 +2647,7 @@ msgstr "%s ha mangiato la granata di %s"
 msgid "Hagar"
 msgstr "Hagar"
 
-#: qcsrc/server/w_hagar.qc:382
-#: qcsrc/server/w_seeker.qc:655
+#: qcsrc/server/w_hagar.qc:382 qcsrc/server/w_seeker.qc:655
 #, c-format
 msgid "%s played with tiny rockets"
 msgstr "%s ha giocato con piccoli razzi"
@@ -2639,8 +2657,7 @@ msgstr "%s ha giocato con piccoli razzi"
 msgid "%s hoped %s's missiles wouldn't bounce"
 msgstr "%s ha sperato che il missile di %s non rimbalzasse"
 
-#: qcsrc/server/w_hagar.qc:388
-#: qcsrc/server/w_seeker.qc:661
+#: qcsrc/server/w_hagar.qc:388 qcsrc/server/w_seeker.qc:661
 #, c-format
 msgid "%s was pummeled by %s"
 msgstr "%s è stato preso a pugni da %s"
@@ -2658,8 +2675,7 @@ msgstr "%s è stato abbattuto da %s"
 msgid "Grappling Hook"
 msgstr "Grappling Hook"
 
-#: qcsrc/server/w_hook.qc:266
-#: qcsrc/server/w_porto.qc:296
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr "%s ha fatto l'impossibile"
@@ -2692,8 +2708,7 @@ msgstr "%s è stato \"laserato\" alla morte da %s"
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/server/w_minelayer.qc:523
-#: qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr "%s è esploso"
@@ -2717,16 +2732,13 @@ msgstr "%s è passato sopra la mina di %s"
 msgid "MinstaNex"
 msgstr "MinstaNex"
 
-#: qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253
-#: qcsrc/server/w_shotgun.qc:209
-#: qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
 #, c-format
 msgid "%s is now thinking with portals"
-msgstr "%s sta ora pensando con i portali"
+msgstr ""
 
-#: qcsrc/server/w_minstanex.qc:292
-#: qcsrc/server/w_nex.qc:255
+#: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
 msgstr "%s è stato vaporizzato da %s"
@@ -2746,7 +2758,7 @@ msgstr "%s ha sentito %s fargli l'impossibile"
 
 #: qcsrc/server/w_rifle.qc:2
 msgid "Rifle"
-msgstr "Fucile"
+msgstr ""
 
 #: qcsrc/server/w_rifle.qc:233
 #, c-format
@@ -2778,8 +2790,7 @@ msgstr "%s non è riuscito a nascondersi dal fucile di %s"
 msgid "%s got hit in the head by %s"
 msgstr "%s ha preso un colpo in testa da %s"
 
-#: qcsrc/server/w_rifle.qc:258
-#: qcsrc/server/w_uzi.qc:321
+#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321
 #, c-format
 msgid "%s was sniped by %s"
 msgstr "%s è stato fucilato da %s"
@@ -2831,12 +2842,12 @@ msgstr "%s è stato sparato da %s"
 msgid "@!#%'n Tuba"
 msgstr "@!#%'n Tuba"
 
-#: qcsrc/server/w_tuba.qc:253
+#: qcsrc/server/w_tuba.qc:263
 #, c-format
 msgid "%s hurt his own ears with the @!#%%'n Tuba"
 msgstr "%s s'è fatto male alle orecchie con la @!#%%'n Tuba"
 
-#: qcsrc/server/w_tuba.qc:257
+#: qcsrc/server/w_tuba.qc:267
 #, c-format
 msgid "%s died of %s's great playing on the @!#%%'n Tuba"
 msgstr "%s è morto nella gran esibizione di %s con la @!#%%'n Tuba"
@@ -2850,23 +2861,29 @@ msgstr "Machine Gun"
 msgid "%s was riddled full of holes by %s"
 msgstr "%s è stato riempito di buchi da %s"
 
-#~ msgid "Waypoint settings:"
-#~ msgstr "Impostazioni dei waypoint"
+#~ msgid "Speedometer"
+#~ msgstr "Tachimetro"
+
+#~ msgid "qu/s (hidden)"
+#~ msgstr "qu/s (nascosto)"
+
+#~ msgid "Show accelerometer"
+#~ msgstr "Mostra accelerometro"
+
+#~ msgid "Accelerometer scale:"
+#~ msgstr "Scala accelerometro:"
+
+#~ msgid "Sniper Rifle"
+#~ msgstr "Sniper Rifle"
+
+#~ msgid "%d/%d"
+#~ msgstr "%d/%d"
+
 #~ msgid ""
 #~ "Please answer a few initial questions to enhance the game experience."
 #~ msgstr ""
 #~ "Per favore rispondi a poche domande iniziali per migliorare l'esperienza "
 #~ "di gioco."
-#~ msgid "%d/%d"
-#~ msgstr "%d/%d"
-#~ msgid "Sniper Rifle"
-#~ msgstr "Sniper Rifle"
-#~ msgid "Accelerometer scale:"
-#~ msgstr "Scala accelerometro:"
-#~ msgid "Show accelerometer"
-#~ msgstr "Mostra accelerometro"
-#~ msgid "qu/s (hidden)"
-#~ msgstr "qu/s (nascosto)"
-#~ msgid "Speedometer"
-#~ msgstr "Tachimetro"
 
+#~ msgid "Waypoint settings:"
+#~ msgstr "Impostazioni dei waypoint"
index a93d97a14d07f1833168150e5eec8da49a16ba79..c09e97aafa1be87fd2ec8a82809f40d7dae0f1de 100644 (file)
@@ -8,14 +8,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:06+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+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"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
 
 #: qcsrc/menu/gamecommand.qc:47
 #, c-format
@@ -373,7 +373,7 @@ msgstr "knopen"
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
 #, fuzzy
 msgid "Show"
-msgstr "Schaduwen"
+msgstr "Ammunitie tonen"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
 #, fuzzy
@@ -486,14 +486,12 @@ msgid "Score Panel"
 msgstr "Score Paneel"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
-#, fuzzy
 msgid "Score:"
-msgstr "Schaal:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
-#, fuzzy
 msgid "Rankings:"
-msgstr "Menu thema’s:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
 #, fuzzy
@@ -505,9 +503,8 @@ msgid "And me"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
-#, fuzzy
 msgid "Pure"
-msgstr "Pauze"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
 msgid "Timer Panel"
@@ -1446,9 +1443,8 @@ msgid "Draw 1st person weapon model"
 msgstr "Wapen positie"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
-#, fuzzy
 msgid "Center"
-msgstr "Maak aan"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
 msgid "Flip view horizontally"
@@ -2536,37 +2532,37 @@ msgstr ""
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:587
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr ""
@@ -2676,9 +2672,7 @@ msgstr ""
 msgid "Grappling Hook"
 msgstr "Grappling Hook"
 
-#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253 qcsrc/server/w_porto.qc:296
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr ""
@@ -2692,17 +2686,17 @@ msgstr ""
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr ""
@@ -2711,22 +2705,22 @@ msgstr ""
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/server/w_minelayer.qc:522 qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr ""
@@ -2735,6 +2729,12 @@ msgstr ""
 msgid "MinstaNex"
 msgstr "MinstaNex"
 
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr ""
+
 #: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
@@ -2824,12 +2824,12 @@ msgstr ""
 msgid "Shotgun"
 msgstr "Shotgun"
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
 msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_shotgun.qc:215
 #, c-format
 msgid "%s was gunned by %s"
 msgstr ""
@@ -2858,23 +2858,23 @@ msgstr "Machine Gun"
 msgid "%s was riddled full of holes by %s"
 msgstr ""
 
-#~ msgid "%d/%d"
-#~ msgstr "%d/%d"
+#~ msgid "Speedometer"
+#~ msgstr "Snelheidsmeter"
 
-#~ msgid "Waypoint settings:"
-#~ msgstr "Wegwijzer instellingen"
+#~ msgid "qu/s (hidden)"
+#~ msgstr "qu/s (verborgen)"
 
-#~ msgid "Sniper Rifle"
-#~ msgstr "Sniper Rifle"
+#~ msgid "Show accelerometer"
+#~ msgstr "Laat versnellingsmeter zien"
 
 #~ msgid "Accelerometer scale:"
 #~ msgstr "Versnellingsmeter schaal"
 
-#~ msgid "Show accelerometer"
-#~ msgstr "Laat versnellingsmeter zien"
+#~ msgid "Sniper Rifle"
+#~ msgstr "Sniper Rifle"
 
-#~ msgid "qu/s (hidden)"
-#~ msgstr "qu/s (verborgen)"
+#~ msgid "Waypoint settings:"
+#~ msgstr "Wegwijzer instellingen"
 
-#~ msgid "Speedometer"
-#~ msgstr "Snelheidsmeter"
+#~ msgid "%d/%d"
+#~ msgstr "%d/%d"
index 90c70e3a7ab9054c8a556a7b2d3d55a4f0eb1095..8e90c5de8cbffdf0d76be5ceb4de9bf7cec39df6 100644 (file)
@@ -8,1002 +8,809 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:06+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+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"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: qcsrc/menu/menu.qc:29
-#, c-format
-msgid "^4MQC Build information: ^1%s\n"
-msgstr ""
-
-#: qcsrc/menu/item/label.c:63
-#, c-format
-msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
-msgstr ""
-
-#: qcsrc/menu/item/slider.c:64
-#, c-format
-msgid "%d (%s)"
-msgstr ""
-
-#: qcsrc/menu/item/gecko.c:49
-msgid "Browser not initialized!"
-msgstr ""
-
-#: qcsrc/menu/item/listbox.c:300
-#, c-format
-msgid "Item %d"
-msgstr ""
-
-#: qcsrc/menu/item/textslider.c:29 qcsrc/menu/item/textslider.c:31
-msgid "custom"
-msgstr ""
-
-#: qcsrc/menu/gamecommand.qc:47
-#, c-format
-msgid "error: status is %d\n"
-msgstr ""
-
-#: qcsrc/menu/gamecommand.qc:65
-msgid "Usage: menu_cmd command..., where possible commands are:\n"
-msgstr ""
-
-#: qcsrc/menu/gamecommand.qc:66
-msgid "  sync - reloads all cvars on the current menu page\n"
-msgstr ""
-
-#: qcsrc/menu/gamecommand.qc:67
-msgid "  directmenu ITEM - select a menu item as main item\n"
-msgstr ""
-
-#: qcsrc/menu/gamecommand.qc:193
-msgid "error creating curl handle\n"
-msgstr ""
-
-#: qcsrc/menu/gamecommand.qc:239
-msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
-msgid "Powerups Panel"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:22
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:22
-msgid "Enable status bar"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:24
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:24
-msgid "Status bar alignment:"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:28
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:40
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:28
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:40
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
-msgid "Left"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:30
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:30
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
-msgid "Right"
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:32
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:32
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
-msgid "Inward"
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:22
+msgid "Engine info:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:34
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:34
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
-msgid "Outward"
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:25
+msgid "Use an averaging algorithm for fps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:37
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:37
-msgid "Icon alignment:"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:45
-msgid "Flip strength and shield positions"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:59
+msgid "Instant action! (random map with bots)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/skinlist.c:105
-msgid "<TITLE>"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:66
+#: qcsrc/menu/xonotic/campaign.c:284
+msgid "???"
 msgstr ""
 
-#: qcsrc/menu/xonotic/skinlist.c:106
-msgid "<AUTHOR>"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:80
+msgid "Start Singleplayer!"
 msgstr ""
 
-#: qcsrc/menu/xonotic/skinlist.c:163
+#: qcsrc/menu/xonotic/util.qc:270
 #, c-format
-msgid "%s: %s"
-msgstr ""
-
-#: qcsrc/menu/xonotic/util.qh:47
-msgid "Enable panel"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:4
-#: qcsrc/menu/xonotic/dialog_settings.c:22
-msgid "Network"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:26
-msgid "Client-side movement prediction"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:30
-msgid "Show netgraph"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:33
-msgid "Network speed:"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:35
-msgid "56k"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:36
-msgid "ISDN"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:37
-msgid "Slow ADSL"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:38
-msgid "Fast ADSL"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:39
-msgid "Broadband"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:42
-msgid "Input packets/s:"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:46
-msgid "HTTP downloads:"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:49
-msgid "Downloads:"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:53
-msgid "Speed (kB/s):"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:57
-msgid "Client UDP port:"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
-msgid "Mutators"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
-msgid "All Weapons Arena"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
-msgid "Most Weapons Arena"
+msgid "Received HTTP request data for an invalid id %d.\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#: qcsrc/menu/xonotic/util.qc:285
 #, c-format
-msgid "%s Arena"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:167
-msgid "Dodging"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:250
-msgid "MinstaGib"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:253
-msgid "NIX"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:205
-msgid "Rocket Flying"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:264
-msgid "No start weapons"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
-msgid "Low gravity"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170
-msgid "Cloaked"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
-msgid "Hook"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:173
-msgid "Midair"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:176
-msgid "Vampire"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
-msgid "Piñata"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:211
-msgid "Weapons stay"
+msgid "error receiving update notification: status is %d\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:180
-msgid "Blood loss"
+#: qcsrc/menu/xonotic/util.qc:290
+msgid "error: received HTML instead of an update notification\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:202
-msgid "Jet pack"
+#: qcsrc/menu/xonotic/util.qc:295
+msgid "error: received carriage returns from update notification server\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
-msgid "MUT^None"
+#: qcsrc/menu/xonotic/util.qc:316
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164
-msgid "Gameplay mutators:"
+#: qcsrc/menu/xonotic/util.qc:337
+msgid "Autogenerating mapinfo for newly added maps..."
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196
-msgid "Weapon & item mutators:"
+#: qcsrc/menu/xonotic/util.qc:367
+#, c-format
+msgid "^1%s TEST BUILD"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199
-msgid "Grappling hook"
+#: qcsrc/menu/xonotic/util.qc:432
+#, c-format
+msgid "Update to %s now!"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215
-msgid "Weapon arenas:"
+#: qcsrc/menu/xonotic/util.qc:501
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218
-msgid "Regular (no arena)"
+#: qcsrc/menu/xonotic/util.qc:523
+msgid "Arena"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:239
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:256
-msgid "with laser"
+#: qcsrc/menu/xonotic/util.qc:524
+msgid "Assault"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247
-msgid "Special arenas:"
+#: qcsrc/menu/xonotic/util.qc:525
+msgid "Capture The Flag"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260
-msgid "Most weapons"
+#: qcsrc/menu/xonotic/util.qc:526
+msgid "Clan Arena"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:269
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:61
-#: qcsrc/menu/xonotic/dialog_credits.c:21
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:57
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:41
-#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
-msgid "OK"
+#: qcsrc/menu/xonotic/util.qc:527
+msgid "Deathmatch"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
-msgid "Mod Icons Panel"
+#: qcsrc/menu/xonotic/util.qc:528
+msgid "Domination"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
-msgid "Vote Panel"
+#: qcsrc/menu/xonotic/util.qc:529
+msgid "Freeze Tag"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:22
-msgid "Alpha after voting:"
+#: qcsrc/menu/xonotic/util.qc:530
+msgid "Keepaway"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
-msgid "Advanced settings"
+#: qcsrc/menu/xonotic/util.qc:531
+msgid "Key Hunt"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23
-msgid "Cvar filter:"
+#: qcsrc/menu/xonotic/util.qc:532
+msgid "Last Man Standing"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:24
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:33
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:29
-#: qcsrc/menu/xonotic/dialog_settings_input.c:41
-msgid "Clear"
+#: qcsrc/menu/xonotic/util.qc:533
+msgid "Nexball"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34
-msgid "Setting:"
+#: qcsrc/menu/xonotic/util.qc:534
+msgid "Onslaught"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254
-msgid "Type:"
+#: qcsrc/menu/xonotic/util.qc:535
+msgid "Race"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42
-msgid "Value:"
+#: qcsrc/menu/xonotic/util.qc:536
+msgid "Race CTS"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56
-msgid "Description:"
+#: qcsrc/menu/xonotic/util.qc:537
+msgid "Runematch"
 msgstr ""
 
-#: qcsrc/menu/xonotic/maplist.c:278
-msgid ""
-"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
+#: qcsrc/menu/xonotic/util.qc:538
+msgid "Team Deathmatch"
 msgstr ""
 
-#: qcsrc/menu/xonotic/maplist.c:286
+#: qcsrc/menu/xonotic/util.qc:557
 #, c-format
-msgid "%s's Xonotic Server"
+msgid "@!#%'n Tuba Throwing"
 msgstr ""
 
-#: qcsrc/menu/xonotic/maplist.c:291
-msgid ""
-"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
-"again.\n"
+#: qcsrc/menu/xonotic/util.qc:575 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23
+msgid "Background:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
-msgid "Health/Armor Panel"
+#: 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
+msgid "Default"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:45
-msgid "Flip health and armor positions"
+#: 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: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
+msgid "Disable"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
-msgid "Multiplayer"
+#: qcsrc/menu/xonotic/util.qc:583 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77
+msgid "Color:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
-msgid "Servers"
+#: qcsrc/menu/xonotic/util.qc:588
+msgid "Use default"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
-msgid "Create"
+#: qcsrc/menu/xonotic/util.qc:591 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35
+msgid "Border size:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
-msgid "Demos"
+#: qcsrc/menu/xonotic/util.qc:600 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:43
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:82
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:32
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:154
+msgid "Alpha:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
-msgid "Player Setup"
+#: qcsrc/menu/xonotic/util.qc:608
+msgid "Team Color:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings.c:4
-msgid "Settings"
+#: qcsrc/menu/xonotic/util.qc:617 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58
+msgid "Test team color in configure mode"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings.c:18
-#: qcsrc/menu/xonotic/dialog_settings_input.c:4
-msgid "Input"
+#: qcsrc/menu/xonotic/util.qc:620 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61
+msgid "Padding:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings.c:19
-#: qcsrc/menu/xonotic/dialog_settings_video.c:4
-msgid "Video"
+#: qcsrc/menu/xonotic/dialog_news.c:4
+msgid "News"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings.c:20
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
-msgid "Effects"
+#: qcsrc/menu/xonotic/dialog_news.c:18
+msgid "http://www.xonotic.org/team/blog/"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings.c:21
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
-msgid "Audio"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings.c:23
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
-msgid "Misc"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:24
+msgid "Fade out after:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
-msgid "Demo"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36
+msgid "Never"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28
-msgid "Record demos while playing"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:28
+#, c-format
+msgid "%ds"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:32
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
-msgid "Filter:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:32
+msgid "Fade effect:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
-msgid "Timedemo"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:35
+msgid "EF^None"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:122
-msgid "Play"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
+msgid "Slide"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_decibels.c:50
-msgid "VOL^OFF"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_decibels.c:52
-msgid "VOL^MAX"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+msgid "EF^Both"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_decibels.c:53
-#, c-format
-msgid "%s dB"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:42
+msgid "Weapon icons:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
-msgid "Score Panel"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45
+msgid "Show weapon ID as:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
-msgid "Score:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+msgid "SHOWAS^None"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
-msgid "Rankings:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47
+msgid "Number"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
-msgid "Off"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48
+msgid "Bind"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
-msgid "And me"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+msgid "Show Accuracy"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
-msgid "Pure"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+msgid "Show Ammo"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:26
-msgid "Resolution:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+msgid "Ammo bar color:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:29
-msgid "Font/UI size:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61
+msgid "Ammo bar alpha:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:31
-msgid "SZ^Unreadable"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:32
-msgid "SZ^Tiny"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:115
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:116
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:183
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:189
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:199
+msgid "N/A"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:33
-msgid "SZ^Little"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:158
+#, c-format
+msgid "%d/%d, %d free player slots"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:34
-msgid "SZ^Small"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172
+msgid "Official settings"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:35
-msgid "SZ^Medium"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172
+#, c-format
+msgid "%d modified settings"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:36
-msgid "SZ^Large"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197
+msgid "N/A (can't connect)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:37
-msgid "SZ^Huge"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205
+msgid "not supported (can't connect)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:38
-msgid "SZ^Gigantic"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207
+msgid "not supported (won't encrypt)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:39
-msgid "SZ^Colossal"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
+msgid "supported (will encrypt)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:42
-msgid "Color depth:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213
+msgid "supported (won't encrypt)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:45
-msgid "Full screen"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
+msgid "requested (will encrypt)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:46
-msgid "Vertical Synchronization"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219
+msgid "requested (won't encrypt)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:49
-msgid "Use OpenGL 2.0 shaders (GLSL)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
+msgid "required (can't connect)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:52
-msgid "Use GLSL to handle color control"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225
+msgid "required (will encrypt)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:56
-msgid "Vertex Buffer Objects (VBOs)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269
+msgid "Players:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:59
-msgid "VBO^Off"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38
+msgid "Type:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:60
-msgid "Vertices, some Tris (compatible)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259
+msgid "Map:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:63
-msgid "Vertices"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264
+msgid "Gameplay:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:64
-msgid "Vertices and Triangles"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274
+msgid "Bots:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:67
-msgid "Depth first:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279
+msgid "Mod:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:69
-msgid "DF^Disabled"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284
+msgid "Version:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:70
-msgid "DF^World"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289
+msgid "Ping:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:71
-msgid "DF^All"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
+msgid "CA:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:75
-msgid "Disable multithreaded OpenGL"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301
+msgid "Key:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:77
-msgid "Wait for GPU to finish each frame"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307
+msgid "Encryption:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:80
-msgid "Brightness:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:314
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:119
+msgid "Close"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:83
-msgid "Contrast:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:317
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
+msgid "Join!"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:86
-msgid "Gamma:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:91
-msgid "Contrast boost:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:96
-msgid "Saturation:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34
+msgid "Up"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:102
-msgid "LIT^Ambient:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37
+msgid "Down"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:105
-msgid "Intensity:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_video.c:109
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:191
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:30
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:41
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:195
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:178
-msgid "Apply immediately"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:185
-msgid "Remove"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:45
+msgid "Draw 1st person weapon model"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:187
-msgid "Bookmark"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:48
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:33
+msgid "Left align"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:523
-msgid "Ping"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
+msgid "Center"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:524
-msgid "Host name"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:52
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
+msgid "Right align"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:525
-msgid "Map"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
+msgid "Flip view horizontally"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:526
-msgid "Type"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:57
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:269
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:61
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:41
+msgid "OK"
 msgstr ""
 
-#: qcsrc/menu/xonotic/serverlist.c:527
-msgid "Players"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_credits.c:5
-msgid "Credits"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:21
+msgid "Panel background defaults:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
-msgid "Race Timer Panel"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:50
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:89
+msgid "Team color:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:68
+msgid "HUD Dock:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:87
-msgid "will not be saved"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:70
+msgid "DOCK^Disabled"
 msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:89
-msgid "private"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+msgid "DOCK^Small"
 msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:91
-msgid "engine setting"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+msgid "DOCK^Medium"
 msgstr ""
 
-#: qcsrc/menu/xonotic/cvarlist.c:93
-msgid "read only"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+msgid "DOCK^Large"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_news.c:4
-msgid "News"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:96
+msgid "Grid settings:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_news.c:18
-msgid "http://www.xonotic.org/team/blog/"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:99
+msgid "Snap panels to grid"
 msgstr ""
 
-#: qcsrc/menu/xonotic/mainwindow.c:35 qcsrc/menu/xonotic/mainwindow.c:38
-msgid "Do not press this button again!"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:102
+msgid "Grid size:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
-msgid "Singleplayer"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "X:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:59
-msgid "Instant action! (random map with bots)"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:109
+msgid "Y:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:66
-#: qcsrc/menu/xonotic/campaign.c:284
-msgid "???"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:117
+msgid "Exit setup"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:80
-msgid "Start Singleplayer!"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
+msgid "Map Information"
 msgstr ""
 
-#: qcsrc/menu/xonotic/slider_resolution.c:65
-#, c-format
-msgid "%dx%d"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "Full item placement"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:270
-#, c-format
-msgid "Received HTTP request data for an invalid id %d.\n"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
+msgid "MinstaGib only"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:285
-#, c-format
-msgid "error receiving update notification: status is %d\n"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78
+msgid "Title:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:290
-msgid "error: received HTML instead of an update notification\n"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84
+msgid "Author:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:295
-msgid "error: received carriage returns from update notification server\n"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90
+msgid "Features:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:316
-#, c-format
-msgid ""
-"Update can be downloaded at:\n"
-"%s\n"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95
+msgid "Game types:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:337
-msgid "Autogenerating mapinfo for newly added maps..."
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:122
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46
+msgid "Play"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:367
+#: qcsrc/menu/xonotic/campaign.c:285
 #, c-format
-msgid "^1%s TEST BUILD"
+msgid "Level %d: %s"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:432
-#, c-format
-msgid "Update to %s now!"
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:501
-msgid ""
-"^1ERROR: Texture compression is required but not supported.\n"
-"^1Expect visual problems.\n"
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:22
+msgid "Enable status bar"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:523
-msgid "Arena"
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:24
+msgid "Status bar alignment:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:524
-msgid "Assault"
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:28
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:40
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:28
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:40
+msgid "Left"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:525
-msgid "Capture The Flag"
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Right"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:526
-msgid "Clan Arena"
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:32
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:32
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:42
+msgid "Inward"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:527
-msgid "Deathmatch"
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:34
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:43
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:34
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:43
+msgid "Outward"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:528
-msgid "Domination"
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:37
+msgid "Icon alignment:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:529
-msgid "Freeze Tag"
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:45
+msgid "Flip health and armor positions"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:530
-msgid "Keepaway"
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:531
-msgid "Key Hunt"
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28
+msgid "Record demos while playing"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:532
-msgid "Last Man Standing"
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:32
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:533
-msgid "Nexball"
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:33
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:24
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:29
+#: qcsrc/menu/xonotic/dialog_settings_input.c:41
+msgid "Clear"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:534
-msgid "Onslaught"
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+msgid "Timedemo"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:535
-msgid "Race"
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:536
-msgid "Race CTS"
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:21
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:21
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
+msgid "Panel disabled"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:537
-msgid "Runematch"
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+msgid "Panel enabled when spectating"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:538
-msgid "Team Deathmatch"
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
+msgid "Panel always enabled"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:557
-#, c-format
-msgid "@!#%'n Tuba Throwing"
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:30
+msgid "Forced aspect:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:575 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23
-msgid "Background:"
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
 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
-msgid "Default"
+#: qcsrc/menu/xonotic/dialog_teamselect.c:41
+msgid "join 'best' team (auto-select)"
 msgstr ""
 
-#: 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: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
-msgid "Disable"
+#: qcsrc/menu/xonotic/dialog_teamselect.c:45
+msgid "red"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:583 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77
-msgid "Color:"
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "blue"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:588
-msgid "Use default"
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "yellow"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:591 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35
-msgid "Border size:"
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "pink"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:600
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:32
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:154
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:43
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:82
-msgid "Alpha:"
+#: qcsrc/menu/xonotic/dialog_teamselect.c:51
+msgid "spectate"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:608
-msgid "Team Color:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
+msgid "Mutators"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:617 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58
-msgid "Test team color in configure mode"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
+msgid "All Weapons Arena"
 msgstr ""
 
-#: qcsrc/menu/xonotic/util.qc:620 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61
-msgid "Padding:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
+msgid "Most Weapons Arena"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
-msgid "Chat Panel"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
 msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:22
-msgid "Chat entries:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:167
+msgid "Dodging"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:25
-msgid "Chat size:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:250
+msgid "MinstaGib"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:29
-msgid "Chat lifetime:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:253
+msgid "NIX"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:33
-msgid "Chat beep sound"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:205
+msgid "Rocket Flying"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
-msgid "Weapons Panel"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:264
+msgid "No start weapons"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:24
-msgid "Fade out after:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+msgid "Low gravity"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36
-msgid "Never"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170
+msgid "Cloaked"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:28
-#, c-format
-msgid "%ds"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+msgid "Hook"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:32
-msgid "Fade effect:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:173
+msgid "Midair"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:35
-msgid "EF^None"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:176
+msgid "Vampire"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
-msgid "Slide"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+msgid "Piñata"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
-msgid "Alpha"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:211
+msgid "Weapons stay"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
-msgid "EF^Both"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:180
+msgid "Blood loss"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:42
-msgid "Weapon icons:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:202
+msgid "Jet pack"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45
-msgid "Show weapon ID as:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+msgid "MUT^None"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
-msgid "SHOWAS^None"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164
+msgid "Gameplay mutators:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47
-msgid "Number"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196
+msgid "Weapon & item mutators:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48
-msgid "Bind"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199
+msgid "Grappling hook"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
-msgid "Show Accuracy"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215
+msgid "Weapon arenas:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
-msgid "Show Ammo"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218
+msgid "Regular (no arena)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
-msgid "Ammo bar color:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:239
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:256
+msgid "with laser"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61
-msgid "Ammo bar alpha:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247
+msgid "Special arenas:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/campaign.c:285
-#, c-format
-msgid "Level %d: %s"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260
+msgid "Most weapons"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
@@ -1090,613 +897,772 @@ msgstr ""
 msgid "9 choices"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
-msgid "Simple majority wins vcall"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:22
+msgid "Chat entries:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:25
+msgid "Chat size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:29
+msgid "Chat lifetime:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:33
+msgid "Chat beep sound"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
+msgid "Ammo Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:22
+msgid "Ammunition display:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:25
+msgid "Show only current ammo type"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:28
+msgid "Align icon:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:4
+msgid "Settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:18
+#: qcsrc/menu/xonotic/dialog_settings_input.c:4
+msgid "Input"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:19
+#: qcsrc/menu/xonotic/dialog_settings_video.c:4
+msgid "Video"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:20
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
+msgid "Effects"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
+msgid "Audio"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+#: qcsrc/menu/xonotic/dialog_settings_network.c:4
+msgid "Network"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
+msgstr ""
+
+#: qcsrc/menu/xonotic/playermodel.c:174
+msgid "<no model found>"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
+msgid "Score:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
+msgid "Rankings:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+msgid "Off"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
+msgid "And me"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
+msgid "Pure"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23
+msgid "Cvar filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34
+msgid "Setting:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42
+msgid "Value:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56
+msgid "Description:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:50
+msgid "VOL^OFF"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:52
+msgid "VOL^MAX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/slider_decibels.c:53
+#, c-format
+msgid "%s dB"
+msgstr ""
+
+#: qcsrc/menu/xonotic/mainwindow.c:35 qcsrc/menu/xonotic/mainwindow.c:38
+msgid "Do not press this button again!"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:26
+msgid "Resolution:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:29
+msgid "Font/UI size:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:31
+msgid "SZ^Unreadable"
 msgstr ""
 
-#: qcsrc/menu/xonotic/playermodel.c:174
-msgid "<no model found>"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+msgid "SZ^Tiny"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
-msgid "Radar Panel"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+msgid "SZ^Little"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:21
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
-#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:21
-msgid "Panel disabled"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+msgid "SZ^Small"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
-msgid "Panel enabled in teamgames"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+msgid "SZ^Medium"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
-#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
-msgid "Panel always enabled"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+msgid "SZ^Large"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:29
-msgid "Radar:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+msgid "SZ^Huge"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:36
-msgid "Rotation:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+msgid "SZ^Gigantic"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:38
-msgid "Forward"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+msgid "SZ^Colossal"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
-msgid "West"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
-msgid "South"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "Full screen"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
-msgid "East"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:46
+msgid "Vertical Synchronization"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
-msgid "North"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Use OpenGL 2.0 shaders (GLSL)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46
-msgid "Scale:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:52
+msgid "Use GLSL to handle color control"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:50
-msgid "Zoom mode:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+msgid "Vertex Buffer Objects (VBOs)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:52
-msgid "Zoomed in"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+msgid "VBO^Off"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
-msgid "Zoomed out"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:60
+msgid "Vertices, some Tris (compatible)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
-msgid "Always zoomed"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:63
+msgid "Vertices"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
-msgid "Never zoomed"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:64
+msgid "Vertices and Triangles"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
-msgid "Physics Panel"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "Depth first:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
-msgid "Panel enabled if not observing"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:69
+msgid "DF^Disabled"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:31
-msgid "Status bar"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:70
+msgid "DF^World"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:33
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:48
-msgid "Left align"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "DF^All"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:52
-msgid "Right align"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:75
+msgid "Disable multithreaded OpenGL"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
-msgid "Inward align"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:77
+msgid "Wait for GPU to finish each frame"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
-msgid "Outward align"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "Brightness:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:40
-msgid "Flip speed/acceleration positions"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Contrast:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44
-msgid "Speed:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "Gamma:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
-msgid "Include vertical speed"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Contrast boost:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:56
-msgid "Speed unit:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:96
+msgid "Saturation:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:58
-msgid "qu/s"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:102
+msgid "LIT^Ambient:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
-msgid "m/s"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Intensity:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
-msgid "km/h"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:109
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:30
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:41
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:195
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:191
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:178
+msgid "Apply immediately"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
-msgid "mph"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
-msgid "knots"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
-msgid "Show"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+msgid "SRVS^Full"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
-msgid "Top speed"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:73
-msgid "Acceleration:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+msgid "Address:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
-msgid "Include vertical acceleration"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
+msgid "Info..."
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
-msgid "Quality preset:"
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
-msgid "PRE^OMG!"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Menu skins:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
-msgid "PRE^Low"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+#: qcsrc/menu/xonotic/dialog_firstrun.c:38
+msgid "Text language:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
-msgid "PRE^Medium"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:47
+msgid "Show current time"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
-msgid "PRE^Normal"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:49
+msgid "Show current date"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
-msgid "PRE^High"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:51
+msgid "Show frames per second"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
-msgid "PRE^Ultra"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:53
+msgid "Minimize input latency"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
-msgid "PRE^Ultimate"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:57
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:98
+msgid "Advanced settings..."
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
-msgid "Geometry detail:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
-msgid "DET^Lowest"
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:22
+msgid "Notifications:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
-msgid "DET^Low"
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:25
+msgid "Also print notifications to the console"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
-msgid "DET^Normal"
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:28
+msgid "Flip notify order"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
-msgid "DET^Good"
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:31
+msgid "Entry lifetime:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
-msgid "DET^Best"
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:35
+msgid "Entry fadetime:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
-msgid "DET^Insane"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
-msgid "Antialiasing:"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:47
+msgid "Name:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:64
-msgid "AA^Disabled"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:103
-msgid "2x"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:66
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:104
-msgid "4x"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
-msgid "Texture resolution:"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
-msgid "RES^Leet"
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
-msgid "RES^Lowest"
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:22
+msgid "Alpha after voting:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
-msgid "RES^Low"
+#: qcsrc/menu/xonotic/util.qh:47
+msgid "Enable panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:76
-msgid "RES^Normal"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+msgid "Create"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:77
-msgid "RES^Good"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:35
+msgid "Game type:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:78
-msgid "RES^Best"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:47
+msgid "Match settings:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:94
-msgid "Avoid lossy texture compression"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:50
+msgid "Time limit:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:100
-msgid "Anisotropy:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:54
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:62
+msgid "Use map specified default"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:102
-msgid "ANISO^Disabled"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:57
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164
+msgid "Point limit:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
-msgid "8x"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:65
+msgid "Player slots:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:106
-msgid "16x"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:68
+msgid "Number of bots:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:110
-msgid "Particle quality:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Bot skill:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:113
-msgid "Particle distance:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "Botlike"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:117
-msgid "Decals"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "Beginner"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:120
-msgid "Distance:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "You will win"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:126
-msgid "Time:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "You can win"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
-msgid "Use lightmaps"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "You might win"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:133
-msgid "Deluxe mapping"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Advanced"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
-msgid "Gloss"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Expert"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
-msgid "Offset mapping"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Pro"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:140
-msgid "Relief mapping"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83
+msgid "Assassin"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:143
-msgid "Reflections:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84
+msgid "Unhuman"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
-msgid "Blurred"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:85
+msgid "Godlike"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:147
-msgid "REFL^Good"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:89
+msgid "Mutators..."
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
-msgid "Sharp"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:105
+msgid "Map list:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
-msgid "Show surfaces"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:111
+msgid "Select all"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:155
-msgid "No dynamic lighting"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:114
+msgid "Select none"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
-msgid "Flash blend approximation"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:120
+msgid "Start Multiplayer!"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:159
-msgid "Realtime dynamic lighting"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+msgid "Capture limit:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:160
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:164
-msgid "Shadows"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+msgid "Lives:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
-msgid "Realtime world lighting"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+msgid "Laps:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:168
-msgid "Use normal maps"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+msgid "Goals:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:170
-msgid "Soft shadows"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:165
+msgid "Frag limit:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:173
-msgid "Coronas"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:174
-msgid "Use Occlusion Queries"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel enabled in teamgames"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:176
-msgid "Bloom"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:29
+msgid "Radar:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:178
-msgid "High Dynamic Range (HDR)"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:36
+msgid "Rotation:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:182
-msgid "Motion blur:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:38
+msgid "Forward"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:187
-msgid "Damage & water blur"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "West"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
-msgid "Powerup sharpen"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "South"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
-msgid "Ammo Panel"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "East"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:22
-msgid "Ammunition display:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "North"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:25
-msgid "Show only current ammo type"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46
+msgid "Scale:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:28
-msgid "Align icon:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:50
+msgid "Zoom mode:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
-msgid "Menu skins:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:52
+msgid "Zoomed in"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
-#: qcsrc/menu/xonotic/dialog_firstrun.c:38
-msgid "Text language:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed out"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:47
-msgid "Show current time"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Always zoomed"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:49
-msgid "Show current date"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Never zoomed"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:51
-msgid "Show frames per second"
+#: qcsrc/menu/xonotic/maplist.c:278
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:53
-msgid "Minimize input latency"
+#: qcsrc/menu/xonotic/maplist.c:286
+#, c-format
+msgid "%s's Xonotic Server"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:57
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:98
-msgid "Advanced settings..."
+#: qcsrc/menu/xonotic/maplist.c:291
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
-msgid "Notification Panel"
+#: qcsrc/menu/xonotic/slider_resolution.c:65
+#, c-format
+msgid "%dx%d"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:22
-msgid "Notifications:"
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:25
-msgid "Also print notifications to the console"
+#: qcsrc/menu/xonotic/dialog_quit.c:17
+msgid "Are you sure you want to quit?"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:28
-msgid "Flip notify order"
+#: qcsrc/menu/xonotic/dialog_quit.c:20
+msgid "Yes"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:31
-msgid "Entry lifetime:"
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "No"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:35
-msgid "Entry fadetime:"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
-msgid "Weapon settings"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:31
+msgid "Change key..."
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
-msgid "Weapon priority list:"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:35
+msgid "Edit..."
 msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34
-msgid "Up"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:46
+msgid "Sensitivity:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37
-msgid "Down"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:51
+msgid "UI mouse speed:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
-msgid "Use priority list for weapon cycling"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:55
+msgid "Mouse filter"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
-msgid "Auto switch weapons on pickup"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:57
+msgid "Invert mouse"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:45
-msgid "Draw 1st person weapon model"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:60
+#: qcsrc/menu/xonotic/dialog_settings_input.c:62
+msgid "Use joystick input"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
-msgid "Center"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:65
+#: qcsrc/menu/xonotic/dialog_settings_input.c:67
+msgid "Turn off OS mouse acceleration"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
-msgid "Flip view horizontally"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:69
+msgid "\"enter console\" also closes"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
-msgid "User defined key bind"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:26
+msgid "Client-side movement prediction"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
-#: qcsrc/menu/xonotic/dialog_firstrun.c:47
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:40
-msgid "Name:"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:30
+msgid "Show netgraph"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
-msgid "Command when pressed:"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:33
+msgid "Network speed:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
-msgid "Command when released:"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:35
+msgid "56k"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
-msgid "Save"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:36
+msgid "ISDN"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
-msgid "Cancel"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:37
+msgid "Slow ADSL"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
-msgid "Engine Info Panel"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:38
+msgid "Fast ADSL"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:22
-msgid "Engine info:"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:39
+msgid "Broadband"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:25
-msgid "Use an averaging algorithm for fps"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:42
+msgid "Input packets/s:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5
-msgid "Waypoints"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:46
+msgid "HTTP downloads:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23
-msgid "Show base waypoints"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:49
+msgid "Downloads:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25
-msgid "Waypoint scale:"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:53
+msgid "Speed (kB/s):"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29
-msgid "Waypoint alpha:"
+#: qcsrc/menu/xonotic/dialog_settings_network.c:57
+msgid "Client UDP port:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34
-msgid "Show names:"
+#: qcsrc/menu/xonotic/cvarlist.c:85
+msgid "will be saved to config.cfg"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37
-msgid "Teammates"
+#: qcsrc/menu/xonotic/cvarlist.c:87
+msgid "will not be saved"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38
-msgid "All players"
+#: qcsrc/menu/xonotic/cvarlist.c:89
+msgid "private"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:4
-msgid "Welcome"
+#: qcsrc/menu/xonotic/cvarlist.c:91
+msgid "engine setting"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:33
-msgid ""
-"Welcome to Xonotic, please select your language preference and enter your "
-"player name to get started.  You can change these options later through the "
-"menu system."
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "read only"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_firstrun.c:69
-msgid "Save settings"
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_quit.c:4
-msgid "Quit"
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_quit.c:17
-msgid "Are you sure you want to quit?"
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:22
+msgid "Timer:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_quit.c:20
-msgid "Yes"
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:25
+msgid "Show elapsed time"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_quit.c:21
-msgid "No"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+msgid "Player Setup"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63
@@ -1840,700 +1806,674 @@ msgstr ""
 msgid "Flip align"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
-msgid "Map Information"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
-msgid "Full item placement"
-msgstr ""
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
-msgid "MinstaGib only"
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78
-msgid "Title:"
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84
-msgid "Author:"
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90
-msgid "Features:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95
-msgid "Game types:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+msgid "Physics Panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:119
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:314
-msgid "Close"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+msgid "Panel enabled if not observing"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
-msgid "Join"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:31
+msgid "Status bar"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
-msgid "SRVS^Empty"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+msgid "Inward align"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
-msgid "SRVS^Full"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+msgid "Outward align"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
-msgid "Pause"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:40
+msgid "Flip speed/acceleration positions"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
-msgid "Address:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44
+msgid "Speed:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
-msgid "Info..."
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
+msgid "Include vertical speed"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:317
-msgid "Join!"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:56
+msgid "Speed unit:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
-msgid "Master:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:58
+msgid "qu/s"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
-msgid "Music:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
+msgid "m/s"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:40
-msgid "VOL^Ambient:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
+msgid "km/h"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
-msgid "Info:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
+msgid "mph"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:57
-msgid "Items:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
+msgid "knots"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:65
-msgid "Pain:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
+msgid "Show"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:73
-msgid "Player:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
+msgid "Top speed"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:81
-msgid "Shots:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:73
+msgid "Acceleration:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:88
-msgid "Voice:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
+msgid "Include vertical acceleration"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:96
-msgid "Weapons:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5
+msgid "Waypoints"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:103
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
-msgid "Frequency:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23
+msgid "Show base waypoints"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
-msgid "8 kHz"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25
+msgid "Waypoint scale:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
-msgid "11.025 kHz"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29
+msgid "Waypoint alpha:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
-msgid "16 kHz"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34
+msgid "Show names:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
-msgid "22.05 kHz"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37
+msgid "Teammates"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
-msgid "24 kHz"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38
+msgid "All players"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
-msgid "32 kHz"
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
-msgid "44.1 kHz"
+#: qcsrc/menu/xonotic/dialog_firstrun.c:33
+msgid ""
+"Welcome to Xonotic, please select your language preference and enter your "
+"player name to get started.  You can change these options later through the "
+"menu system."
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:112
-msgid "48 kHz"
+#: qcsrc/menu/xonotic/dialog_firstrun.c:69
+msgid "Save settings"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:115
-msgid "Channels:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
-msgid "Mono"
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:45
+msgid "Flip strength and shield positions"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
-msgid "Stereo"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
-msgid "2.1"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+msgid "PRE^OMG!"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
-msgid "4"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+msgid "PRE^Low"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
-msgid "5"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+msgid "PRE^Medium"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
-msgid "5.1"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+msgid "PRE^Normal"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
-msgid "6.1"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+msgid "PRE^High"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:124
-msgid "7.1"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+msgid "PRE^Ultra"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
-msgid "Swap Stereo"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+msgid "PRE^Ultimate"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
-msgid "Headphone friendly mode"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
-msgid "Spatial voices:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+msgid "DET^Lowest"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:137
-msgid "VOCS^None"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+msgid "DET^Low"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:138
-msgid "VOCS^Taunts"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+msgid "DET^Normal"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
-msgid "VOCS^All"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+msgid "DET^Good"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
-msgid "Taunt range:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+msgid "DET^Best"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:145
-msgid "RNG^Very short"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+msgid "DET^Insane"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:146
-msgid "RNG^Short"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Antialiasing:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:147
-msgid "RNG^Normal"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:64
+msgid "AA^Disabled"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:148
-msgid "RNG^Long"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:103
+msgid "2x"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:149
-msgid "RNG^Full"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:66
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:104
+msgid "4x"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
-msgid "Automatic taunts"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "Texture resolution:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:165
-msgid "Time warning:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+msgid "RES^Leet"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:167
-msgid "WRN^None"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+msgid "RES^Lowest"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:168
-msgid "1 minute"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
+msgid "RES^Low"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:169
-msgid "5 minutes"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:76
+msgid "RES^Normal"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:170
-msgid "WRN^Both"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:77
+msgid "RES^Good"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:173
-msgid "Hit indicator"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:78
+msgid "RES^Best"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:175
-msgid "Menu sounds"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:94
+msgid "Avoid lossy texture compression"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
-msgid "Winner"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:100
+msgid "Anisotropy:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
-msgid "Server Information"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:102
+msgid "ANISO^Disabled"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:115
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:116
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:183
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:189
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:199
-msgid "N/A"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
+msgid "8x"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:158
-#, c-format
-msgid "%d/%d, %d free player slots"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:106
+msgid "16x"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172
-msgid "Official settings"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:110
+msgid "Particle quality:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172
-#, c-format
-msgid "%d modified settings"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:113
+msgid "Particle distance:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197
-msgid "N/A (can't connect)"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:117
+msgid "Decals"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205
-msgid "not supported (can't connect)"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:120
+msgid "Distance:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207
-msgid "not supported (won't encrypt)"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:126
+msgid "Time:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
-msgid "supported (will encrypt)"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Use lightmaps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213
-msgid "supported (won't encrypt)"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:133
+msgid "Deluxe mapping"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
-msgid "requested (will encrypt)"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
+msgid "Gloss"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219
-msgid "requested (won't encrypt)"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "Offset mapping"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
-msgid "required (can't connect)"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:140
+msgid "Relief mapping"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225
-msgid "required (will encrypt)"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:143
+msgid "Reflections:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269
-msgid "Players:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:146
+msgid "Blurred"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259
-msgid "Map:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:147
+msgid "REFL^Good"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264
-msgid "Gameplay:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
+msgid "Sharp"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274
-msgid "Bots:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+msgid "Show surfaces"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279
-msgid "Mod:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:155
+msgid "No dynamic lighting"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284
-msgid "Version:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Flash blend approximation"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289
-msgid "Ping:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:159
+msgid "Realtime dynamic lighting"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
-msgid "CA:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:160
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:164
+msgid "Shadows"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301
-msgid "Key:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:163
+msgid "Realtime world lighting"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307
-msgid "Encryption:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:168
+msgid "Use normal maps"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:35
-msgid "Game type:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:170
+msgid "Soft shadows"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:47
-msgid "Match settings:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:173
+msgid "Coronas"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:50
-msgid "Time limit:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:174
+msgid "Use Occlusion Queries"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:54
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:62
-msgid "Use map specified default"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:176
+msgid "Bloom"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:57
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164
-msgid "Point limit:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:178
+msgid "High Dynamic Range (HDR)"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:65
-msgid "Player slots:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:182
+msgid "Motion blur:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:68
-msgid "Number of bots:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:187
+msgid "Damage & water blur"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
-msgid "Bot skill:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:188
+msgid "Powerup sharpen"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
-msgid "Botlike"
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
-msgid "Beginner"
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
-msgid "You will win"
+#: qcsrc/menu/xonotic/skinlist.c:163
+#, c-format
+msgid "%s: %s"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
-msgid "You can win"
+#: qcsrc/menu/xonotic/serverlist.c:185
+msgid "Remove"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
-msgid "You might win"
+#: qcsrc/menu/xonotic/serverlist.c:187
+msgid "Bookmark"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
-msgid "Advanced"
+#: qcsrc/menu/xonotic/serverlist.c:523
+msgid "Ping"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
-msgid "Expert"
+#: qcsrc/menu/xonotic/serverlist.c:524
+msgid "Host name"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
-msgid "Pro"
+#: qcsrc/menu/xonotic/serverlist.c:525
+msgid "Map"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83
-msgid "Assassin"
+#: qcsrc/menu/xonotic/serverlist.c:526
+msgid "Type"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84
-msgid "Unhuman"
+#: qcsrc/menu/xonotic/serverlist.c:527
+msgid "Players"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:85
-msgid "Godlike"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:89
-msgid "Mutators..."
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+msgid "Music:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:105
-msgid "Map list:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:40
+msgid "VOL^Ambient:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:111
-msgid "Select all"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+msgid "Info:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:114
-msgid "Select none"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:57
+msgid "Items:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:120
-msgid "Start Multiplayer!"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:65
+msgid "Pain:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
-msgid "Capture limit:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:73
+msgid "Player:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
-msgid "Lives:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:81
+msgid "Shots:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
-msgid "Laps:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:88
+msgid "Voice:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
-msgid "Goals:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:96
+msgid "Weapons:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:165
-msgid "Frag limit:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:103
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:161
+msgid "Frequency:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_teamselect.c:5
-msgid "Team Selection"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+msgid "8 kHz"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_teamselect.c:41
-msgid "join 'best' team (auto-select)"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+msgid "11.025 kHz"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_teamselect.c:45
-msgid "red"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+msgid "16 kHz"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_teamselect.c:46
-msgid "blue"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:108
+msgid "22.05 kHz"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_teamselect.c:47
-msgid "yellow"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "24 kHz"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_teamselect.c:48
-msgid "pink"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+msgid "32 kHz"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_teamselect.c:51
-msgid "spectate"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:111
+msgid "44.1 kHz"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
-msgid "Pressed Keys Panel"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:112
+msgid "48 kHz"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
-msgid "Panel enabled when spectating"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:115
+msgid "Channels:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:30
-msgid "Forced aspect:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "Mono"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
-msgid "Panel HUD Setup"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+msgid "Stereo"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:21
-msgid "Panel background defaults:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "2.1"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:50
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:89
-msgid "Team color:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:120
+msgid "4"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:68
-msgid "HUD Dock:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:121
+msgid "5"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:70
-msgid "DOCK^Disabled"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+msgid "5.1"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
-msgid "DOCK^Small"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+msgid "6.1"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
-msgid "DOCK^Medium"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:124
+msgid "7.1"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
-msgid "DOCK^Large"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
+msgid "Swap Stereo"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:96
-msgid "Grid settings:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
+msgid "Headphone friendly mode"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:99
-msgid "Snap panels to grid"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Spatial voices:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:102
-msgid "Grid size:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:137
+msgid "VOCS^None"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
-msgid "X:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:138
+msgid "VOCS^Taunts"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:109
-msgid "Y:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+msgid "VOCS^All"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:117
-msgid "Exit setup"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "Taunt range:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input.c:26
-msgid "Key bindings:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:145
+msgid "RNG^Very short"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input.c:31
-msgid "Change key..."
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:146
+msgid "RNG^Short"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input.c:35
-msgid "Edit..."
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:147
+msgid "RNG^Normal"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input.c:46
-msgid "Sensitivity:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:148
+msgid "RNG^Long"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input.c:51
-msgid "UI mouse speed:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:149
+msgid "RNG^Full"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input.c:55
-msgid "Mouse filter"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+msgid "Automatic taunts"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input.c:57
-msgid "Invert mouse"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:165
+msgid "Time warning:"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input.c:60
-#: qcsrc/menu/xonotic/dialog_settings_input.c:62
-msgid "Use joystick input"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:167
+msgid "WRN^None"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input.c:65
-#: qcsrc/menu/xonotic/dialog_settings_input.c:67
-msgid "Turn off OS mouse acceleration"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:168
+msgid "1 minute"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_settings_input.c:69
-msgid "\"enter console\" also closes"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:169
+msgid "5 minutes"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
-msgid "Timer Panel"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:170
+msgid "WRN^Both"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:22
-msgid "Timer:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:173
+msgid "Hit indicator"
 msgstr ""
 
-#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:25
-msgid "Show elapsed time"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:175
+msgid "Menu sounds"
 msgstr ""
 
-#: qcsrc/server/w_crylink.qc:2
-msgid "Crylink"
+#: qcsrc/menu/gamecommand.qc:47
+#, c-format
+msgid "error: status is %d\n"
 msgstr ""
 
-#: qcsrc/server/w_crylink.qc:664
-#, c-format
-msgid "%s succeeded at self-destructing themself with the Crylink"
+#: qcsrc/menu/gamecommand.qc:65
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
 msgstr ""
 
-#: qcsrc/server/w_crylink.qc:669
-#, c-format
-msgid "%s could not hide from %s's Crylink"
+#: qcsrc/menu/gamecommand.qc:66
+msgid "  sync - reloads all cvars on the current menu page\n"
 msgstr ""
 
-#: qcsrc/server/w_crylink.qc:671
-#, c-format
-msgid "%s was too close to %s's Crylink"
+#: qcsrc/menu/gamecommand.qc:67
+msgid "  directmenu ITEM - select a menu item as main item\n"
 msgstr ""
 
-#: qcsrc/server/w_crylink.qc:673
-#, c-format
-msgid "%s took a close look at %s's Crylink"
+#: qcsrc/menu/gamecommand.qc:193
+msgid "error creating curl handle\n"
 msgstr ""
 
-#: qcsrc/server/w_tuba.qc:2
-#, c-format
-msgid "@!#%'n Tuba"
+#: qcsrc/menu/gamecommand.qc:239
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
 msgstr ""
 
-#: qcsrc/server/w_tuba.qc:263
+#: qcsrc/menu/menu.qc:29
 #, c-format
-msgid "%s hurt his own ears with the @!#%%'n Tuba"
+msgid "^4MQC Build information: ^1%s\n"
 msgstr ""
 
-#: qcsrc/server/w_tuba.qc:267
+#: qcsrc/menu/item/listbox.c:300
 #, c-format
-msgid "%s died of %s's great playing on the @!#%%'n Tuba"
+msgid "Item %d"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:2
-msgid "Shotgun"
+#: qcsrc/menu/item/gecko.c:49
+msgid "Browser not initialized!"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_hook.qc:266
-#: qcsrc/server/w_porto.qc:296 qcsrc/server/w_uzi.qc:317
-#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/menu/item/label.c:63
 #, c-format
-msgid "%s did the impossible"
+msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/menu/item/slider.c:64
 #, c-format
-msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
+msgid "%d (%s)"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:209
-#, c-format
-msgid "%s was gunned by %s"
+#: qcsrc/menu/item/textslider.c:29 qcsrc/menu/item/textslider.c:31
+msgid "custom"
 msgstr ""
 
 #: qcsrc/server/w_rifle.qc:2
@@ -2575,123 +2515,153 @@ msgstr ""
 msgid "%s was sniped by %s"
 msgstr ""
 
-#: qcsrc/server/w_hook.qc:2
-msgid "Grappling Hook"
+#: qcsrc/server/w_uzi.qc:2
+msgid "Machine Gun"
 msgstr ""
 
-#: qcsrc/server/w_hook.qc:268
+#: qcsrc/server/w_uzi.qc:317 qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
 #, c-format
-msgid "%s has run into %s's gravity bomb"
+msgid "%s is now thinking with portals"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:2
-msgid "Fireball"
+#: qcsrc/server/w_uzi.qc:323
+#, c-format
+msgid "%s was riddled full of holes by %s"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:417
-#, c-format
-msgid "%s forgot about some firemine"
+#: qcsrc/server/w_rocketlauncher.qc:2
+msgid "Rocket Launcher"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240
+#: qcsrc/server/w_rocketlauncher.qc:501 qcsrc/server/w_minelayer.qc:523
 #, c-format
-msgid "%s should have used a smaller gun"
+msgid "%s exploded"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:426
+#: qcsrc/server/w_rocketlauncher.qc:505
 #, c-format
-msgid "%s tried to catch %s's firemine"
+msgid "%s got too close to %s's rocket"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:428
+#: qcsrc/server/w_rocketlauncher.qc:507
 #, c-format
-msgid "%s fatefully ignored %s's firemine"
+msgid "%s almost dodged %s's rocket"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:435
+#: qcsrc/server/w_rocketlauncher.qc:509
 #, c-format
-msgid "%s could not hide from %s's fireball"
+msgid "%s ate %s's rocket"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:437
+#: qcsrc/server/w_porto.qc:2
+msgid "Port-O-Launch"
+msgstr ""
+
+#: qcsrc/server/w_porto.qc:296 qcsrc/server/w_hook.qc:266
 #, c-format
-msgid "%s saw the pretty lights of %s's fireball"
+msgid "%s did the impossible"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:440
+#: qcsrc/server/w_porto.qc:298
 #, c-format
-msgid "%s got too close to %s's fireball"
+msgid "%s felt %s doing the impossible to him"
 msgstr ""
 
-#: qcsrc/server/w_fireball.qc:442
+#: qcsrc/server/w_hook.qc:2
+msgid "Grappling Hook"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:268
 #, c-format
-msgid "%s tasted %s's fireball"
+msgid "%s has run into %s's gravity bomb"
 msgstr ""
 
-#: qcsrc/server/w_porto.qc:2
-msgid "Port-O-Launch"
+#: qcsrc/server/w_electro.qc:2
+msgid "Electro"
 msgstr ""
 
-#: qcsrc/server/w_porto.qc:298
+#: qcsrc/server/w_electro.qc:577
 #, c-format
-msgid "%s felt %s doing the impossible to him"
+msgid "%s could not remember where they put plasma"
 msgstr ""
 
-#: qcsrc/server/w_grenadelauncher.qc:2
-msgid "Mortar"
+#: qcsrc/server/w_electro.qc:579
+#, c-format
+msgid "%s played with plasma"
 msgstr ""
 
-#: qcsrc/server/w_grenadelauncher.qc:379
+#: qcsrc/server/w_electro.qc:586
 #, c-format
-msgid "%s tried out his own grenade"
+msgid "%s just noticed %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_grenadelauncher.qc:381
+#: qcsrc/server/w_electro.qc:588
 #, c-format
-msgid "%s detonated"
+msgid "%s got in touch with %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_grenadelauncher.qc:387
+#: qcsrc/server/w_electro.qc:593
 #, c-format
-msgid "%s didn't see %s's grenade"
+msgid "%s felt the electrifying air of %s's combo"
 msgstr ""
 
-#: qcsrc/server/w_grenadelauncher.qc:389
+#: qcsrc/server/w_electro.qc:595
 #, c-format
-msgid "%s almost dodged %s's grenade"
+msgid "%s got too close to %s's blue beam"
 msgstr ""
 
-#: qcsrc/server/w_grenadelauncher.qc:391
+#: qcsrc/server/w_electro.qc:597
 #, c-format
-msgid "%s ate %s's grenade"
+msgid "%s was blasted by %s's blue beam"
 msgstr ""
 
 #: qcsrc/server/w_laser.qc:2
 msgid "Laser"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr ""
 
-#: qcsrc/server/w_uzi.qc:2
-msgid "Machine Gun"
+#: qcsrc/server/w_shotgun.qc:2
+msgid "Shotgun"
 msgstr ""
 
-#: qcsrc/server/w_uzi.qc:323
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
-msgid "%s was riddled full of holes by %s"
+msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
+msgstr ""
+
+#: qcsrc/server/w_shotgun.qc:215
+#, c-format
+msgid "%s was gunned by %s"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:2
+#, c-format
+msgid "@!#%'n Tuba"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:263
+#, c-format
+msgid "%s hurt his own ears with the @!#%%'n Tuba"
+msgstr ""
+
+#: qcsrc/server/w_tuba.qc:267
+#, c-format
+msgid "%s died of %s's great playing on the @!#%%'n Tuba"
 msgstr ""
 
 #: qcsrc/server/w_minstanex.qc:2
@@ -2703,76 +2673,71 @@ msgstr ""
 msgid "%s has been vaporized by %s"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:2
-msgid "Electro"
+#: qcsrc/server/w_crylink.qc:2
+msgid "Crylink"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_crylink.qc:664
 #, c-format
-msgid "%s could not remember where they put plasma"
+msgid "%s succeeded at self-destructing themself with the Crylink"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_crylink.qc:669
 #, c-format
-msgid "%s played with plasma"
+msgid "%s could not hide from %s's Crylink"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_crylink.qc:671
 #, c-format
-msgid "%s just noticed %s's blue ball"
+msgid "%s was too close to %s's Crylink"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_crylink.qc:673
 #, c-format
-msgid "%s got in touch with %s's blue ball"
+msgid "%s took a close look at %s's Crylink"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:587
-#, c-format
-msgid "%s felt the electrifying air of %s's combo"
+#: qcsrc/server/w_hlac.qc:2
+msgid "Heavy Laser Assault Cannon"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_hlac.qc:240 qcsrc/server/w_fireball.qc:419
 #, c-format
-msgid "%s got too close to %s's blue beam"
+msgid "%s should have used a smaller gun"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_hlac.qc:242
 #, c-format
-msgid "%s was blasted by %s's blue beam"
+msgid "%s was cut down by %s"
 msgstr ""
 
-#: qcsrc/server/w_rocketlauncher.qc:2
-msgid "Rocket Launcher"
+#: qcsrc/server/w_grenadelauncher.qc:2
+msgid "Mortar"
 msgstr ""
 
-#: qcsrc/server/w_rocketlauncher.qc:501 qcsrc/server/w_minelayer.qc:522
+#: qcsrc/server/w_grenadelauncher.qc:379
 #, c-format
-msgid "%s exploded"
+msgid "%s tried out his own grenade"
 msgstr ""
 
-#: qcsrc/server/w_rocketlauncher.qc:505
+#: qcsrc/server/w_grenadelauncher.qc:381
 #, c-format
-msgid "%s got too close to %s's rocket"
+msgid "%s detonated"
 msgstr ""
 
-#: qcsrc/server/w_rocketlauncher.qc:507
+#: qcsrc/server/w_grenadelauncher.qc:387
 #, c-format
-msgid "%s almost dodged %s's rocket"
+msgid "%s didn't see %s's grenade"
 msgstr ""
 
-#: qcsrc/server/w_rocketlauncher.qc:509
+#: qcsrc/server/w_grenadelauncher.qc:389
 #, c-format
-msgid "%s ate %s's rocket"
-msgstr ""
-
-#: qcsrc/server/w_hlac.qc:2
-msgid "Heavy Laser Assault Cannon"
+msgid "%s almost dodged %s's grenade"
 msgstr ""
 
-#: qcsrc/server/w_hlac.qc:242
+#: qcsrc/server/w_grenadelauncher.qc:391
 #, c-format
-msgid "%s was cut down by %s"
+msgid "%s ate %s's grenade"
 msgstr ""
 
 #: qcsrc/server/w_hagar.qc:2
@@ -2803,25 +2768,64 @@ msgstr ""
 msgid "%s was tagged by %s"
 msgstr ""
 
-#: qcsrc/server/w_nex.qc:2
-msgid "Nex"
+#: qcsrc/server/w_fireball.qc:2
+msgid "Fireball"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:417
+#, c-format
+msgid "%s forgot about some firemine"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:426
+#, c-format
+msgid "%s tried to catch %s's firemine"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:428
+#, c-format
+msgid "%s fatefully ignored %s's firemine"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:435
+#, c-format
+msgid "%s could not hide from %s's fireball"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:437
+#, c-format
+msgid "%s saw the pretty lights of %s's fireball"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:440
+#, c-format
+msgid "%s got too close to %s's fireball"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:442
+#, c-format
+msgid "%s tasted %s's fireball"
 msgstr ""
 
 #: qcsrc/server/w_minelayer.qc:2
 msgid "Mine Layer"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr ""
+
+#: qcsrc/server/w_nex.qc:2
+msgid "Nex"
+msgstr ""
index 9aa2c2c3e4a9ee779c1f193e98df3793194c9a0f..7b525a61f3a851c1e696539acddaa101d2c9fa1d 100644 (file)
@@ -7,14 +7,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Xontoic 0.1preview\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:06+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: Ricardo 'Hellgardia' Silva <ricardo.mccs@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: Portuguese\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: Portuguese\n"
 
 #: qcsrc/menu/gamecommand.qc:47
 #, c-format
@@ -51,8 +51,8 @@ msgstr "Browser não inicializado!"
 #, c-format
 msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
 msgstr ""
-"NOTA: marca texto %s demasiado larga para etiqueta, condensada por factor %"
-"f\n"
+"NOTA: marca texto %s demasiado larga para etiqueta, condensada por factor "
+"%f\n"
 
 #: qcsrc/menu/item/listbox.c:300
 #, c-format
@@ -374,7 +374,7 @@ msgstr "nós"
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
 #, fuzzy
 msgid "Show"
-msgstr "Sombras"
+msgstr "Mostrar Munições"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
 #, fuzzy
@@ -487,14 +487,12 @@ msgid "Score Panel"
 msgstr "Painel de Pontos"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
-#, fuzzy
 msgid "Score:"
-msgstr "Escala:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
-#, fuzzy
 msgid "Rankings:"
-msgstr "Skins de Menu:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
 #, fuzzy
@@ -506,9 +504,8 @@ msgid "And me"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
-#, fuzzy
 msgid "Pure"
-msgstr "Pausar"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
 msgid "Timer Panel"
@@ -1446,9 +1443,8 @@ msgid "Draw 1st person weapon model"
 msgstr "Desenhar modelo da arma na 1a pessoa"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
-#, fuzzy
 msgid "Center"
-msgstr "Criar"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
 msgid "Flip view horizontally"
@@ -2538,37 +2534,37 @@ msgstr "%s pode ver de perto a Crylink do %s"
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr "%s não se conseguiu lembrar onde pôs a plasma"
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr "%s brincou com plasma"
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr "%s acabou de reparar na bola azul de %s"
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr "%s esteve em contacto com a bola azul de %s"
 
-#: qcsrc/server/w_electro.qc:587
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr "%s sentiu o ar electrizante do combo de %s"
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr "%s estava perto demais do raio azul de %s"
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr "%s foi atingido pelo raio azul de %s"
@@ -2678,9 +2674,7 @@ msgstr "%s foi totalmente cortado por %s"
 msgid "Grappling Hook"
 msgstr "Grappling Hook"
 
-#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253 qcsrc/server/w_porto.qc:296
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr "%s fez o impossível"
@@ -2694,17 +2688,17 @@ msgstr "%s correu contra uma bomba gravitacional %s"
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr "%s laserou-se até à morte"
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr "%s foi cortado ao meio pela gauntlet de %s"
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr "%s foi lasereado até à morte por %s"
@@ -2713,22 +2707,22 @@ msgstr "%s foi lasereado até à morte por %s"
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/server/w_minelayer.qc:522 qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr "%s explodiu"
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr "%s estava perto demais da mina de %s"
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr "%s quase se desviou da mina de %s"
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr "%s pisou a mina de %s"
@@ -2737,6 +2731,12 @@ msgstr "%s pisou a mina de %s"
 msgid "MinstaNex"
 msgstr "MinstaNex"
 
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr ""
+
 #: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
@@ -2826,12 +2826,12 @@ msgstr "%s foi marcado por %s"
 msgid "Shotgun"
 msgstr "Shotgun"
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
 msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
 msgstr "%2$s ^7maltratou %1$s ^7com uma grande ^2caçadeira"
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_shotgun.qc:215
 #, c-format
 msgid "%s was gunned by %s"
 msgstr "%s foi atingido por %s"
@@ -2860,23 +2860,23 @@ msgstr "Machine Gun"
 msgid "%s was riddled full of holes by %s"
 msgstr "%s foi enchido de buracos por %s"
 
-#~ msgid "Waypoint settings:"
-#~ msgstr "Definições dos caminhos:"
+#~ msgid "Speedometer"
+#~ msgstr "Medidor de Velocidade"
 
-#~ msgid "%d/%d"
-#~ msgstr "%d/%d"
+#~ msgid "qu/s (hidden)"
+#~ msgstr "qu/s (escondido)"
 
-#~ msgid "Sniper Rifle"
-#~ msgstr "Sniper Rifle"
+#~ msgid "Show accelerometer"
+#~ msgstr "Mostrar accelerómetro"
 
 #~ msgid "Accelerometer scale:"
 #~ msgstr "Escala do accelerómetro:"
 
-#~ msgid "Show accelerometer"
-#~ msgstr "Mostrar accelerómetro"
+#~ msgid "Sniper Rifle"
+#~ msgstr "Sniper Rifle"
 
-#~ msgid "qu/s (hidden)"
-#~ msgstr "qu/s (escondido)"
+#~ msgid "%d/%d"
+#~ msgstr "%d/%d"
 
-#~ msgid "Speedometer"
-#~ msgstr "Medidor de Velocidade"
+#~ msgid "Waypoint settings:"
+#~ msgstr "Definições dos caminhos:"
index 6956da3cd97f308a971a6cd082543995b55207e0..1bf7b882f0b95b0f4f892eaef8cf965f843b3295 100644 (file)
@@ -7,14 +7,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Xonotic 0.1preview\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:06+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+0200\n"
 "PO-Revision-Date: 2011-01-18 11:53+0100\t\n"
 "Last-Translator: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ro\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: ro\n"
 
 #: qcsrc/menu/gamecommand.qc:47
 #, c-format
@@ -374,7 +374,7 @@ msgstr "noduri"
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
 #, fuzzy
 msgid "Show"
-msgstr "Umbre"
+msgstr "Afisaj Munitie"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
 #, fuzzy
@@ -487,14 +487,12 @@ msgid "Score Panel"
 msgstr "Fereastra Scor"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
-#, fuzzy
 msgid "Score:"
-msgstr "Marime:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
-#, fuzzy
 msgid "Rankings:"
-msgstr "Stil meniu:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
 #, fuzzy
@@ -506,9 +504,8 @@ msgid "And me"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
-#, fuzzy
 msgid "Pure"
-msgstr "Pauza"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
 msgid "Timer Panel"
@@ -1446,9 +1443,8 @@ msgid "Draw 1st person weapon model"
 msgstr "Afisaj model 1st person"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
-#, fuzzy
 msgid "Center"
-msgstr "Creare Joc"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
 msgid "Flip view horizontally"
@@ -2536,37 +2532,37 @@ msgstr "%s s-a uitat in deaproape la Crylink-ul lui %s"
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr "%s a uitat unde a pus plasma"
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr "%s s-a jucat cu plasma"
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr "%s tocmai a observat bilele albastre ale lui %s"
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr "%s a intrat in contact cu bila albastra a lui %s"
 
-#: qcsrc/server/w_electro.qc:587
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr "%s a simtit forta electrica a combinatiei lui %s"
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr "%s s-a apropiat prea mult de raza albastra a lui %s"
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr "%s a fost lovit de raza albastra a lui %s"
@@ -2676,9 +2672,7 @@ msgstr "%s a fost taiat de %s"
 msgid "Grappling Hook"
 msgstr "Grappling Hook"
 
-#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253 qcsrc/server/w_porto.qc:296
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr "%s a reusit imposibilul"
@@ -2692,17 +2686,17 @@ msgstr "%s a fost absorbit de bomba gravitationala a lui %s"
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr "%s s-a lovit prea mult cu laserul"
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr "%s a fost taiat in doua de socul lui %s"
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr "%s a fost omorat cu laser de %s"
@@ -2711,22 +2705,22 @@ msgstr "%s a fost omorat cu laser de %s"
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/server/w_minelayer.qc:522 qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr "%s a explodat"
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr "%s s-a apropiat prea mult de mina lui %s"
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr "%s aproape ca s-a ferit de mina lui %s"
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr "%s a calcat pe mina lui %s"
@@ -2735,6 +2729,12 @@ msgstr "%s a calcat pe mina lui %s"
 msgid "MinstaNex"
 msgstr "MinstaNex"
 
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr ""
+
 #: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
@@ -2824,12 +2824,12 @@ msgstr "%s a fost marcat de %s"
 msgid "Shotgun"
 msgstr "Shotgun"
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
 msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
 msgstr "%2$s ^7l-a plesnit pe %1$s ^7cu o ^2Pusca ^7foarte mare"
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_shotgun.qc:215
 #, c-format
 msgid "%s was gunned by %s"
 msgstr "%s a fost impuscat de %s"
@@ -2858,23 +2858,23 @@ msgstr "Machine Gun"
 msgid "%s was riddled full of holes by %s"
 msgstr "%s a fost gaurit de %s"
 
-#~ msgid "%d/%d"
-#~ msgstr "%d/%d"
+#~ msgid "Speedometer"
+#~ msgstr "Vitezometru"
 
-#~ msgid "Waypoint settings:"
-#~ msgstr "Setari indicatoare:"
+#~ msgid "qu/s (hidden)"
+#~ msgstr "qu/s (ascuns)"
 
-#~ msgid "Sniper Rifle"
-#~ msgstr "Sniper Rifle"
+#~ msgid "Show accelerometer"
+#~ msgstr "Afisaj metru acceleratie"
 
 #~ msgid "Accelerometer scale:"
 #~ msgstr "Marime metru acceleratie:"
 
-#~ msgid "Show accelerometer"
-#~ msgstr "Afisaj metru acceleratie"
+#~ msgid "Sniper Rifle"
+#~ msgstr "Sniper Rifle"
 
-#~ msgid "qu/s (hidden)"
-#~ msgstr "qu/s (ascuns)"
+#~ msgid "Waypoint settings:"
+#~ msgstr "Setari indicatoare:"
 
-#~ msgid "Speedometer"
-#~ msgstr "Vitezometru"
+#~ msgid "%d/%d"
+#~ msgstr "%d/%d"
index f84e369065495160616477871c7a846b7c4fc921..676e9597dbe1ca04b9ff5942e7d244b33529bc7c 100644 (file)
@@ -7,14 +7,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: 0.1preview\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:06+0200\n"
+"POT-Creation-Date: 2011-06-27 18:26+0200\n"
 "PO-Revision-Date: 2011-01-20 13:16+0300\n"
 "Last-Translator: Nikoli <nikoli@lavabit.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: ru\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: ru\n"
 
 #: qcsrc/menu/gamecommand.qc:47
 #, c-format
@@ -375,7 +375,7 @@ msgstr "узлы"
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
 #, fuzzy
 msgid "Show"
-msgstr "Тени"
+msgstr "Ð\9fоказÑ\8bваÑ\82Ñ\8c Ð\91оепÑ\80ипаÑ\81Ñ\8b"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
 #, fuzzy
@@ -488,14 +488,12 @@ msgid "Score Panel"
 msgstr "Таблица Очков"
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
-#, fuzzy
 msgid "Score:"
-msgstr "Размер:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
-#, fuzzy
 msgid "Rankings:"
-msgstr "Оформления:"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
 #, fuzzy
@@ -507,9 +505,8 @@ msgid "And me"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
-#, fuzzy
 msgid "Pure"
-msgstr "Пауза"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
 msgid "Timer Panel"
@@ -1450,9 +1447,8 @@ msgid "Draw 1st person weapon model"
 msgstr "Показывать модель оружия в руках"
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
-#, fuzzy
 msgid "Center"
-msgstr "Создать"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
 msgid "Flip view horizontally"
@@ -2543,37 +2539,37 @@ msgstr ""
 msgid "Electro"
 msgstr "Electro"
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:587
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr ""
@@ -2683,9 +2679,7 @@ msgstr ""
 msgid "Grappling Hook"
 msgstr "Grappling Hook"
 
-#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253 qcsrc/server/w_porto.qc:296
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr ""
@@ -2699,17 +2693,17 @@ msgstr ""
 msgid "Laser"
 msgstr "Laser"
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr ""
@@ -2718,22 +2712,22 @@ msgstr ""
 msgid "Mine Layer"
 msgstr "Mine Layer"
 
-#: qcsrc/server/w_minelayer.qc:522 qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr ""
@@ -2742,6 +2736,12 @@ msgstr ""
 msgid "MinstaNex"
 msgstr "MinstaNex"
 
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr ""
+
 #: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
@@ -2831,12 +2831,12 @@ msgstr ""
 msgid "Shotgun"
 msgstr "Shotgun"
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
 msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_shotgun.qc:215
 #, c-format
 msgid "%s was gunned by %s"
 msgstr ""
@@ -2865,26 +2865,26 @@ msgstr "Machine Gun"
 msgid "%s was riddled full of holes by %s"
 msgstr ""
 
-#~ msgid "%d/%d"
-#~ msgstr "%d/%d"
+#~ msgid "Speedometer"
+#~ msgstr "Спидометр"
 
-#~ msgid "Waypoint settings:"
-#~ msgstr "Настройки отметок:"
+# "quake units per second"
+# you can also translate it as inch/second
+# as it is roughly the same
+#~ msgid "qu/s (hidden)"
+#~ msgstr "qu/s (без назв.)"
 
-#~ msgid "Sniper Rifle"
-#~ msgstr "Sniper Rifle"
+#~ msgid "Show accelerometer"
+#~ msgstr "Показывать акселерометр"
 
 #~ msgid "Accelerometer scale:"
 #~ msgstr "Размер акселерометра:"
 
-#~ msgid "Show accelerometer"
-#~ msgstr "Показывать акселерометр"
+#~ msgid "Sniper Rifle"
+#~ msgstr "Sniper Rifle"
 
-# "quake units per second"
-# you can also translate it as inch/second
-# as it is roughly the same
-#~ msgid "qu/s (hidden)"
-#~ msgstr "qu/s (без назв.)"
+#~ msgid "Waypoint settings:"
+#~ msgstr "Настройки отметок:"
 
-#~ msgid "Speedometer"
-#~ msgstr "Спидометр"
+#~ msgid "%d/%d"
+#~ msgstr "%d/%d"
index cdb5cdf0e5758e12681b315406220658bbe75037..79f4ffd37ffaff0457f1299f1ba51bd640dc87dd 100644 (file)
@@ -8,14 +8,14 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-06-25 13:06+0200\n"
+"POT-Creation-Date: 2011-06-27 18:24+0200\n"
 "PO-Revision-Date: 2011-01-11 22:51+ZONE\n"
 "Last-Translator: marcus256 <marcus256@users.sourceforge.net>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: se\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Language: se\n"
 
 #: qcsrc/menu/gamecommand.qc:47
 #, c-format
@@ -1438,9 +1438,8 @@ msgid "Draw 1st person weapon model"
 msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
-#, fuzzy
 msgid "Center"
-msgstr "Skapa"
+msgstr ""
 
 #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
 msgid "Flip view horizontally"
@@ -2538,37 +2537,37 @@ msgstr ""
 msgid "Electro"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:571
+#: qcsrc/server/w_electro.qc:577
 #, c-format
 msgid "%s could not remember where they put plasma"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:573
+#: qcsrc/server/w_electro.qc:579
 #, c-format
 msgid "%s played with plasma"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:580
+#: qcsrc/server/w_electro.qc:586
 #, c-format
 msgid "%s just noticed %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:582
+#: qcsrc/server/w_electro.qc:588
 #, c-format
 msgid "%s got in touch with %s's blue ball"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:587
+#: qcsrc/server/w_electro.qc:593
 #, c-format
 msgid "%s felt the electrifying air of %s's combo"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:589
+#: qcsrc/server/w_electro.qc:595
 #, c-format
 msgid "%s got too close to %s's blue beam"
 msgstr ""
 
-#: qcsrc/server/w_electro.qc:591
+#: qcsrc/server/w_electro.qc:597
 #, c-format
 msgid "%s was blasted by %s's blue beam"
 msgstr ""
@@ -2679,9 +2678,7 @@ msgstr ""
 msgid "Grappling Hook"
 msgstr ""
 
-#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_minstanex.qc:290
-#: qcsrc/server/w_nex.qc:253 qcsrc/server/w_porto.qc:296
-#: qcsrc/server/w_shotgun.qc:203 qcsrc/server/w_uzi.qc:317
+#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296
 #, c-format
 msgid "%s did the impossible"
 msgstr ""
@@ -2696,17 +2693,17 @@ msgstr ""
 msgid "Laser"
 msgstr "Master:"
 
-#: qcsrc/server/w_laser.qc:305
+#: qcsrc/server/w_laser.qc:311
 #, c-format
 msgid "%s lasered themself to hell"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:309
+#: qcsrc/server/w_laser.qc:315
 #, c-format
 msgid "%s was cut in half by %s's gauntlet"
 msgstr ""
 
-#: qcsrc/server/w_laser.qc:311
+#: qcsrc/server/w_laser.qc:317
 #, c-format
 msgid "%s was lasered to death by %s"
 msgstr ""
@@ -2716,22 +2713,22 @@ msgstr ""
 msgid "Mine Layer"
 msgstr "En Spelare"
 
-#: qcsrc/server/w_minelayer.qc:522 qcsrc/server/w_rocketlauncher.qc:501
+#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
 #, c-format
 msgid "%s exploded"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:526
+#: qcsrc/server/w_minelayer.qc:527
 #, c-format
 msgid "%s got too close to %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:528
+#: qcsrc/server/w_minelayer.qc:529
 #, c-format
 msgid "%s almost dodged %s's mine"
 msgstr ""
 
-#: qcsrc/server/w_minelayer.qc:530
+#: qcsrc/server/w_minelayer.qc:531
 #, c-format
 msgid "%s stepped on %s's mine"
 msgstr ""
@@ -2740,6 +2737,12 @@ msgstr ""
 msgid "MinstaNex"
 msgstr ""
 
+#: qcsrc/server/w_minstanex.qc:290 qcsrc/server/w_nex.qc:253
+#: qcsrc/server/w_shotgun.qc:209 qcsrc/server/w_uzi.qc:317
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr ""
+
 #: qcsrc/server/w_minstanex.qc:292 qcsrc/server/w_nex.qc:255
 #, c-format
 msgid "%s has been vaporized by %s"
@@ -2831,12 +2834,12 @@ msgstr ""
 msgid "Shotgun"
 msgstr "Kort"
 
-#: qcsrc/server/w_shotgun.qc:207
+#: qcsrc/server/w_shotgun.qc:213
 #, c-format
 msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
 msgstr ""
 
-#: qcsrc/server/w_shotgun.qc:209
+#: qcsrc/server/w_shotgun.qc:215
 #, c-format
 msgid "%s was gunned by %s"
 msgstr ""
index 1dfa1b359b9d65cfa4d63f5ee90c187644d0826b..dfefe96ff596d400fdeb70d327ab1eb0cfa7e593 100644 (file)
@@ -93,7 +93,7 @@ void CheckForGamestartChange() {
        if (previous_game_starttime != startTime) {
                if ((time + 5.0) < startTime) {
                        //if connecting to server while restart was active don't always play prepareforbattle
-                       sound(world, CHAN_AUTO, strcat("announcer/", autocvar_cl_announcer, "/prepareforbattle.wav"), VOL_BASEVOICE, ATTN_NONE);
+                       sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/prepareforbattle.wav"), VOL_BASEVOICE, ATTN_NONE);
                }
                if (time < startTime) {
                        restartAnnouncer = spawn();
@@ -371,7 +371,7 @@ void CSQC_UpdateView(float w, float h)
        entity e;
        float fov;
        float f, i, j;
-       vector v, vo;
+       vector v;
        vector vf_size, vf_min;
        float a;
        hud = getstati(STAT_HUD);
@@ -403,7 +403,6 @@ void CSQC_UpdateView(float w, float h)
                myteam = GetPlayerColor(player_localentnum - 1);
 
        ticrate = getstatf(STAT_MOVEVARS_TICRATE) * getstatf(STAT_MOVEVARS_TIMESCALE);
-       vo = '0 0 1' * getstati(STAT_VIEWHEIGHT);
 
        if(autocvar_cl_lockview || (autocvar__hud_configure && spectatee_status <= 0) || intermission > 1)
        {
@@ -550,8 +549,15 @@ void CSQC_UpdateView(float w, float h)
 
        // ALWAYS Clear Current Scene First
        R_ClearScene();
+#ifdef WORKAROUND_XON010
+       if(checkextension("DP_CSQC_ROTATEMOVES"))
+       {
+#endif
        R_SetView(VF_ORIGIN, view_origin);
        R_SetView(VF_ANGLES, view_angles);
+#ifdef WORKAROUND_XON010
+       }
+#endif
 
        // FIXME engine bug? VF_SIZE and VF_MIN are not restored to sensible values by this
        R_SetView(VF_SIZE, vf_size);
@@ -939,13 +945,13 @@ void CSQC_UpdateView(float w, float h)
        hit_time = getstatf(STAT_HIT_TIME);
        if(hit_time > nextsound_hit_time && autocvar_cl_hitsound)
        {
-               sound(world, CHAN_AUTO, "misc/hit.wav", VOL_BASE, ATTN_NONE);
+               sound(world, CH_INFO, "misc/hit.wav", VOL_BASE, ATTN_NONE);
                nextsound_hit_time = time + autocvar_cl_hitsound_antispam_time;
        }
        typehit_time = getstatf(STAT_TYPEHIT_TIME);
        if(typehit_time > nextsound_typehit_time)
        {
-               sound(world, CHAN_AUTO, "misc/typehit.wav", VOL_BASE, ATTN_NONE);
+               sound(world, CH_INFO, "misc/typehit.wav", VOL_BASE, ATTN_NONE);
                nextsound_typehit_time = time + autocvar_cl_hitsound_antispam_time;
        }
 
index 423896f39a3ed46f31b94ad7eac4bb7eea4111cc..9234b4743414ba73002a7a566832f7d4cf3785a6 100644 (file)
@@ -55,7 +55,7 @@ void Casing_Touch()
                                                break;
                                }
 
-                               sound (self, CHAN_PROJECTILE, s, VOL_BASE, ATTN_NORM);
+                               sound (self, CH_SHOTS_SINGLE, s, VOL_BASE, ATTN_NORM);
                        }
                }
        }
index 5976eb975eee0e3151deff590e4348916714e41a..e82f4399bdb0ce9921ceabe7bf059ab9ff8673fd 100644 (file)
@@ -64,18 +64,6 @@ const float          STAT_FRAGLIMIT                                  = 235;
 const float            STAT_TIMELIMIT                                  = 236;
 const float     STAT_MOVEVARS_GRAVITY           = 242;
 
-// Sound Constants
-//const float          CHAN_AUTO                                               = 0;
-//const float          CHAN_WEAPON                                             = 1;
-//const float          CHAN_VOICE                                              = 2;
-//const float          CHAN_ITEM                                               = 3;
-//const float          CHAN_BODY                                               = 4;
-
-//const float          ATTN_NONE                                               = 0;
-//const float          ATTN_NORM                                               = 1;
-//const float          ATTN_IDLE                                               = 2;
-//const float          ATTN_STATIC                                             = 3;
-
 // Quake-style Point Contents
 const float            CONTENT_EMPTY                                   = -1;
 const float            CONTENT_SOLID                                   = -2;
index 6ff989e4a6ed598d55e0da35ad71d535f33bfa2d..daff7554e0b2beff745a542bff13570abfe2abc9 100644 (file)
@@ -88,33 +88,33 @@ void Ent_DamageInfo(float isNew)
             case DEATH_SBMINIGUN:
                 string _snd;
                 _snd = strcat("weapons/ric", ftos(1 + rint(random() * 2)), ".waw");
-                sound(self, CHAN_PROJECTILE, _snd, VOL_BASE, ATTN_NORM);
+                sound(self, CH_SHOTS_SINGLE, _snd, VOL_BASE, ATTN_NORM);
                 pointparticles(particleeffectnum("spiderbot_minigun_impact"), self.origin, w_backoff * 1000, 1);
                 break;
             case DEATH_SBROCKET:
-                sound(self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+                sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
                 pointparticles(particleeffectnum("spiderbot_rocket_explode"), self.origin, w_backoff * 1000, 1);
                 break;
             case DEATH_SBBLOWUP:
-                sound(self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN);
+                sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN);
                 pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1);
                 break;
                 
             case DEATH_WAKIGUN:
-                sound(self, CHAN_PROJECTILE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
+                sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
                 pointparticles(particleeffectnum("wakizashi_gun_impact"), self.origin, w_backoff * 1000, 1);
                 break;
             case DEATH_WAKIROCKET:
-                sound(self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+                sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
                 pointparticles(particleeffectnum("wakizashi_rocket_explode"), self.origin, w_backoff * 1000, 1);
                 break;
             case DEATH_WAKIBLOWUP:
-                sound(self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN);
+                sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN);
                 pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1);
                 break;
                 
             case DEATH_RAPTOR_CANNON:
-                sound(self, CHAN_PROJECTILE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
+                sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
                 pointparticles(particleeffectnum("raptor_cannon_impact"), self.origin, w_backoff * 1000, 1);
                 break;
             case DEATH_RAPTOR_BOMB_SPLIT:
@@ -128,15 +128,15 @@ void Ent_DamageInfo(float isNew)
                 }
                     
                 
-                sound(self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+                sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
                 pointparticles(particleeffectnum("raptor_bomb_spread"), self.origin, w_backoff * 1000, 1);
                 break;
             case DEATH_RAPTOR_BOMB:
-                sound(self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+                sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
                 pointparticles(particleeffectnum("raptor_bomb_impact"), self.origin, w_backoff * 1000, 1);
                 break;
             case DEATH_RAPTOR_DEATH:
-                sound(self, CHAN_PROJECTILE, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN);
+                sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN);
                 pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1);
                 break;
            }
@@ -156,7 +156,7 @@ void Ent_DamageInfo(float isNew)
            switch(w_deathtype)
            {   
              case DEATH_TURRET_EWHEEL:
-                sound(self, CHAN_PROJECTILE, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN);
+                sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN);
                 pointparticles(particleeffectnum("electro_impact"), self.origin, w_backoff * 1000, 1);
                 break;
              
@@ -165,11 +165,11 @@ void Ent_DamageInfo(float isNew)
                 org2 = w_org + w_backoff * 6;
                 pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1);
                 if (w_random<0.15)
-                    sound(self, CHAN_PROJECTILE, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM);
+                    sound(self, CH_SHOTS_SINGLE, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM);
                 else if (w_random<0.7)
-                    sound(self, CHAN_PROJECTILE, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM);
+                    sound(self, CH_SHOTS_SINGLE, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM);
                 else
-                    sound(self, CHAN_PROJECTILE, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM);
+                    sound(self, CH_SHOTS_SINGLE, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM);
                 
                 break;
                 
@@ -177,7 +177,7 @@ void Ent_DamageInfo(float isNew)
              case DEATH_TURRET_HK:
              case DEATH_TURRET_WALKER_ROCKET:
              case DEATH_TURRET_HELLION:
-                sound(self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN);
+                sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN);
                 pointparticles(particleeffectnum("rocket_explode"), self.origin, w_backoff * 1000, 1);
                 break;
              
@@ -185,17 +185,17 @@ void Ent_DamageInfo(float isNew)
              case DEATH_TURRET_WALKER_GUN:
                 string _snd;
                 _snd = strcat("weapons/ric", ftos(1 + rint(random() * 2)), ".waw");
-                sound(self, CHAN_PROJECTILE, _snd, VOL_BASE, ATTN_NORM);
+                sound(self, CH_SHOTS_SINGLE, _snd, VOL_BASE, ATTN_NORM);
                 pointparticles(particleeffectnum("machinegun_impact"), self.origin, w_backoff * 1000, 1);
                 break;
                           
              case DEATH_TURRET_PLASMA:
-                sound(self, CHAN_PROJECTILE, "weapons/electro_impact.wav", VOL_BASE, ATTN_MIN);
+                sound(self, CH_SHOTS_SINGLE, "weapons/electro_impact.wav", VOL_BASE, ATTN_MIN);
                 pointparticles(particleeffectnum("electro_impact"), self.origin, w_backoff * 1000, 1);
                 break;
                           
              case DEATH_TURRET_WALKER_MEELE:
-                sound(self, CHAN_PROJECTILE, "weapons/ric1.wav", VOL_BASE, ATTN_MIN);
+                sound(self, CH_SHOTS_SINGLE, "weapons/ric1.wav", VOL_BASE, ATTN_MIN);
                 pointparticles(particleeffectnum("TE_SPARK"), self.origin, w_backoff * 1000, 1);
                 break;
 
index 1f8af46ca16c4178284485bfa93626b416506968..4041bacc1b0ea6921f1cdd08d95750b03c9e5878 100644 (file)
@@ -73,7 +73,7 @@ void Gib_Touch()
        }
 
        if(!self.silent)
-               sound(self, CHAN_PAIN, strcat("misc/gib_splat0", ftos(floor(prandom() * 4 + 1)), ".wav"), VOL_BASE, ATTN_NORM);
+               sound(self, CH_PAIN, strcat("misc/gib_splat0", ftos(floor(prandom() * 4 + 1)), ".wav"), VOL_BASE, ATTN_NORM);
        pointparticles(particleeffectnum(strcat(species_prefix(self.cnt), "blood")), self.origin + '0 0 1', '0 0 30', 10);
 
        Gib_Delete();
@@ -192,7 +192,7 @@ void Ent_GibSplash(float isNew)
        {
                case 0x01:
                        if(!issilent)
-                               sound (self, CHAN_PAIN, "misc/gib.wav", VOL_BASE, ATTN_NORM);
+                               sound (self, CH_PAIN, "misc/gib.wav", VOL_BASE, ATTN_NORM);
 
                        if(prandom() < amount)
                                TossGib ("models/gibs/eye.md3", org, vel, prandomvec() * 150, specnum, 0, issilent);
index 7ff5adeca46204beaf8e37d040341b84c3ee6854..4971fa3aa1705a126428729db0e2804ea6a65742 100644 (file)
@@ -59,7 +59,7 @@ void Draw_GrapplingHook()
        if(self.teleport_time)
        if(time > self.teleport_time)
        {
-               sound (self, CHAN_PROJECTILE, "misc/null.wav", VOL_BASE, ATTN_NORM); // safeguard
+               sound (self, CH_SHOTS_SINGLE, "misc/null.wav", VOL_BASE, ATTN_NORM); // safeguard
                self.teleport_time = 0;
        }
 
@@ -215,7 +215,7 @@ void Draw_GrapplingHook()
 
 void Remove_GrapplingHook()
 {
-       sound (self, CHAN_PROJECTILE, "misc/null.wav", VOL_BASE, ATTN_NORM);
+       sound (self, CH_SHOTS_SINGLE, "misc/null.wav", VOL_BASE, ATTN_NORM);
 }
 
 void Ent_ReadHook(float bIsNew, float type)
@@ -275,10 +275,10 @@ void Ent_ReadHook(float bIsNew, float type)
                                self.drawmask = MASK_NORMAL;
                                break;
                        case ENT_CLIENT_LGBEAM:
-                               sound (self, CHAN_PROJECTILE, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM);
+                               sound (self, CH_SHOTS_SINGLE, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM);
                                break;
                        case ENT_CLIENT_GAUNTLET:
-                               sound (self, CHAN_PROJECTILE, "weapons/gauntletbeam_fly.wav", VOL_BASE, ATTN_NORM);
+                               sound (self, CH_SHOTS_SINGLE, "weapons/gauntletbeam_fly.wav", VOL_BASE, ATTN_NORM);
                                break;
                }
        }
index a9e7ca4a94beee110d55d8b85d3879fa03132eff..b40dd49ee177da1587efb86372a871ccf2aa025a 100644 (file)
@@ -436,7 +436,7 @@ void MapVote_UpdateMask()
 
        if(oldmask & mv_maps_mask != oldmask)
                if(oldmask & mv_maps_mask == mv_maps_mask)
-                        sound(world, CHAN_AUTO, "misc_invshot.wav", VOL_BASE, ATTN_NONE);
+                        sound(world, CH_INFO, "misc_invshot.wav", VOL_BASE, ATTN_NONE);
 
        // remove votes that no longer apply
        for(i = 0, power = 1; i < mv_num_maps; ++i, power *= 2)
index d59c75ba8d81629cfc485bea7499a6fe32a9a60a..da09230dbc1965cab6b3f3310fe633b4e43f24c2 100644 (file)
@@ -8,7 +8,7 @@ void serverAnnouncer()
        // check for pending announcement, play it and remove it
        if(announce_snd != "")
        {
-               sound(world, CHAN_AUTO, strcat("announcer/", autocvar_cl_announcer, "/", announce_snd, ".wav"), VOL_BASEVOICE, ATTN_NONE);
+               sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/", announce_snd, ".wav"), VOL_BASEVOICE, ATTN_NONE);
                strunzone(announce_snd);
                announce_snd = "";
        }
@@ -22,7 +22,7 @@ void restartAnnouncer_Think() {
                if (!spectatee_status) //do cprint only for players
                        centerprint(_("^1Begin!"));
 
-               sound(world, CHAN_AUTO, strcat("announcer/", autocvar_cl_announcer, "/begin.wav"), VOL_BASEVOICE, ATTN_NONE);
+               sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/begin.wav"), VOL_BASEVOICE, ATTN_NONE);
                //reset maptime announcers now as well
                announcer_5min = announcer_1min = FALSE;
 
@@ -34,7 +34,7 @@ void restartAnnouncer_Think() {
                        centerprint(sprintf(_("^1Game starts in %d seconds"), countdown_rounded));
 
                if(countdown_rounded <= 3 && countdown_rounded >= 1) {
-                       sound(world, CHAN_AUTO, strcat("announcer/", autocvar_cl_announcer, "/", ftos(countdown_rounded), ".wav"), VOL_BASEVOICE, ATTN_NONE);
+                       sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/", ftos(countdown_rounded), ".wav"), VOL_BASEVOICE, ATTN_NONE);
                }
 
                self.nextthink = getstatf(STAT_GAMESTARTTIME) - (countdown - 1);
@@ -71,7 +71,7 @@ void maptimeAnnouncer() {
                        //if we're in warmup mode, check whether there's a warmup timelimit
                        if not (warmuplimit == -1 && warmup_stage) {
                                announcer_5min = TRUE;
-                               sound(world, CHAN_AUTO, strcat("announcer/", autocvar_cl_announcer, "/5minutesremain.wav"), VOL_BASEVOICE, ATTN_NONE);
+                               sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/5minutesremain.wav"), VOL_BASEVOICE, ATTN_NONE);
                        }
        }
 
@@ -86,7 +86,7 @@ void maptimeAnnouncer() {
                        //if we're in warmup mode, check whether there's a warmup timelimit
                        if not (warmuplimit == -1 && warmup_stage) {
                                announcer_1min = TRUE;
-                               sound(world, CHAN_AUTO, strcat("announcer/", autocvar_cl_announcer, "/1minuteremains.wav"), VOL_BASEVOICE, ATTN_NONE);
+                               sound(world, CH_INFO, strcat("announcer/", autocvar_cl_announcer, "/1minuteremains.wav"), VOL_BASEVOICE, ATTN_NONE);
                        }
        }
 }
index b33b81a018ca982638304afd5edcc3e5adf753d3..b7233eee14b8c1a5e29a21b1e22b6c59c7584664 100644 (file)
@@ -58,7 +58,7 @@ void Draw_PointParticles()
                        if(self.noise != "")
                        {
                                self.origin = p;
-                               sound(self, CHAN_TRIGGER, self.noise, VOL_BASE * self.volume, self.atten);
+                               sound(self, CH_AMBIENT, self.noise, VOL_BASE * self.volume, self.atten);
                        }
                        self.just_toggled = 0;
                }
index 2282723867b1ec3bb23bfc40c282c25591c5cb4d..31fecfaee2287e81131ebb5e5319c33983a02f7b 100644 (file)
@@ -171,7 +171,7 @@ void loopsound(entity e, float ch, string samp, float vol, float attn)
 void Ent_RemoveProjectile()
 {
        if(self.snd_looping)
-               sound(self, CHAN_PROJECTILE, "misc/null.wav", VOL_BASE, ATTN_NORM);
+               sound(self, CH_SHOTS_SINGLE, "misc/null.wav", VOL_BASE, ATTN_NORM);
 
        if(self.count & 0x80)
        {
@@ -320,7 +320,7 @@ void Ent_Projectile()
                {
                        case PROJECTILE_ELECTRO:
                                // only new engines support sound moving with object
-                               loopsound(self, CHAN_PROJECTILE, "weapons/electro_fly.wav", VOL_BASE, ATTN_NORM);
+                               loopsound(self, CH_SHOTS_SINGLE, "weapons/electro_fly.wav", VOL_BASE, ATTN_NORM);
                                self.mins = '0 0 -4';
                                self.maxs = '0 0 -4';
                                self.move_movetype = MOVETYPE_BOUNCE;
@@ -329,7 +329,7 @@ void Ent_Projectile()
                                self.move_bounce_stopspeed = g_balance_electro_secondary_bouncestop;
                                break;
                        case PROJECTILE_ROCKET:
-                               loopsound(self, CHAN_PROJECTILE, "weapons/rocket_fly.wav", VOL_BASE, ATTN_NORM);
+                               loopsound(self, CH_SHOTS_SINGLE, "weapons/rocket_fly.wav", VOL_BASE, ATTN_NORM);
                                self.mins = '-3 -3 -3';
                                self.maxs = '3 3 3';
                                break;
@@ -370,12 +370,12 @@ void Ent_Projectile()
                                self.move_touch = SUB_Null;
                                break;
                        case PROJECTILE_FIREBALL:
-                               loopsound(self, CHAN_PROJECTILE, "weapons/fireball_fly2.wav", VOL_BASE, ATTN_NORM);
+                               loopsound(self, CH_SHOTS_SINGLE, "weapons/fireball_fly2.wav", VOL_BASE, ATTN_NORM);
                                self.mins = '-16 -16 -16';
                                self.maxs = '16 16 16';
                                break;
                        case PROJECTILE_FIREMINE:
-                               loopsound(self, CHAN_PROJECTILE, "weapons/fireball_fly.wav", VOL_BASE, ATTN_NORM);
+                               loopsound(self, CH_SHOTS_SINGLE, "weapons/fireball_fly.wav", VOL_BASE, ATTN_NORM);
                                self.move_movetype = MOVETYPE_BOUNCE;
                                self.move_touch = SUB_Null;
                                self.mins = '-4 -4 -4';
@@ -390,7 +390,7 @@ void Ent_Projectile()
                                self.maxs = '2 2 2';
                                break;
                        case PROJECTILE_SEEKER:
-                               loopsound(self, CHAN_PROJECTILE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM);
+                               loopsound(self, CH_SHOTS_SINGLE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM);
                                self.mins = '-4 -4 -4';
                                self.maxs = '4 4 4';
                                break;
@@ -403,10 +403,10 @@ void Ent_Projectile()
             case PROJECTILE_RAPTORCANNON:
                                break;
             case PROJECTILE_SPIDERROCKET:
-                loopsound(self, CHAN_PROJECTILE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM);
+                loopsound(self, CH_SHOTS_SINGLE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM);
                                break;
             case PROJECTILE_WAKIROCKET:
-                loopsound(self, CHAN_PROJECTILE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM);
+                loopsound(self, CH_SHOTS_SINGLE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM);
                                break;
             case PROJECTILE_WAKICANNON:
                                break;
index 8e024ead5b0c7fdeb36865a802c9378bf55ba7bf..37ace81a322ef33aaebcfc8831d3935e5bcd3145 100644 (file)
@@ -792,6 +792,7 @@ vector HUD_Scoreboard_MakeTable(vector pos, entity tm, vector rgb, vector bg_siz
 
        body_table_height = 1.25 * hud_fontsize_y * max(1, tm.team_size); // no player? show 1 empty line
 
+       pos_y += autocvar_scoreboard_border_thickness;
        pos -= '1 1 0';
 
        tmp_x = sbwidth + 2;
@@ -947,7 +948,7 @@ vector HUD_DrawScoreboardAccuracyStats(vector pos, vector rgb, vector bg_size)
        float weapon_width = sbwidth / weapon_cnt;
 
        drawstring(pos, sprintf(_("Accuracy stats (average %d%%)"), average_accuracy), hud_fontsize, '1 1 1', scoreboard_alpha_fg, DRAWFLAG_NORMAL);
-       pos_y += 1.25 * hud_fontsize_y;
+       pos_y += 1.25 * hud_fontsize_y + autocvar_scoreboard_border_thickness;
        vector tmp;
        tmp_x = sbwidth;
        tmp_y = height * rows;
@@ -1072,7 +1073,7 @@ vector HUD_DrawScoreboardRankings(vector pos, entity pl,  vector rgb, vector bg_
 
        pos_y += hud_fontsize_y;
        drawstring(pos, _("Rankings"), hud_fontsize, '1 1 1', scoreboard_alpha_fg, DRAWFLAG_NORMAL);
-       pos_y += hud_fontsize_y;
+       pos_y += hud_fontsize_y + autocvar_scoreboard_border_thickness;
        vector tmp;
        tmp_x = sbwidth;
        tmp_y = 1.25 * hud_fontsize_y * RANKINGS_RECEIVED_CNT;
@@ -1102,6 +1103,7 @@ vector HUD_DrawScoreboardRankings(vector pos, entity pl,  vector rgb, vector bg_
                drawcolorcodedstring(pos + '8 0 0' * hud_fontsize_y, n, '1 1 0' * hud_fontsize_y, scoreboard_alpha_fg, DRAWFLAG_NORMAL);
                pos_y += 1.25 * hud_fontsize_y;
        }
+       pos_y += autocvar_scoreboard_border_thickness;
 
        return pos;
 }
@@ -1147,6 +1149,7 @@ void HUD_DrawScoreboard()
 
        vector rgb, pos, tmp;
        entity pl, tm;
+       string str;
 
        xmin = autocvar_scoreboard_offset_left * vid_conwidth;
        ymin = autocvar_con_notify * autocvar_con_notifysize;
@@ -1162,29 +1165,36 @@ void HUD_DrawScoreboard()
        pos_z = 0;
 
        // Heading
-       drawstring(pos, _("Scoreboard"), '24 24 0', '1 1 1', scoreboard_alpha_fg, DRAWFLAG_NORMAL);
+       vector sb_heading_fontsize;
+       sb_heading_fontsize = hud_fontsize * 2;
+       drawstring(pos, _("Scoreboard"), sb_heading_fontsize, '1 1 1', scoreboard_alpha_fg, DRAWFLAG_NORMAL);
        
-       centerprint_start_x = vid_conwidth - 0.5 * (pos_x + stringwidth(_("Scoreboard"), FALSE, '24 24 0'));
+       centerprint_start_x = vid_conwidth - 0.5 * (pos_x + stringwidth(_("Scoreboard"), FALSE, sb_heading_fontsize));
        centerprint_start_y = pos_y;
 
-       pos_y += 24;
+       pos_y += sb_heading_fontsize_y + hud_fontsize_y * 0.25;
 
        // Draw the scoreboard
        vector bg_size = drawgetimagesize("gfx/scoreboard/scoreboard_bg") * autocvar_scoreboard_bg_scale;
 
        if(teamplay)
        {
+               vector team_score_baseoffset;
+               team_score_baseoffset = eY * (2 * autocvar_scoreboard_border_thickness + hud_fontsize_y) - eX * (autocvar_scoreboard_border_thickness + hud_fontsize_x * 0.25);
                for(tm = teams.sort_next; tm; tm = tm.sort_next)
                {
                        if(tm.team == COLOR_SPECTATOR)
                                continue;
 
                        rgb = GetTeamRGB(tm.team);
-                       drawstring(pos - '2 0 0' * hud_fontsize_x + '0 1 0' * hud_fontsize_y, ftos(tm.(teamscores[ts_primary])), '1 1 0' * hud_fontsize_y * 1.5, rgb, scoreboard_alpha_fg, DRAWFLAG_NORMAL);
+                       str = ftos(tm.(teamscores[ts_primary]));
+                       drawstring(pos + team_score_baseoffset - eX * stringwidth(str, FALSE, hud_fontsize * 1.5), str, hud_fontsize * 1.5, rgb, scoreboard_alpha_fg, DRAWFLAG_NORMAL);
 
                        if(ts_primary != ts_secondary)
-                               drawstring(pos - '2 0 0' * hud_fontsize_x + '0 2.5 0' * hud_fontsize_y, ftos(tm.(teamscores[ts_secondary])), '1 1 0' * hud_fontsize_y * 1, rgb, scoreboard_alpha_fg, DRAWFLAG_NORMAL);
-
+                       {
+                               str = ftos(tm.(teamscores[ts_secondary]));
+                               drawstring(pos + team_score_baseoffset - eX * stringwidth(str, FALSE, hud_fontsize) + eY * hud_fontsize_y * 1.5, str, hud_fontsize, rgb, scoreboard_alpha_fg, DRAWFLAG_NORMAL);
+                       }
                        pos = HUD_Scoreboard_MakeTable(pos, tm, rgb, bg_size);
                }
        }
@@ -1241,7 +1251,6 @@ void HUD_DrawScoreboard()
        }
 
        // Print info string
-       string str;
        float tl, fl, ll;
        str = sprintf(_("playing on ^2%s^7"), shortmapname);
        tl = getstatf(STAT_TIMELIMIT);
index b50d5a862a92c4da7f21a807d325736681a4e52e..c4573296a6bb0af9f35dedf39ae177855fc847bb 100644 (file)
@@ -19,7 +19,7 @@ void TargetMusic_Advance()
        for(e = world; (e = findfloat(e, enttype, ENT_CLIENT_TRIGGER_MUSIC)); ) if(e.noise)
        {
                vol0 = e.lastvol;
-               if(getsoundtime(e, CHAN_VOICE) < 0)
+               if(getsoundtime(e, CH_BGM_SINGLE) < 0)
                {
                        vol0 = -1;
                }
@@ -43,16 +43,16 @@ void TargetMusic_Advance()
                if(vol != vol0)
                {
                        if(vol0 < 0)
-                               sound(e, CHAN_VOICE, e.noise, vol, ATTN_NONE); // restart
+                               sound(e, CH_BGM_SINGLE, e.noise, vol, ATTN_NONE); // restart
                        else
-                               sound(e, CHAN_VOICE, "", vol, ATTN_NONE);
+                               sound(e, CH_BGM_SINGLE, "", vol, ATTN_NONE);
                        e.lastvol = vol;
                }
        }
        music_trigger = world;
 
        if(best)
-               bgmtime = getsoundtime(best, CHAN_VOICE);
+               bgmtime = getsoundtime(best, CH_BGM_SINGLE);
        else
                bgmtime = gettime(GETTIME_CDTRACK);
 }
@@ -87,8 +87,8 @@ void Net_TargetMusic()
                        strunzone(e.noise);
                e.noise = strzone(noi);
                precache_sound(e.noise);
-               sound(e, CHAN_VOICE, e.noise, 0, ATTN_NONE);
-               if(getsoundtime(e, CHAN_VOICE) < 0)
+               sound(e, CH_BGM_SINGLE, e.noise, 0, ATTN_NONE);
+               if(getsoundtime(e, CH_BGM_SINGLE) < 0)
                {
                        print(sprintf(_("Cannot initialize sound %s\n"), e.noise));
                        strunzone(e.noise);
@@ -175,8 +175,8 @@ void Ent_ReadTriggerMusic()
                if(self.noise != s)
                {
                        precache_sound(self.noise);
-                       sound(self, CHAN_VOICE, self.noise, 0, ATTN_NONE);
-                       if(getsoundtime(self, CHAN_VOICE) < 0)
+                       sound(self, CH_BGM_SINGLE, self.noise, 0, ATTN_NONE);
+                       if(getsoundtime(self, CH_BGM_SINGLE) < 0)
                        {
                                print(sprintf(_("Cannot initialize sound %s\n"), self.noise));
                                strunzone(self.noise);
index 55fcd88bc2b3c593df8d9023d0788d00899b488a..d625804908117d421904ca4608abdf6c154691b9 100644 (file)
@@ -355,7 +355,7 @@ void turret_gibboom()
 {
     float i;
     
-    sound (self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+    sound (self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
     pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1);
 
     for (i = 1; i < 5; i = i + 1)
@@ -399,7 +399,7 @@ void turret_die()
     
     setmodel(self, "");
     setmodel(self.tur_head, "");
-    sound (self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+    sound (self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
     pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1);
     turret_tid2info(self.turret_type);
     dprint("Turret ", tid2info_name, " dies.\n");
@@ -498,8 +498,9 @@ void ent_turret()
             self.team = _team;
             turret_changeteam();        
         }
+        
+        if(self.health == 0)
+            turret_die();
     } 
     
-    if(self.health == 0)
-        turret_die();
 }
index 5f1228557f37f2974a8e3efe4434b3241555acd1..06edec4da0e00a82982093323a63ee5f84546548 100644 (file)
@@ -13,18 +13,18 @@ void Ent_TubaNote_Think()
        self.nextthink = time;
        if(self.cnt <= 0)
        {
-               sound(self, CHAN_PROJECTILE, "misc/null.wav", 0, 0);
+               sound(self, CH_SHOTS_SINGLE, "misc/null.wav", 0, 0);
                remove(self);
        }
        else
-               sound(self, CHAN_PROJECTILE, "", self.cnt, self.attenuate * autocvar_g_balance_tuba_attenuation);
+               sound(self, CH_SHOTS_SINGLE, "", self.cnt, self.attenuate * autocvar_g_balance_tuba_attenuation);
 }
 
 void Ent_TubaNote_UpdateSound()
 {
        self.enemy.cnt = bound(0, VOL_BASE * autocvar_g_balance_tuba_volume, 1);
        self.enemy.count = self.enemy.cnt;
-       sound(self.enemy, CHAN_PROJECTILE, TUBA_STARTNOTE(self.cnt), self.enemy.cnt, self.enemy.attenuate * autocvar_g_balance_tuba_attenuation);
+       sound(self.enemy, CH_SHOTS_SINGLE, TUBA_STARTNOTE(self.cnt), self.enemy.cnt, self.enemy.attenuate * autocvar_g_balance_tuba_attenuation);
 }
 
 void Ent_TubaNote_StopSound()
index ab42d619aa3906abc47214dc0b3ba488716b7aa4..a06190b3ded7c21dec7800d60693e910e8268107 100644 (file)
@@ -217,7 +217,7 @@ void CSQC_SPIDER_HUD()
         if(alarm1time < time)
         {
             alarm1time = time + 2;
-            sound(world, CHAN_PAIN, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(world, CH_PAIN, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE);
         }        
         drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
     }        
@@ -226,7 +226,7 @@ void CSQC_SPIDER_HUD()
         drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
         if(alarm1time)
         {
-            sound(world, CHAN_PAIN, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(world, CH_PAIN, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
             alarm1time = 0;
         }        
     }
@@ -244,7 +244,7 @@ void CSQC_SPIDER_HUD()
         if(alarm2time < time)
         {
             alarm2time = time + 1;
-            sound(world, CHAN_TRIGGER, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(world, CH_TRIGGER_SINGLE, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE);
         }
         drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
     }
@@ -253,7 +253,7 @@ void CSQC_SPIDER_HUD()
         drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
         if(alarm2time)
         {            
-            sound(world, CHAN_TRIGGER, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(world, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
             alarm2time = 0;
         }
     }
@@ -376,7 +376,7 @@ void CSQC_RAPTOR_HUD()
         if(alarm1time < time)
         {
             alarm1time = time + 2;
-            sound(self, CHAN_PAIN, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(self, CH_PAIN_SINGLE, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE);
         }
         
         drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
@@ -386,7 +386,7 @@ void CSQC_RAPTOR_HUD()
         drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
         if(alarm1time)
         {
-            sound(self, CHAN_PAIN, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(self, CH_PAIN_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
             alarm1time = 0;
         }
     }
@@ -405,7 +405,7 @@ void CSQC_RAPTOR_HUD()
         if(alarm2time < time)
         {
             alarm2time = time + 1;
-            sound(world, CHAN_TRIGGER, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(world, CH_TRIGGER_SINGLE, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE);
         }
         drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
     }
@@ -414,7 +414,7 @@ void CSQC_RAPTOR_HUD()
         drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
         if(alarm2time)
         {            
-            sound(world, CHAN_TRIGGER, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(world, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
             alarm2time = 0;
         }
     }
@@ -566,7 +566,7 @@ void CSQC_WAKIZASHI_HUD()
         if(alarm1time < time)
         {
             alarm1time = time + 2;
-            sound(self, CHAN_PAIN, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(self, CH_PAIN_SINGLE, "vehicles/alarm.wav", VOL_BASEVOICE, ATTN_NONE);
         }
         
         drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
@@ -576,7 +576,7 @@ void CSQC_WAKIZASHI_HUD()
         drawpic(hudloc + picloc, hud_hp_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
         if(alarm1time)
         {
-            sound(self, CHAN_PAIN, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(self, CH_PAIN_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
             alarm1time = 0;
         }        
     }
@@ -596,7 +596,7 @@ void CSQC_WAKIZASHI_HUD()
         if(alarm2time < time)
         {
             alarm2time = time + 1;
-            sound(world, CHAN_TRIGGER, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(world, CH_TRIGGER_SINGLE, "vehicles/alarm_shield.wav", VOL_BASEVOICE, ATTN_NONE);
         }
         drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 0 0' + '0 1 1' * sin(time * 8), 1, DRAWFLAG_NORMAL);
     }
@@ -605,7 +605,7 @@ void CSQC_WAKIZASHI_HUD()
         drawpic(hudloc + picloc, hud_sh_ico, picsize, '1 1 1', 1, DRAWFLAG_NORMAL);
         if(alarm2time)
         {            
-            sound(world, CHAN_TRIGGER, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
+            sound(world, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASEVOICE, ATTN_NONE);
             alarm2time = 0;
         }
     }
index fcce8a70bbfcfab6b76ad6b3be16a80f35634113..de0edbb31f3a6eba94c9bc38381a8f753388c668 100644 (file)
@@ -429,47 +429,35 @@ const float STAT_DOM_PPS_YELLOW = 104;
 #define SP_SCORE 3
 // game mode specific indices are not in common/, but in server/scores_rules.qc!
 
-// this assignment must match menu/xonotic/dialog_settings_misc.c!
-float  CHAN_AUTO                               = 0;
-       // on world: announcers, ...                     INFO
-       // on players: item pickup                       ITEMS
-       // on entities: UNUSED
-       // on csqc: announcers                           INFO
-float  CHAN_WEAPON                             = 1; // Weapon fire
-       // on world: UNUSED
-       // on players: weapon firing                     WEAPONS
-       // on entities: turret firing                    WEAPONS
-       // on csqc: UNUSED
-float  CHAN_VOICE                              = 2; // Voice/Radio
-       // on world: UNUSED
-       // on players: voice                             VOICE
-       // on entities: ambient                          AMBIENT
-       // on csqc: background music                     BGM
-float  CHAN_TRIGGER                    = 3; // Triggers/Items
-       // on world: UNUSED
-       // on players: item pickup                       ITEMS
-       // on entities: platforms moving etc.            ITEMS
-       // on csqc: platforms moving etc.                ITEMS
-float  CHAN_PROJECTILE                 = 4; // Projectiles
-       // on world: UNUSED
-       // on players: projectiles hitting player        SHOTS
-       // on entities: projectiles                      SHOTS
-       // on csqc: projectile sounds                    SHOTS
-float  CHAN_WEAPON2                    = 5; // Nex fire (separated as it is a very long sound)
-       // on world: UNUSED
-       // on players: weapon firing                     WEAPONS
-       // on entities: turret firing                    WEAPONS
-       // on csqc: UNUSED
-float  CHAN_PAIN                               = 6; // Pain
-       // on world: UNUSED
-       // on players: pain                              PAIN
-       // on entities: projectiles flying               SHOTS
-       // on csqc: player pain                          PAIN
-float  CHAN_PLAYER                             = 7; // Player body
-       // on world: UNUSED
-       // on players: player sounds                     PLAYER
-       // on entities: player sounds                    PLAYER
-       // on csqc: UNUSED
+#ifdef COMPAT_XON010_CHANNELS
+float CH_INFO = 0; // only on world and csqc
+float CH_TRIGGER = 0; // only on players; compat: FALSELY CONTROLLED BY "Info"
+float CH_WEAPON_A = 1; // only on players and entities
+float CH_WEAPON_SINGLE = 1; // only on players and entities
+float CH_VOICE = 2; // only on players
+float CH_BGM_SINGLE = 2; // only on csqc; compat: FALSELY CONTROLLED BY "Voice"
+float CH_AMBIENT = 2; // only on csqc; compat: FALSELY CONTROLLED BY "Voice"
+float CH_TRIGGER_SINGLE = 3; // only on players, entities, csqc
+float CH_SHOTS_SINGLE = 4; // only on players, entities, csqc
+float CH_WEAPON_B = 5; // only on players and entities
+float CH_PAIN = 6; // only on players and csqc
+float CH_PAIN_SINGLE = 6; // only on players and csqc
+float CH_PLAYER = 7; // only on players and entities
+#else
+float CH_INFO = 0;
+float CH_TRIGGER = -3;
+float CH_WEAPON_A = -1;
+float CH_WEAPON_SINGLE = 1;
+float CH_VOICE = -2;
+float CH_BGM_SINGLE = 8;
+float CH_AMBIENT = -9;
+float CH_TRIGGER_SINGLE = 3;
+float CH_SHOTS_SINGLE = 4;
+float CH_WEAPON_B = -1;
+float CH_PAIN = -6;
+float CH_PAIN_SINGLE = 6;
+float CH_PLAYER = -7;
+#endif
 
 float  ATTN_NONE                               = 0;
 float  ATTN_MIN                                = 0.015625;
index bc086e4a9af392358db52715af04de0ae882f6bc..f5633ab3f31dec7546438633407c4feb6edede7a 100644 (file)
@@ -1,2 +1,7 @@
 #pragma flag enable subscope
 #pragma flag enable lo
+
+#ifndef NOCOMPAT
+# define WORKAROUND_XON010
+# define COMPAT_XON010_CHANNELS
+#endif
index 5a5792cb73e054e8ef54a60f9ef4bdab9725a775..9071c1c7cc1ae5aa4ab29d592e713e6621195be2 100644 (file)
@@ -265,3 +265,7 @@ const float XENCODE_MAX = 21295; // 2*22*22*22-1
 const float XENCODE_LEN = 5;
 string xencode(float f);
 float xdecode(string s);
+
+#ifndef COMPAT_XON010_CHANNELS
+#define sound(e,c,s,v,a) sound7(e,c,s,v,a,0,0)
+#endif
index e38a87be66211eb41366ed773f891aca3d12b668..69d6af6b01898b0d3370f9217d52a3824ede7ce1 100644 (file)
@@ -29,7 +29,7 @@ void XonoticAudioSettingsTab_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                s = makeXonoticDecibelsSlider(-20, 0, 0.5, "bgmvolume");
-               makeMulti(s, "snd_csqcchannel2volume");
+               makeMulti(s, "snd_channel8volume");
                me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Music:")));
                me.TD(me, 1, 2, s);
                setDependentStringNotEqual(e, "mastervolume", "0");
@@ -37,62 +37,57 @@ void XonoticAudioSettingsTab_fill(entity me)
        me.TR(me);
                me.TDempty(me, 0.2);
                s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_staticvolume");
+               makeMulti(s, "snd_channel9volume");
                me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, ZCTX(_("VOL^Ambient:"))));
-               makeMulti(s, "snd_entchannel2volume");
                me.TD(me, 1, 2, s);
                setDependentStringNotEqual(e, "mastervolume", "0");
                setDependentStringNotEqual(s, "mastervolume", "0");
        me.TR(me);
                me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_worldchannel0volume");
+               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel0volume");
                me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Info:")));
-               makeMulti(s, "snd_csqcchannel0volume");
                me.TD(me, 1, 2, s);
                setDependentStringNotEqual(e, "mastervolume", "0");
                setDependentStringNotEqual(s, "mastervolume", "0");
        me.TR(me);
                me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_entchannel3volume");
-               makeMulti(s, "snd_playerchannel0volume snd_playerchannel3volume snd_csqcchannel3volume");
+               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel3volume");
                me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Items:")));
                me.TD(me, 1, 2, s);
                setDependentStringNotEqual(e, "mastervolume", "0");
                setDependentStringNotEqual(s, "mastervolume", "0");
        me.TR(me);
                me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_playerchannel6volume");
-               makeMulti(s, "snd_csqcchannel6volume");
+               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel6volume");
                me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Pain:")));
                me.TD(me, 1, 2, s);
                setDependentStringNotEqual(e, "mastervolume", "0");
                setDependentStringNotEqual(s, "mastervolume", "0");
        me.TR(me);
                me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_playerchannel7volume");
-               makeMulti(s, "snd_entchannel7volume");
+               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel7volume");
                me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Player:")));
                me.TD(me, 1, 2, s);
                setDependentStringNotEqual(e, "mastervolume", "0");
                setDependentStringNotEqual(s, "mastervolume", "0");
        me.TR(me);
                me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_entchannel4volume");
-               makeMulti(s, "snd_playerchannel4volume snd_entchannel6volume snd_csqcchannel4volume");
+               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel4volume");
                me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Shots:")));
                me.TD(me, 1, 2, s);
                setDependentStringNotEqual(e, "mastervolume", "0");
                setDependentStringNotEqual(s, "mastervolume", "0");
        me.TR(me);
                me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_playerchannel2volume");
+               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel2volume");
                me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Voice:")));
                me.TD(me, 1, 2, s);
                setDependentStringNotEqual(e, "mastervolume", "0");
                setDependentStringNotEqual(s, "mastervolume", "0");
        me.TR(me);
                me.TDempty(me, 0.2);
-               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_playerchannel1volume");
-               makeMulti(s, "snd_playerchannel5volume snd_entchannel1volume snd_entchannel5volume");
+               s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel1volume");
+               makeMulti(s, "snd_channel5volume"); // legacy
                me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Weapons:")));
                me.TD(me, 1, 2, s);
                setDependentStringNotEqual(e, "mastervolume", "0");
index 1e9b837d8c4d61a2b9311a7951218826f30e6ade..c95396332f45106f404c68c2c549dc56b71f6a44 100644 (file)
@@ -70,10 +70,7 @@ void reset_map(float dorespawn)
                        self.team = self.team_saved;
 
                if(self.flags & FL_PROJECTILE) // remove any projectiles left
-               {
-                       stopsound(self, CHAN_PAIN);
                        remove(self);
-               }
        }
 
        // Waypoints and assault start come LAST
index f7075b9b24ecbf5ca515150ed7c9f0ab01263447..512a9c6d9ad2449758335548ee8618eed62e7c78 100644 (file)
@@ -1186,3 +1186,4 @@ float autocvar_waypoint_benchmark;
 float autocvar_welcome_message_time;
 float autocvar_sv_gameplayfix_gravityunaffectedbyticrate;
 float autocvar_g_trueaim_minrange;
+float autocvar_g_debug_defaultsounds;
index ef25a958d21f8908545ad4c51ba32dfb11754818..a70e55bf643f7c1a375eb05d665e8a5a85d82e4f 100644 (file)
@@ -1061,7 +1061,7 @@ float bot_cmd_sound()
        f = bot_cmd.bot_cmd_parm_string;
 
        precache_sound(f);
-       sound(self, CHAN_WEAPON2, f, VOL_BASE, ATTN_MIN);
+       sound(self, CH_WEAPON_B, f, VOL_BASE, ATTN_MIN);
 
        return CMD_STATUS_FINISHED;
 }
index fc54d49148835d9ed584c1632866f22ccaedc1f4..1d22cc7282713db37ab5cfa01b6cdb4e5a538e1b 100644 (file)
@@ -249,7 +249,7 @@ float CheatImpulse(float i)
                                e2 = spawn();
                                setorigin(e2, org);
                                pointparticles(particleeffectnum("rocket_explode"), org, '0 0 0', 1);
-                               sound(e2, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+                               sound(e2, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
                                RadiusDamage(e2, e, 1000, 0, 128, e, 500, DEATH_CHEAT, world);
                                remove(e2);
                        }
@@ -303,7 +303,7 @@ float CheatCommand(float argc)
                                // arguments:
                                //   effectname
                                effectnum = particleeffectnum(argv(1));
-                               W_SetupShot(self, FALSE, FALSE, "", CHAN_WEAPON, 0);
+                               W_SetupShot(self, FALSE, FALSE, "", CH_WEAPON_A, 0);
                                traceline(w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, MOVE_NORMAL, self);
                                trailparticles(self, effectnum, w_shotorg, trace_endpos);
                                DID_CHEAT();
@@ -318,7 +318,7 @@ float CheatCommand(float argc)
                                // arguments:
                                //   modelname mode
                                f = stof(argv(2));
-                               W_SetupShot(self, FALSE, FALSE, "", CHAN_WEAPON, 0);
+                               W_SetupShot(self, FALSE, FALSE, "", CH_WEAPON_A, 0);
                                traceline(w_shotorg, w_shotorg + w_shotdir * 2048, MOVE_NORMAL, self);
                                if((trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT) || trace_fraction == 1)
                                {
index 9a1d4100473f0967dae2bea37e158ed5103805a2..5b9c8d907eab2796fef9b546761472e28b32f450 100644 (file)
@@ -1060,7 +1060,7 @@ void PutClientInServer (void)
                //stuffcmd(self, "set viewsize $tmpviewsize \n");
 
                if (autocvar_g_spawnsound)
-                       sound (self, CHAN_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTN_NORM);
+                       sound (self, CH_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTN_NORM);
 
                if(g_assault) {
                        if(self.team == assault_attacker_team)
@@ -1277,7 +1277,9 @@ void ClientKill_Now()
            }
        }
        
-       remove(self.killindicator);
+       if(self.killindicator && !wasfreed(self.killindicator))
+        remove(self.killindicator);
+       
        self.killindicator = world;
 
        if(self.killindicator_teamchange)
@@ -1985,7 +1987,7 @@ void play_countdown(float finished, string samp)
        if(clienttype(self) == CLIENTTYPE_REAL)
                if(floor(finished - time - frametime) != floor(finished - time))
                        if(finished - time < 6)
-                               sound (self, CHAN_AUTO, samp, VOL_BASE, ATTN_NORM);
+                               sound (self, CH_INFO, samp, VOL_BASE, ATTN_NORM);
 }
 
 /**
@@ -2036,12 +2038,12 @@ void player_powerups (void)
 
        if((self.items & IT_USING_JETPACK) && !self.deadflag)
        {
-               SoundEntity_StartSound(self, CHAN_PLAYER, "misc/jetpack_fly.wav", VOL_BASE, autocvar_g_jetpack_attenuation);
+               SoundEntity_StartSound(self, CH_TRIGGER_SINGLE, "misc/jetpack_fly.wav", VOL_BASE, autocvar_g_jetpack_attenuation);
                self.modelflags |= MF_ROCKET;
        }
        else
        {
-               SoundEntity_StopSound(self, CHAN_PLAYER);
+               SoundEntity_StopSound(self, CH_TRIGGER_SINGLE);
                self.modelflags &~= MF_ROCKET;
        }
 
@@ -3009,7 +3011,7 @@ void PlayerPreThink (void)
                oldself = self; self = self.teamkill_soundsource;
                oldpusher = self.pusher; self.pusher = oldself;
 
-               PlayerSound(playersound_teamshoot, CHAN_VOICE, VOICETYPE_LASTATTACKER_ONLY);
+               PlayerSound(playersound_teamshoot, CH_VOICE, VOICETYPE_LASTATTACKER_ONLY);
 
                self.pusher = oldpusher;
                self = oldself;
@@ -3019,7 +3021,7 @@ void PlayerPreThink (void)
        if(time > self.taunt_soundtime)
        {
                self.taunt_soundtime = 0;
-               PlayerSound(playersound_taunt, CHAN_VOICE, VOICETYPE_AUTOTAUNT);
+               PlayerSound(playersound_taunt, CH_VOICE, VOICETYPE_AUTOTAUNT);
        }
 
        target_voicescript_next(self);
@@ -3133,7 +3135,7 @@ void PlayerPostThink (void)
        } else if (self.classname == "spectator") {
                //do nothing
        }
-
+       
        /*
        float i;
        for(i = 0; i < 1000; ++i)
@@ -3174,7 +3176,8 @@ void PlayerPostThink (void)
        else
        {
                if(self.showheadshotbbox)
-                       remove(self.showheadshotbbox);
+                       if(self.showheadshotbbox && !wasfreed(self.showheadshotbbox))
+                remove(self.showheadshotbbox);
        }
 
        playerdemo_write();
index bba558769eb19cb0b7e023d32dd9f0527481e0f7..83c438b47600f7b07bd8fbf3fe54e99f2c992d15 100644 (file)
@@ -167,7 +167,7 @@ void PlayerJump (void)
                setanim(self, self.anim_jump, FALSE, TRUE, TRUE);
 
        if(g_jump_grunt)
-               PlayerSound(playersound_jump, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
+               PlayerSound(playersound_jump, CH_PLAYER, VOICETYPE_PLAYERSOUND);
 
        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)
@@ -918,9 +918,9 @@ void SV_PlayerPhysics()
                        if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS)
                        {
                                if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_METALSTEPS)
-                                       GlobalSound(globalsound_metalfall, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
+                                       GlobalSound(globalsound_metalfall, CH_PLAYER, VOICETYPE_PLAYERSOUND);
                                else
-                                       GlobalSound(globalsound_fall, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
+                                       GlobalSound(globalsound_fall, CH_PLAYER, VOICETYPE_PLAYERSOUND);
                        }
                }
        }
index dc5c0addce9d94437f030a53e0f3add7eb883120..0ba5f1d1055d68605fe6e117585c5e4257dd7fe0 100644 (file)
@@ -341,11 +341,11 @@ void PlayerCorpseDamage (entity inflictor, entity attacker, float damage, float
        if(sound_allowed(MSG_BROADCAST, attacker))
        {
                if (save > 10)
-                       sound (self, CHAN_PROJECTILE, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
+                       sound (self, CH_SHOTS_SINGLE, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
                else if (take > 30)
-                       sound (self, CHAN_PROJECTILE, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
+                       sound (self, CH_SHOTS_SINGLE, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
                else if (take > 10)
-                       sound (self, CHAN_PROJECTILE, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM);
+                       sound (self, CH_SHOTS_SINGLE, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM);
        }
 
        if (take > 50)
@@ -458,11 +458,11 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
        if(sound_allowed(MSG_BROADCAST, attacker))
        {
                if (save > 10)
-                       sound (self, CHAN_PROJECTILE, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
+                       sound (self, CH_SHOTS_SINGLE, "misc/armorimpact.wav", VOL_BASE, ATTN_NORM);
                else if (take > 30)
-                       sound (self, CHAN_PROJECTILE, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
+                       sound (self, CH_SHOTS_SINGLE, "misc/bodyimpact2.wav", VOL_BASE, ATTN_NORM);
                else if (take > 10)
-                       sound (self, CHAN_PROJECTILE, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM); // FIXME possibly remove them?
+                       sound (self, CH_SHOTS_SINGLE, "misc/bodyimpact1.wav", VOL_BASE, ATTN_NORM); // FIXME possibly remove them?
        }
 
        if (take > 50)
@@ -498,15 +498,15 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
                                        // exclude pain sounds for laserjumps as long as you aren't REALLY low on health and would die of the next two
                                        {
                                                if(deathtype == DEATH_FALL)
-                                                       PlayerSound(playersound_fall, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
+                                                       PlayerSound(playersound_fall, CH_PAIN, VOICETYPE_PLAYERSOUND);
                                                else if(self.health > 75) // TODO make a "gentle" version?
-                                                       PlayerSound(playersound_pain100, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
+                                                       PlayerSound(playersound_pain100, CH_PAIN, VOICETYPE_PLAYERSOUND);
                                                else if(self.health > 50)
-                                                       PlayerSound(playersound_pain75, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
+                                                       PlayerSound(playersound_pain75, CH_PAIN, VOICETYPE_PLAYERSOUND);
                                                else if(self.health > 25)
-                                                       PlayerSound(playersound_pain50, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
+                                                       PlayerSound(playersound_pain50, CH_PAIN, VOICETYPE_PLAYERSOUND);
                                                else
-                                                       PlayerSound(playersound_pain25, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
+                                                       PlayerSound(playersound_pain25, CH_PAIN, VOICETYPE_PLAYERSOUND);
                                        }
                                }
 
@@ -530,7 +530,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
                // escape a lava pit or similar
                //self.pushltime = 0;
        }
-       else if(attacker.classname == "player" || attacker.classname == "gib")
+       else if(attacker.classname == "player")
        {
                self.pusher = attacker;
                self.pushltime = time + autocvar_g_maxpushtime;
@@ -585,9 +585,9 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
                if(sound_allowed(MSG_BROADCAST, attacker))
                {
                        if(deathtype == DEATH_DROWN)
-                               PlayerSound(playersound_drown, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
+                               PlayerSound(playersound_drown, CH_PAIN, VOICETYPE_PLAYERSOUND);
                        else
-                               PlayerSound(playersound_death, CHAN_PAIN, VOICETYPE_PLAYERSOUND);
+                               PlayerSound(playersound_death, CH_PAIN, VOICETYPE_PLAYERSOUND);
                }
 
                // get rid of kill indicator
@@ -643,7 +643,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht
 
                if(self.flagcarried)
                {
-                       if(attacker.classname != "player" && attacker.classname != "gib")
+                       if(attacker.classname != "player")
                                DropFlag(self.flagcarried, self, attacker); // penalty for flag loss by suicide
                        else if(attacker.team == self.team)
                                DropFlag(self.flagcarried, attacker, attacker); // penalty for flag loss by suicide/teamkill
@@ -1134,8 +1134,9 @@ void UpdatePlayerSounds()
        self.skinindex_for_playersound = self.skinindex;
        ClearPlayerSounds();
        LoadPlayerSounds("sound/player/default.sounds", 1);
-       if(!LoadPlayerSounds(get_model_datafilename(self.model, self.skinindex, "sounds"), 0))
-               LoadPlayerSounds(get_model_datafilename(self.model, 0, "sounds"), 0);
+       if(!autocvar_g_debug_defaultsounds)
+               if(!LoadPlayerSounds(get_model_datafilename(self.model, self.skinindex, "sounds"), 0))
+                       LoadPlayerSounds(get_model_datafilename(self.model, 0, "sounds"), 0);
 }
 
 void FakeGlobalSound(string sample, float chan, float voicetype)
@@ -1335,9 +1336,9 @@ void VoiceMessage(string type, string msg)
        flood = Say(self, ownteam, world, msg, 1);
 
        if (flood > 0)
-               GlobalSound(self.sample, CHAN_VOICE, voicetype);
+               GlobalSound(self.sample, CH_VOICE, voicetype);
        else if (flood < 0)
-               FakeGlobalSound(self.sample, CHAN_VOICE, voicetype);
+               FakeGlobalSound(self.sample, CH_VOICE, voicetype);
 }
 
 void MoveToTeam(entity client, float team_colour, float type, float show_message)
index cab6ec6e75c5adcb56a8d7b07b417875a2a251c6..9e59a4c5554edb9205d74ea6549893aff2641b06 100644 (file)
@@ -374,8 +374,8 @@ void W_WeaponFrame()
                        if(ATTACK_FINISHED(self) <= time + self.weapon_frametime * 0.5)
                        {
 #endif
-                       // UGLY WORKAROUND: play this on CHAN_WEAPON2 so it can't cut off fire sounds
-                       sound (self, CHAN_WEAPON2, "weapons/weapon_switch.wav", VOL_BASE, ATTN_NORM);
+                       // UGLY WORKAROUND: play this on CH_WEAPON_B so it can't cut off fire sounds
+                       sound (self, CH_WEAPON_B, "weapons/weapon_switch.wav", VOL_BASE, ATTN_NORM);
                        self.weaponentity.state = WS_DROP;
                        // set up weapon switch think in the future, and start drop anim
                        weapon_thinkf(WFRAME_DONTCHANGE, autocvar_g_balance_weaponswitchdelay, w_clear);
index 500132f0bdf26af7e5ddaa8246a17cedcce20d38..3d7a33278d15201ce89b789f1a03f9441e0d0be8 100644 (file)
@@ -255,7 +255,7 @@ void W_SetupShot_Dir_ProjectileSize_Range(entity ent, vector s_forward, vector m
                (time > ent.prevstrengthsoundattempt + autocvar_sv_strengthsound_antispam_refire_threshold)
        ) // prevent insane sound spam
        {
-               sound(ent, CHAN_AUTO, "weapons/strength_fire.wav", VOL_BASE, ATTN_NORM);
+               sound(ent, CH_TRIGGER, "weapons/strength_fire.wav", VOL_BASE, ATTN_NORM);
                ent.prevstrengthsound = time;
        }
        ent.prevstrengthsoundattempt = time;
@@ -1063,7 +1063,7 @@ float weapon_prepareattack_checkammo(float secondary)
 
                if(self.weapon == self.switchweapon && time - self.prevdryfire > 1) // only play once BEFORE starting to switch weapons
                {
-                       sound (self, CHAN_AUTO, "weapons/dryfire.wav", VOL_BASE, ATTN_NORM);
+                       sound (self, CH_WEAPON_A, "weapons/dryfire.wav", VOL_BASE, ATTN_NORM);
                        self.prevdryfire = time;
                }
 
@@ -1733,7 +1733,7 @@ void W_Reload(float sent_ammo_min, float sent_ammo_amount, float sent_time, stri
 
        // now begin the reloading process
 
-       sound (self, CHAN_WEAPON2, self.reload_sound, VOL_BASE, ATTN_NORM);
+       sound (self, CH_WEAPON_B, self.reload_sound, VOL_BASE, ATTN_NORM);
 
        // do not set ATTACK_FINISHED in reload code any more. This causes annoying delays if eg: You start reloading a weapon,
        // then quickly switch to another weapon and back. Reloading is canceled, but the reload delay is still there,
index 7edfe9337185601a50019e2b9c6eab592eee2e92..d88ae5d375ca8258224b187fd06f428aeaf0bc9f 100644 (file)
@@ -303,7 +303,7 @@ void DropFlag(entity e, entity penalty_receiver, entity attacker)
                backtrace("Flag carrier had no flag sprite?!?");
        }
        LogCTF("dropped", p.team, p);
-       sound (self, CHAN_TRIGGER, self.noise4, VOL_BASE, ATTN_NONE);
+       sound (p, CH_TRIGGER, self.noise4, VOL_BASE, ATTN_NONE);
 
        setattachment(e, world, "");
        e.damageforcescale = autocvar_g_balance_ctf_damageforcescale;
@@ -358,7 +358,7 @@ void FlagThink()
                {
                        bprint("The ", self.netname, " became impatient after ", ftos_decimals(flagcaptimerecord, 2), " seconds and returned itself\n");
 
-                       sound (self, CHAN_TRIGGER, self.noise3, VOL_BASE, ATTN_NONE);
+                       sound (self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NONE);
                        self.owner.impulse = 141; // returning!
 
                        e = self;
@@ -385,7 +385,7 @@ void FlagThink()
                if (time > self.pain_finished)
                {
                        bprint("The ", self.netname, " has returned to base\n");
-                       sound (self, CHAN_TRIGGER, self.noise3, VOL_BASE, ATTN_NONE);
+                       sound (self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NONE);
                        LogCTF("returned", self.team, world);
                        ReturnFlag(self);
                }
@@ -493,7 +493,7 @@ void FlagTouch()
                        }
                }
 
-               sound (other, CHAN_AUTO, self.noise2, VOL_BASE, ATTN_NONE);
+               sound (other, CH_TRIGGER, self.noise2, VOL_BASE, ATTN_NONE);
                WaypointSprite_DetachCarrier(other);
                if(self.speedrunning)
                        FakeTimeLimit(other, -1);
@@ -531,7 +531,7 @@ void FlagTouch()
                self.dropperid = other.playerid;
                PlayerScore_Add(other, SP_CTF_PICKUPS, 1);
                LogCTF("steal", self.team, other);
-               sound (other, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NONE);
+               sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NONE);
 
                FOR_EACH_PLAYER(player)
                        if(player.team == self.team)
@@ -586,7 +586,7 @@ void FlagTouch()
                        }
                        PlayerScore_Add(other, SP_CTF_RETURNS, 1);
                        LogCTF("return", self.team, other);
-                       sound (other, CHAN_AUTO, self.noise1, VOL_BASE, ATTN_NONE);
+                       sound (other, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NONE);
                        ReturnFlag(self);
                }
                else if (!other.flagcarried && (other.playerid != self.dropperid || time > self.ctf_droptime + autocvar_g_balance_ctf_delay_collect))
@@ -618,7 +618,7 @@ void FlagTouch()
                        UpdateFrags(other, f);
                        PlayerScore_Add(other, SP_CTF_PICKUPS, 1);
                        LogCTF("pickup", self.team, other);
-                       sound (other, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NONE);
+                       sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NONE);
 
                        FOR_EACH_PLAYER(player)
                                if(player.team == self.team)
index cb88d354e4087a13d40ddf5473b50bb9ecef754a..bb9c07594325b66fe21798fb6bb4962b94d1ca9d 100644 (file)
@@ -429,18 +429,26 @@ float next_pingtime;
 // TODO implemented fall and falling
 #define ALLPLAYERSOUNDS \
                _VOICEMSG(death) \
-               _VOICEMSG(fall) \
                _VOICEMSG(drown) \
+               _VOICEMSG(fall) \
+               _VOICEMSG(fall) \
+               _VOICEMSG(falling) \
                _VOICEMSG(gasp) \
                _VOICEMSG(jump) \
+               _VOICEMSG(pain100) \
                _VOICEMSG(pain25) \
                _VOICEMSG(pain50) \
-               _VOICEMSG(pain75) \
-               _VOICEMSG(pain100)
+               _VOICEMSG(pain75)
+
 #define ALLVOICEMSGS \
                _VOICEMSG(attack) \
                _VOICEMSG(attackinfive) \
+               _VOICEMSG(coverme) \
+               _VOICEMSG(defend) \
+               _VOICEMSG(freelance) \
+               _VOICEMSG(incoming) \
                _VOICEMSG(meet) \
+               _VOICEMSG(needhelp) \
                _VOICEMSG(seenflag) \
                _VOICEMSG(taunt) \
                _VOICEMSG(teamshoot)
@@ -450,24 +458,18 @@ ALLPLAYERSOUNDS
 ALLVOICEMSGS
 #undef _VOICEMSG
 
-// reserved sound names for the future (models lack sounds for them):
+// reserved sound names for the future (some models lack sounds for them):
+//             _VOICEMSG(flagcarriertakingdamage) \
+//             _VOICEMSG(getflag) \
+// reserved sound names for the future (ALL models lack sounds for them):
 //             _VOICEMSG(affirmative) \
 //             _VOICEMSG(attacking) \
 //             _VOICEMSG(defending) \
 //             _VOICEMSG(roaming) \
 //             _VOICEMSG(onmyway) \
 //             _VOICEMSG(droppedflag) \
-//             _VOICEMSG(flagcarriertakingdamage) \
 //             _VOICEMSG(negative) \
 //             _VOICEMSG(seenenemy) \
-//             _VOICEMSG(fall) \
-//             _VOICEMSG(getflag) \
-//             _VOICEMSG(incoming) \
-//             _VOICEMSG(coverme) \
-//             _VOICEMSG(needhelp) \
-//             _VOICEMSG(defend) \
-//             _VOICEMSG(freelance) \
-//             _VOICEMSG(falling) \
 
 string globalsound_fall;
 string globalsound_metalfall;
index 93bd69a1142d176ebfa68acbd1ef6ce399f9a3de..a6cc9a88de0ac6d9f90f0775f3673d01d94c753f 100644 (file)
@@ -109,9 +109,9 @@ void dompoint_captured ()
 
        if (head.noise != "")
                if(self.enemy)
-                       sound(self.enemy, CHAN_AUTO, head.noise, VOL_BASE, ATTN_NORM);
+                       sound(self.enemy, CH_TRIGGER, head.noise, VOL_BASE, ATTN_NORM);
                else
-                       sound(self, CHAN_TRIGGER, head.noise, VOL_BASE, ATTN_NORM);
+                       sound(self, CH_TRIGGER_SINGLE, head.noise, VOL_BASE, ATTN_NORM);
        if (head.noise1 != "")
                play2all(head.noise1);
 
index c40c5c9b1606ce25b2330da686035bec0a31e1bf..1aba127a584f1b7a4c46b17dda93a060bdf48e31 100644 (file)
@@ -278,6 +278,16 @@ float EF_LOWPRECISION = 4194304;
 //description:
 //controls rendering scale of the object, 0 is forced to be 1, darkplaces uses 1/16th accuracy and a limit of 15.9375, can be used to make an object larger or smaller.
 
+//DP_ENT_TRAILEFFECTNUM
+//idea: LordHavoc
+//darkplaces implementation: LordHavoc
+//field definitions:
+.float traileffectnum;
+//description:
+//use a custom effectinfo.txt effect on this entity, assign it like this:
+//self.traileffectnum = particleeffectnum("mycustomeffect");
+//this will do both the dlight and particle trail as described in the effect, basically equivalent to trailparticles() in CSQC but performed on a server entity.
+
 //DP_ENT_VIEWMODEL
 //idea: LordHavoc
 //darkplaces implementation: LordHavoc
@@ -286,29 +296,6 @@ float EF_LOWPRECISION = 4194304;
 //description:
 //this is a very special capability, attachs the entity to the view of the client specified, origin and angles become relative to the view of that client, all effects can be used (multiple skins on a weapon model etc)...  the entity is not visible to any other client.
 
-//DP_GECKO_SUPPORT
-//idea: Res2k, BlackHC
-//darkplaces implementation: Res2k, BlackHC
-//constant definitions:
-float GECKO_BUTTON_DOWN         = 0;
-float GECKO_BUTTON_UP           = 1;
-// either use down and up or just press but not all of them!
-float GECKO_BUTTON_PRESS        = 2;
-// use this for mouse events if needed?
-float GECKO_BUTTON_DOUBLECLICK  = 3;
-//builtin definitions:
-float(string name) gecko_create( string name ) = #487;
-void(string name) gecko_destroy( string name ) = #488;
-void(string name) gecko_navigate( string name, string URI ) = #489;
-float(string name) gecko_keyevent( string name, float key, float eventtype ) = #490;
-void gecko_mousemove( string name, float x, float y ) = #491;
-void gecko_resize( string name, float w, float h ) = #492;
-vector gecko_get_texture_extent( string name ) = #493;
-//engine-called QC prototypes:
-//string(string name, string query) Qecko_Query;
-//description:
-//provides an interface to the offscreengecko library and allows for internet browsing in games
-
 //DP_GFX_EXTERNALTEXTURES
 //idea: LordHavoc
 //darkplaces implementation: LordHavoc
@@ -1219,6 +1206,33 @@ float(string name, string value) registercvar = #93;
 //the engine plays sound/cdtracks/track001.wav instead of cd track 1 and so on if found, this allows games and mods to have music tracks without using ambientsound.
 //Note: also plays .ogg with DP_SND_OGGVORBIS extension.
 
+//DP_SND_SOUND7_WIP1
+//idea: divVerent
+//darkplaces implementation: divVerent
+//builtin definitions:
+void(entity e, float chan, string samp, float vol, float atten, float speed, float flags) sound7 = #8;
+float SOUNDFLAG_RELIABLE = 1;
+//description:
+//plays a sound, with some more flags
+//extensions to sound():
+//- channel may be in the range from -128 to 127; channels -128 to 0 are "auto",
+//  i.e. support multiple sounds at once, but cannot be stopped/restarted
+//- a speed parameter has been reserved for later addition of pitch shifting.
+//  it MUST be set to 0 for now, meaning "no pitch change"
+//- the flag SOUNDFLAG_RELIABLE can be specified, which makes the sound send
+//  to MSG_ALL (reliable) instead of MSG_BROADCAST (unreliable, default);
+//  similarily, SOUNDFLAG_RELIABLE_TO_ONE sends to MSG_ONE
+//- channel 0 is controlled by snd_channel0volume; channel 1 and -1 by
+//  snd_channel1volume, etc. (so, a channel shares the cvar with its respective
+//  auto-channel); however, the mod MUST define snd_channel8volume and upwards
+//  in default.cfg if they are to be used, as the engine does not create them
+//  to not litter the cvar list
+//- this extension applies to CSQC as well; CSQC_Event_Sound will get speed and
+//  flags as extra 7th and 8th argument
+//- WIP2 ideas: SOUNDFLAG_RELIABLE_TO_ONE, SOUNDFLAG_NOPHS, SOUNDFLAG_FORCELOOP
+//- NOTE: to check for this, ALSO OR a check with DP_SND_SOUND7 to also support
+//  the finished extension once done
+
 //DP_SND_OGGVORBIS
 //idea: Transfusion
 //darkplaces implementation: Elric
@@ -1622,7 +1636,7 @@ void(entity e, float physics_enabled) physics_enable = #540; // enable or disabl
 void(entity e, vector force, vector force_pos) physics_addforce = #541; // apply a force from certain origin, length of force vector is power of force
 void(entity e, vector torque) physics_addtorque = #542; // add relative torque
 //description: provides Open Dynamics Engine support, requires extenal dll to be present or engine compiled with statical link option
-//be sure to checkextension for it to know if library i loaded and ready, also to enable physics set "physice_ode" cvar to 1
+//be sure to checkextension for it to know if library is loaded and ready, also to enable physics set "physics_ode" cvar to 1
 //note: this extension is highly experimental and may be unstable
 //note: use SOLID_BSP on entities to get a trimesh collision models on them
 
index 5a3b098b6a3adb787f5f15a8433c1160da9e72d4..4a0e8d922ce3a55fb4cbb60e433e6db27c33e7bc 100644 (file)
@@ -162,7 +162,7 @@ void func_breakable_destroy() {
        func_breakable_destroyed();
 
        if(self.noise)
-               sound (self, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NORM);
+               sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM);
 
        if(self.dmg)
                RadiusDamage(self, activator, self.dmg, self.dmg_edge, self.dmg_radius, self, self.dmg_force, DEATH_HURTTRIGGER, world);
index 0fdeb1354607b160844d0a19bf49f92ec7848eca..9eaf82dc42d5684be97ad93507aa5b22b376e6eb 100644 (file)
@@ -299,13 +299,9 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype)
        string  s, a, msg;
        float w, type;
 
-       if (targ.classname == "player" || targ.classname == "corpse")
+       if (targ.classname == "player")
        {
-               if (targ.classname == "corpse")
-                       s = "A corpse";
-               else
-                       s = targ.netname;
-
+               s = targ.netname;
                a = attacker.netname;
 
                if (targ == attacker) // suicides
@@ -333,7 +329,7 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype)
 
                        Send_KillNotification(s, msg, ftos(w), deathtype, MSG_SUICIDE);
                }
-               else if (attacker.classname == "player" || attacker.classname == "gib")
+               else if (attacker.classname == "player")
                {
                        if(teamplay && attacker.team == targ.team)
                        {
@@ -788,7 +784,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float
                        else
                                victim = targ;
 
-                       if(victim.classname == "player")
+                       if(victim.classname == "player" || victim.turrcaps_flags & TFL_TURRCAPS_ISTURRET)
                        {
                                if(IsDifferentTeam(victim, attacker))
                                {
index 7eeb8e22558452fb65deeeb8404812efe097495b..0437f804328410e2ebb609443c80d451c552241b 100644 (file)
@@ -66,7 +66,7 @@ void GrapplingHookThink();
 void GrapplingHook_Stop()
 {
        pointparticles(particleeffectnum("grapple_impact"), self.origin, '0 0 0', 1);
-       sound (self, CHAN_PROJECTILE, "weapons/hook_impact.wav", VOL_BASE, ATTN_NORM);
+       sound (self, CH_SHOTS_SINGLE, "weapons/hook_impact.wav", VOL_BASE, ATTN_NORM);
 
        self.state = 1;
        self.think = GrapplingHookThink;
@@ -299,8 +299,8 @@ void FireGrapplingHook (void)
        --s;
        vs = hook_shotorigin[s];
 
-       // UGLY WORKAROUND: play this on CHAN_WEAPON2 so it can't cut off fire sounds
-       sound (self, CHAN_WEAPON2, "weapons/hook_fire.wav", VOL_BASE, ATTN_NORM);
+       // UGLY WORKAROUND: play this on CH_WEAPON_B so it can't cut off fire sounds
+       sound (self, CH_WEAPON_B, "weapons/hook_fire.wav", VOL_BASE, ATTN_NORM);
        org = self.origin + self.view_ofs + v_forward * vs_x + v_right * -vs_y + v_up * vs_z;
 
        tracebox(self.origin + self.view_ofs, '-3 -3 -3', '3 3 3', org, MOVE_NORMAL, self);
index 3ad43b0c36dbf0815ef87145ff6d101aef4e248b..2b96b967a065bd25a959b33c4311177f49cdbac4 100644 (file)
@@ -171,7 +171,7 @@ void multi_trigger()
        }
 
        if (self.noise)
-               sound (self.enemy, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NORM);
+               sound (self.enemy, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
 
 // don't trigger again until reset
        self.takedamage = DAMAGE_NO;
@@ -554,7 +554,7 @@ void trigger_heal_touch()
                        {
                                other.health = min(other.health + self.health, self.max_health);
                                other.pauserothealth_finished = max(other.pauserothealth_finished, time + autocvar_g_balance_pause_health_rot);
-                               sound (other, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NORM);
+                               sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
                        }
                }
        }
@@ -665,7 +665,7 @@ void trigger_gravity_touch()
        {
                other.gravity = g;
                if(self.noise != "")
-                       sound (other, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NORM);
+                       sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
                UpdateCSQCProjectile(self.owner);
        }
 };
@@ -721,7 +721,7 @@ void target_speaker_use_activator()
        else
                snd = self.noise;
        msg_entity = activator;
-       soundto(MSG_ONE, self, CHAN_TRIGGER, snd, VOL_BASE * self.volume, self.atten);
+       soundto(MSG_ONE, self, CH_TRIGGER_SINGLE, snd, VOL_BASE * self.volume, self.atten);
 }
 void target_speaker_use_on()
 {
@@ -747,13 +747,13 @@ void target_speaker_use_on()
        }
        else
                snd = self.noise;
-       sound(self, CHAN_TRIGGER, snd, VOL_BASE * self.volume, self.atten);
+       sound(self, CH_TRIGGER_SINGLE, snd, VOL_BASE * self.volume, self.atten);
        if(self.spawnflags & 3)
                self.use = target_speaker_use_off;
 }
 void target_speaker_use_off()
 {
-       sound(self, CHAN_TRIGGER, "misc/null.wav", VOL_BASE * self.volume, self.atten);
+       sound(self, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_BASE * self.volume, self.atten);
        self.use = target_speaker_use_on;
 }
 void target_speaker_reset()
@@ -1377,24 +1377,7 @@ void trigger_impulse_touch1()
        if (self.active != ACTIVE_ACTIVE) 
                return;
 
-       // FIXME: Better checking for what to push and not.
-       if not(other.iscreature)
-       if (other.classname != "corpse")
-       if (other.classname != "body")
-       if (other.classname != "gib")
-       if (other.classname != "missile")
-       if (other.classname != "rocket")
-       if (other.classname != "casing")
-       if (other.classname != "grenade")
-       if (other.classname != "plasma")
-       if (other.classname != "plasma_prim")
-       if (other.classname != "plasma_chain")
-       if (other.classname != "droppedweapon")
-       if (other.classname != "nexball_basketball")
-       if (other.classname != "nexball_football")
-               return;
-
-       if (other.deadflag && other.iscreature)
+       if (!isPushable(other))
                return;
 
        EXACTTRIGGER_TOUCH;
@@ -1432,24 +1415,7 @@ void trigger_impulse_touch2()
        if (self.active != ACTIVE_ACTIVE) 
                return;
 
-       // FIXME: Better checking for what to push and not.
-       if not(other.iscreature)
-       if (other.classname != "corpse")
-       if (other.classname != "body")
-       if (other.classname != "gib")
-       if (other.classname != "missile")
-       if (other.classname != "rocket")
-       if (other.classname != "casing")
-       if (other.classname != "grenade")
-       if (other.classname != "plasma")
-       if (other.classname != "plasma_prim")
-       if (other.classname != "plasma_chain")
-       if (other.classname != "droppedweapon")
-       if (other.classname != "nexball_basketball")
-       if (other.classname != "nexball_football")
-               return;
-
-       if (other.deadflag && other.iscreature)
+       if (!isPushable(other))
                return;
 
        EXACTTRIGGER_TOUCH;
@@ -1473,24 +1439,7 @@ void trigger_impulse_touch3()
        if (self.active != ACTIVE_ACTIVE) 
                return;
 
-       // FIXME: Better checking for what to push and not.
-       if not(other.iscreature)
-       if (other.classname != "corpse")
-       if (other.classname != "body")
-       if (other.classname != "gib")
-       if (other.classname != "missile")
-       if (other.classname != "rocket")
-       if (other.classname != "casing")
-       if (other.classname != "grenade")
-       if (other.classname != "plasma")
-       if (other.classname != "plasma_prim")
-       if (other.classname != "plasma_chain")
-       if (other.classname != "droppedweapon")
-       if (other.classname != "nexball_basketball")
-       if (other.classname != "nexball_football")
-               return;
-
-       if (other.deadflag && other.iscreature)
+       if (!isPushable(other))
                return;
 
        EXACTTRIGGER_TOUCH;
index c8d2af14368d49bd1aabe54840822db95e1499d8..9fce6368c798e2981b14b657d431eecafc0c4778 100644 (file)
@@ -157,8 +157,8 @@ float RadarMapAtPoint_Sample(float x, float y, float w, float h, float zmin, flo
 // removes the need to bound()
 string doublehex = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFFFF";
 
-float RADAR_WIDTH_MAX = 2048;
-float RADAR_HEIGHT_MAX = 2048;
+float RADAR_WIDTH_MAX = 512;
+float RADAR_HEIGHT_MAX = 512;
 float sharpen_buffer[RADAR_WIDTH_MAX * 3];
 
 void sharpen_set(float x, float v)
index c34941e23f030d278b93caa4d913f85dce101474..69704999725bf1cb45e5a198a6b32b63af719707 100644 (file)
@@ -1313,7 +1313,6 @@ void readlevelcvars(void)
 
 // Sound functions
 string precache_sound (string s) = #19;
-void(entity e, float chan, string samp, float vol, float atten) sound_builtin = #8;
 float precache_sound_index (string s) = #19;
 
 #define SND_VOLUME      1
@@ -1345,12 +1344,24 @@ float sound_allowed(float dest, entity e)
     return TRUE;
 }
 
+#ifdef COMPAT_XON010_CHANNELS
+void(entity e, float chan, string samp, float vol, float atten) sound_builtin = #8;
 void sound(entity e, float chan, string samp, float vol, float atten)
 {
     if (!sound_allowed(MSG_BROADCAST, e))
         return;
     sound_builtin(e, chan, samp, vol, atten);
 }
+#else
+#undef sound
+void sound(entity e, float chan, string samp, float vol, float atten)
+{
+    if (!sound_allowed(MSG_BROADCAST, e))
+        return;
+    sound7(e, chan, samp, vol, atten, 0, 0);
+}
+#endif
+
 void soundtoat(float dest, entity e, vector o, float chan, string samp, float vol, float atten)
 {
     float entno, idx;
@@ -1371,7 +1382,7 @@ void soundtoat(float dest, entity e, vector o, float chan, string samp, float vo
         sflags |= SND_VOLUME;
     if (atten != 64)
         sflags |= SND_ATTENUATION;
-    if (entno >= 8192)
+    if (entno >= 8192 || chan < 0 || chan > 7)
         sflags |= SND_LARGEENTITY;
     if (idx >= 256)
         sflags |= SND_LARGESOUND;
@@ -1412,7 +1423,7 @@ void soundto(float dest, entity e, float chan, string samp, float vol, float att
 }
 void soundat(entity e, vector o, float chan, string samp, float vol, float atten)
 {
-    soundtoat(MSG_BROADCAST, e, o, chan, samp, vol, atten);
+    soundtoat(((chan & 8) ? MSG_ALL : MSG_BROADCAST), e, o, chan, samp, vol, atten);
 }
 void stopsoundto(float dest, entity e, float chan)
 {
@@ -1423,7 +1434,7 @@ void stopsoundto(float dest, entity e, float chan)
 
     entno = num_for_edict(e);
 
-    if (entno >= 8192)
+    if (entno >= 8192 || chan > 7)
     {
         float idx, sflags;
         idx = precache_sound_index("misc/null.wav");
@@ -1461,7 +1472,7 @@ void play2(entity e, string filename)
 {
     //stuffcmd(e, strcat("play2 ", filename, "\n"));
     msg_entity = e;
-    soundtoat(MSG_ONE, world, '0 0 0', CHAN_AUTO, filename, VOL_BASE, ATTN_NONE);
+    soundtoat(MSG_ONE, world, '0 0 0', CH_INFO, filename, VOL_BASE, ATTN_NONE);
 }
 
 // use this one if you might be causing spam (e.g. from touch functions that might get called more than once per frame)
@@ -1499,7 +1510,7 @@ void play2all(string samp)
     if (autocvar_bot_sound_monopoly)
         return;
 
-    sound(world, CHAN_AUTO, samp, VOL_BASE, ATTN_NONE);
+    sound(world, CH_INFO, samp, VOL_BASE, ATTN_NONE);
 }
 
 void PrecachePlayerSounds(string f);
@@ -3127,3 +3138,23 @@ float LostMovetypeFollow(entity ent)
        }
        return 0;
 }
+
+float isPushable(entity e)
+{
+       if(e.iscreature)
+               return TRUE;
+       switch(e.classname)
+       {
+               case "body":
+               case "droppedweapon":
+               case "keepawayball":
+               case "nexball_basketball":
+               case "nexball_football":
+                       return TRUE;
+               case "bullet": // antilagged bullets can't hit this either
+                       return FALSE;
+       }
+       if (e.projectiledeathtype)
+               return TRUE;
+       return FALSE;
+}
index c5cd4ccba417fa108dd3507282674d9cf761765c..5662f95bd29149fec1b8c2a1385c6e2e71ce50ab 100644 (file)
@@ -384,7 +384,7 @@ void onslaught_generator_think()
                {
                        // self.max_health / 300 gives 5 minutes of overtime.
                        // control points reduce the overtime duration.
-                       sound(self, CHAN_TRIGGER, "onslaught/generator_decay.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_TRIGGER_SINGLE, "onslaught/generator_decay.wav", VOL_BASE, ATTN_NORM);
                        d = 1;
                        e = findchain(classname, "onslaught_controlpoint");
                        while (e)
@@ -455,7 +455,7 @@ void onslaught_generator_damage_think()
                if(random() < 0.01)
                {
                        pointparticles(particleeffectnum("electro_ballexplode"), self.origin + randompos('-50 -50 -20', '50 50 50'), '0 0 0', 1);
-                       sound(self, CHAN_TRIGGER, "onslaught/electricity_explode.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_TRIGGER_SINGLE, "onslaught/electricity_explode.wav", VOL_BASE, ATTN_NORM);
                }
                else
                        pointparticles(particleeffectnum("torch_small"), self.origin + randompos('-60 -60 -20', '60 60 60'), '0 0 0', 1);
@@ -484,7 +484,7 @@ void onslaught_generator_deaththink()
        if(self.count==40||self.count==20)
        {
                onslaught_generator_ring_spawn(self.origin);
-               sound(self, CHAN_TRIGGER, "onslaught/shockwave.wav", VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, "onslaught/shockwave.wav", VOL_BASE, ATTN_NORM);
        }
 
        // Throw some gibs
@@ -510,7 +510,7 @@ void onslaught_generator_deaththink()
        if(random() < 0.25)
        {
                te_explosion(self.origin);
-               sound(self, CHAN_TRIGGER, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
        }
 
        // Particles
@@ -530,7 +530,7 @@ void onslaught_generator_deaththink()
                te_explosion(org);
                onslaught_generator_shockwave_spawn(org);
                pointparticles(particleeffectnum("onslaught_generator_finalexplosion"), org, '0 0 0', 1);
-               sound(self, CHAN_TRIGGER, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
        }
        else
                self.nextthink = time + 0.05;
@@ -631,7 +631,7 @@ void onslaught_generator_damage(entity inflictor, entity attacker, float damage,
        // Throw some flaming gibs on damage, more damage = more chance for gib
        if(random() < damage/220)
        {
-               sound(self, CHAN_TRIGGER, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
                i = random();
                if(i < 0.3)
                        ons_throwgib(hitloc + '0 0 20', force * -1, "models/onslaught/gen_gib1.md3", 5, TRUE);
@@ -647,9 +647,9 @@ void onslaught_generator_damage(entity inflictor, entity attacker, float damage,
 
                //sound on every hit
                if (random() < 0.5)
-                       sound(self, CHAN_TRIGGER, "onslaught/ons_hit1.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_TRIGGER_SINGLE, "onslaught/ons_hit1.wav", VOL_BASE, ATTN_NORM);
                else
-                       sound(self, CHAN_TRIGGER, "onslaught/ons_hit2.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_TRIGGER_SINGLE, "onslaught/ons_hit2.wav", VOL_BASE, ATTN_NORM);
        }
 
        //throw some gibs on damage
@@ -977,13 +977,13 @@ void onslaught_controlpoint_icon_damage(entity inflictor, entity attacker, float
        pointparticles(particleeffectnum("sparks"), hitloc, force*-1, 1);
        //sound on every hit
        if (random() < 0.5)
-               sound(self, CHAN_TRIGGER, "onslaught/ons_hit1.wav", VOL_BASE+0.3, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, "onslaught/ons_hit1.wav", VOL_BASE+0.3, ATTN_NORM);
        else
-               sound(self, CHAN_TRIGGER, "onslaught/ons_hit2.wav", VOL_BASE+0.3, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, "onslaught/ons_hit2.wav", VOL_BASE+0.3, ATTN_NORM);
 
        if (self.health < 0)
        {
-               sound(self, CHAN_TRIGGER, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
                pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1);
                {
                        string t;
@@ -1104,9 +1104,9 @@ void onslaught_controlpoint_icon_think()
                pointparticles(particleeffectnum("electricity_sparks"), self.origin + randompos('-10 -10 -20', '10 10 20'), '0 0 0', 1);
 
                if(random() > 0.8)
-                       sound(self, CHAN_PAIN, "onslaught/ons_spark1.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_PAIN, "onslaught/ons_spark1.wav", VOL_BASE, ATTN_NORM);
                else if (random() > 0.5)
-                       sound(self, CHAN_PAIN, "onslaught/ons_spark2.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_PAIN, "onslaught/ons_spark2.wav", VOL_BASE, ATTN_NORM);
        }
 };
 
@@ -1129,7 +1129,7 @@ void onslaught_controlpoint_icon_buildthink()
                self.health = self.max_health;
                self.count = autocvar_g_onslaught_cp_regen * sys_frametime; // slow repair rate from now on
                self.think = onslaught_controlpoint_icon_think;
-               sound(self, CHAN_TRIGGER, "onslaught/controlpoint_built.wav", VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, "onslaught/controlpoint_built.wav", VOL_BASE, ATTN_NORM);
                bprint(ColoredTeamName(self.team), " captured ", self.owner.message, " control point\n");
                self.owner.iscaptured = TRUE;
 
@@ -1192,7 +1192,7 @@ void onslaught_controlpoint_touch()
        e.think = onslaught_controlpoint_icon_buildthink;
        e.nextthink = time + sys_frametime;
        e.count = (e.max_health - e.health) * sys_frametime / autocvar_g_onslaught_cp_buildtime; // how long it takes to build
-       sound(e, CHAN_TRIGGER, "onslaught/controlpoint_build.wav", VOL_BASE, ATTN_NORM);
+       sound(e, CH_TRIGGER_SINGLE, "onslaught/controlpoint_build.wav", VOL_BASE, ATTN_NORM);
        self.team = e.team;
        self.colormap = e.colormap;
        WaypointSprite_UpdateBuildFinished(self.sprite, time + (e.max_health - e.health) / (e.count / sys_frametime));
index 022fde20152fec14ba2b6e223308569b6b146ff8..b7c775578cc22b339a0c124e87c63c08a9d97ac8 100644 (file)
@@ -115,8 +115,10 @@ void() t_movetarget =
        self = other;
        other = temp;
 
+       /* PLEASE FIX THE SOUND CHANNEL BEFORE ACTIVATING THIS
        if (self.classname == "monster_ogre")
                sound (self, CHAN_VOICE, "ogre/ogdrag.wav", 1, ATTN_IDLE);// play chainsaw drag sound
+       */
 
 //dprint ("t_movetarget\n");
        self.goalentity = self.movetarget = find (world, targetname, other.target);
@@ -168,8 +170,10 @@ void() monster_wanderpathtouch =
        if (other.enemy)
                return;         // fighting, not following a path
 
+       /* PLEASE FIX THE SOUND CHANNEL BEFORE ACTIVATING THIS
        if (other.classname == "monster_ogre")
                sound (other, CHAN_VOICE, "ogre/ogdrag.wav", 1, ATTN_IDLE);// play chainsaw drag sound
+       */
        monster_wanderpaththink();
 };
 
index dd12e96bcb9471ff27b53a6364e4ff1b64988b5f..ceb3f207cc45d59c3f50d218a1c6ad61af75dc94 100644 (file)
@@ -104,7 +104,9 @@ void(float a) monster_setalpha =
                        if (random() < 0.005)
                        {
                                // blink for an instant, this causes the appear sound, alarming the player as if under attack
+                               /* PLEASE FIX THE SOUND CHANNEL BEFORE ACTIVATING THIS
                                sound(self, CHAN_AUTO, "wizard/wsight.wav", 1, ATTN_NORM);
+                               */
                                a = 1;
                        }
                }
@@ -117,8 +119,10 @@ void(float a) monster_setalpha =
                else
                {
                        // if unghosting, make sure we have an enemy, otherwise stay ghosted (even if blinking) so we can't be shot while blinking
+                       /* PLEASE FIX THE SOUND CHANNEL BEFORE ACTIVATING THIS
                        if (self.solid != SOLID_SLIDEBOX)
                                sound(self, CHAN_AUTO, "wizard/wsight.wav", 1, ATTN_NORM);
+                       */
                        self.solid = SOLID_SLIDEBOX;
                        self.takedamage = DAMAGE_AIM;
                }
index e55f979960eab8c4ceb7f2acc0276e013bda7a64..ac6d5dccdb86fa63bcd504b0f1a9bbc13718efc1 100644 (file)
@@ -78,7 +78,7 @@ void ka_RespawnBall() // runs whenever the ball needs to be relocated
                WaypointSprite_Spawn("ka-ball", 0, 0, self, '0 0 64', world, self.team, self, waypointsprite_attachedforcarrier, FALSE, RADARICON_FLAGCARRIER, '0 1 1');
                WaypointSprite_Ping(self.waypointsprite_attachedforcarrier);    
 
-               sound(self, CHAN_AUTO, "keepaway/respawn.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) 
+               sound(self, CH_TRIGGER_SINGLE, "keepaway/respawn.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) 
        }
        else
        {
@@ -99,7 +99,7 @@ void ka_TouchEvent() // runs any time that the ball comes in contact with someth
        if(other.classname != "player") 
        {  // The ball just touched an object, most likely the world
                pointparticles(particleeffectnum("kaball_sparks"), self.origin, '0 0 0', 1);
-               sound(self, CHAN_AUTO, "keepaway/touch.wav", VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, "keepaway/touch.wav", VOL_BASE, ATTN_NORM);
                return; 
        }
        else if(self.wait > time) { return; }
@@ -128,7 +128,7 @@ void ka_TouchEvent() // runs any time that the ball comes in contact with someth
        Send_KillNotification(other.netname, "", "", KA_PICKUPBALL, MSG_KA);
        WriteByte(MSG_BROADCAST, SVC_CENTERPRINT);
        WriteString(MSG_BROADCAST, strcat("\n\n", other.netname, "^7 has picked up the ball!\n"));
-       sound(self.owner, CHAN_AUTO, "keepaway/pickedup.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) 
+       sound(self.owner, CH_TRIGGER, "keepaway/pickedup.wav", VOL_BASE, ATTN_NONE); // ATTN_NONE (it's a sound intended to be heard anywhere) 
        
        // scoring
        PlayerScore_Add(other, SP_KEEPAWAY_PICKUPS, 1);
@@ -170,7 +170,7 @@ void ka_DropEvent(entity plyr) // runs any time that a player is supposed to los
        Send_KillNotification(plyr.netname, "", "", KA_DROPBALL, MSG_KA);
        WriteByte(MSG_BROADCAST, SVC_CENTERPRINT);
        WriteString(MSG_BROADCAST, strcat("\n\n", plyr.netname, "^7 has dropped the ball!\n"));
-       sound(other, CHAN_AUTO, "keepaway/dropped.wav", VOL_BASE, ATTN_NONE);   // ATTN_NONE (it's a sound intended to be heard anywhere) 
+       sound(plyr, CH_TRIGGER, "keepaway/dropped.wav", VOL_BASE, ATTN_NONE);   // ATTN_NONE (it's a sound intended to be heard anywhere) 
        
        // scoring
        // PlayerScore_Add(plyr, SP_KEEPAWAY_DROPS, 1); Not anymore, this is 100% the same as pickups and is useless.
index 32e4116aa1273e342491fc34a48288c0d901796a..decada0312d4536537d9ab519b5b46cb822a04c8 100644 (file)
@@ -413,7 +413,7 @@ void kh_Key_Damage(entity inflictor, entity attacker, float damage, float deatht
 
 void kh_Key_Collect(entity key, entity player)  //a player picks up a dropped key
 {
-       sound(player, CHAN_AUTO, kh_sound_collect, VOL_BASE, ATTN_NORM);
+       sound(player, CH_TRIGGER, kh_sound_collect, VOL_BASE, ATTN_NORM);
 
        if(key.kh_dropperteam != player.team)
        {
@@ -664,7 +664,7 @@ void kh_Key_Think()  // runs all the time
        {
                if(self.siren_time < time)
                {
-                       sound(self.owner, CHAN_AUTO, kh_sound_alarm, VOL_BASE, ATTN_NORM);  // play a simple alarm
+                       sound(self.owner, CH_TRIGGER, kh_sound_alarm, VOL_BASE, ATTN_NORM);  // play a simple alarm
                        self.siren_time = time + 2.5;  // repeat every 2.5 seconds
                }
 
@@ -799,7 +799,7 @@ void kh_Key_DropOne(entity key)
        key.pushltime = time + autocvar_g_balance_keyhunt_protecttime;
        key.kh_dropperteam = key.team;
 
-       sound(player, CHAN_AUTO, kh_sound_drop, VOL_BASE, ATTN_NORM);
+       sound(player, CH_TRIGGER, kh_sound_drop, VOL_BASE, ATTN_NORM);
 }
 
 void kh_Key_DropAll(entity player, float suicide) // runs whenever a player dies
@@ -825,7 +825,7 @@ void kh_Key_DropAll(entity player, float suicide) // runs whenever a player dies
                        if(suicide)
                                key.kh_dropperteam = player.team;
                }
-               sound(player, CHAN_AUTO, kh_sound_drop, VOL_BASE, ATTN_NORM);
+               sound(player, CH_TRIGGER, kh_sound_drop, VOL_BASE, ATTN_NORM);
        }
 }
 
@@ -1021,7 +1021,7 @@ MUTATOR_HOOKFUNCTION(kh_PlayerDies)
 {
        if(self == other)
                kh_Key_DropAll(self, TRUE);
-       else if(other.classname == "player" || other.classname == "gib")
+       else if(other.classname == "player")
                kh_Key_DropAll(self, FALSE);
        else
                kh_Key_DropAll(self, TRUE);
index 1c05a4a091bed2799cd05c1067edf2b1c4562f36..3b193c163c9d61ea0cce471f7df999bdd0139323 100644 (file)
@@ -112,7 +112,7 @@ MUTATOR_HOOKFUNCTION(dodging_PlayerPhysics) {
                        + (autocvar_sv_dodging_up_speed * v_up);
 
                if (autocvar_sv_dodging_sound == 1)
-                       PlayerSound(playersound_jump, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
+                       PlayerSound(playersound_jump, CH_PLAYER, VOICETYPE_PLAYERSOUND);
 
                setanim(self, self.anim_jump, TRUE, FALSE, TRUE);
 
index 1cfbbe7b73e95ebb1553a113db42eb0a05cede25..3ee7b5597d82d3752c55927d52d6bd389b775478 100644 (file)
@@ -222,7 +222,7 @@ void InitBall (void)
        self.teamtime = 0;
        self.pusher = world;
        self.team = FALSE;
-       sound (self, CHAN_PROJECTILE, self.noise1, VOL_BASE, ATTN_NORM);
+       sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM);
        WaypointSprite_Ping(self.waypointsprite_attachedforcarrier);
        LogNB("init", world);
 }
@@ -262,7 +262,7 @@ void football_touch (void)
        if (other.solid == SOLID_BSP) {
                if (time > self.lastground + 0.1)
                {
-                       sound (self, CHAN_PROJECTILE, self.noise, VOL_BASE, ATTN_NORM);
+                       sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM);
                        self.lastground = time;
                }
                if (vlen(self.velocity) && !self.cnt)
@@ -308,7 +308,7 @@ void basketball_touch (void)
                LogNB("caught", other);
                GiveBall(other, self);
        } else if (other.solid == SOLID_BSP) {
-               sound (self, CHAN_PROJECTILE, self.noise, VOL_BASE, ATTN_NORM);
+               sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM);
                if (vlen(self.velocity) && !self.cnt)
                        self.nextthink = min(time + g_nexball_delay_idle, self.teamtime);
        }
@@ -366,7 +366,7 @@ void GoalTouch (void)
                pscore = 1;
        }
 
-       sound (ball, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NONE);
+       sound (ball, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NONE);
 
        if(ball.team && pscore)
        {
@@ -597,14 +597,14 @@ void W_Nexball_Touch (void)
 
        PROJECTILE_TOUCH;
        if(attacker.team != other.team || g_nexball_basketball_teamsteal)
-       if((ball = other.ballcarried) && (attacker.classname == "player" || attacker.classname == "gib"))
+       if((ball = other.ballcarried) && (attacker.classname == "player"))
        {
                other.velocity = other.velocity + normalize(self.velocity) * other.damageforcescale * autocvar_g_balance_nexball_secondary_force;
                other.flags &~= FL_ONGROUND;
                if(!attacker.ballcarried)
                {
                        LogNB("stole", attacker);
-                       sound (other, CHAN_AUTO, ball.noise2, VOL_BASE, ATTN_NORM);
+                       sound (other, CH_TRIGGER, ball.noise2, VOL_BASE, ATTN_NORM);
 
                        if(attacker.team == other.team && time > attacker.teamkill_complain)
                        {
@@ -626,7 +626,7 @@ void W_Nexball_Attack (float t)
        if (!(ball = self.ballcarried))
                return;
 
-       W_SetupShot (self, FALSE, 4, "nexball/shoot1.wav", CHAN_WEAPON, 0);
+       W_SetupShot (self, FALSE, 4, "nexball/shoot1.wav", CH_WEAPON_A, 0);
        tracebox(w_shotorg, BALL_MINS, BALL_MAXS, w_shotorg, MOVE_WORLDONLY, world);
        if(trace_startsolid)
        {
@@ -657,7 +657,7 @@ void W_Nexball_Attack2 (void)
        local entity missile;
        if (!(balls & BALL_BASKET))
                return;
-       W_SetupShot (self, FALSE, 2, "nexball/shoot2.wav", CHAN_WEAPON, 0);
+       W_SetupShot (self, FALSE, 2, "nexball/shoot2.wav", CH_WEAPON_A, 0);
 //     pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
        missile = spawn ();
 
index a0f750b05beef72ba6ee7b2daa907d21dbc7b32e..af7e8b415c8a9a338be5a821cd79e6898f06c6e2 100644 (file)
@@ -394,14 +394,14 @@ void Portal_Remove(entity portal, float killed)
        if(killed)
        {
                fixedmakevectors(portal.mangle);
-               sound(portal, CHAN_PROJECTILE, "porto/explode.wav", VOL_BASE, ATTN_NORM);
+               sound(portal, CH_SHOTS_SINGLE, "porto/explode.wav", VOL_BASE, ATTN_NORM);
                pointparticles(particleeffectnum("rocket_explode"), portal.origin + v_forward * 16, v_forward * 1024, 4);
                remove(portal);
        }
        else
        {
                Portal_MakeBrokenPortal(portal);
-               sound(portal, CHAN_PROJECTILE, "porto/expire.wav", VOL_BASE, ATTN_NORM);
+               sound(portal, CH_SHOTS_SINGLE, "porto/expire.wav", VOL_BASE, ATTN_NORM);
                SUB_SetFade(portal, time, 0.5);
        }
 }
index fe47fa305bdccb74daf88b9f8453440f909ab28c..a586252555dcf58beaa904975135ba0e5e71e4c3 100644 (file)
@@ -493,8 +493,6 @@ vector steerlib_beamsteer(vector dir, float length, float step, float step_up, f
 #ifdef TLIBS_TETSLIBS
 void flocker_die()
 {
-       sound (self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
-
        pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1);
 
     self.owner.cnt += 1;
index 8cf78cc79da383c8f2873972f6362a074c236a3b..d11a7e3fd0651819c60945e5b11f7393565ee596 100644 (file)
@@ -4,22 +4,24 @@ void CreatureFrame (void)
        local entity oldself;
        local float dm;
        oldself = self;
-       self = findfloat(world, iscreature, TRUE);
-       while (self)
+       for(self = world; (self = findfloat(self, iscreature, TRUE)); )
        {
-               if (self.movetype != MOVETYPE_NOCLIP)
+               if (self.movetype == MOVETYPE_NOCLIP)
+                       continue;
+               float vehic = (self.vehicle_flags & VHF_ISVEHICLE);
+               if (self.waterlevel)
                {
-                       if (self.waterlevel)
+                       if (!(self.flags & FL_INWATER))
+                       {
+                               self.flags |= FL_INWATER;
+                               self.dmgtime = 0;
+                       }
+                       if(!vehic) // vehicles don't drown
                        {
-                               if (!(self.flags & FL_INWATER))
-                               {
-                                       self.flags |= FL_INWATER;
-                                       self.dmgtime = 0;
-                               }
                                if (self.waterlevel != WATERLEVEL_SUBMERGED)
                                {
                                        if(self.air_finished < time + 9)
-                                               PlayerSound(playersound_gasp, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
+                                               PlayerSound(playersound_gasp, CH_PLAYER, VOICETYPE_PLAYERSOUND);
                                        self.air_finished = time + 12;
                                        self.dmg = 2;
                                }
@@ -32,40 +34,44 @@ void CreatureFrame (void)
                                                self.pain_finished = time + 0.5;
                                        }
                                }
-                               if (self.dmgtime < time)
+                       }
+                       if (self.dmgtime < time)
+                       {
+                               self.dmgtime = time + 0.2;
+                               if (self.watertype == CONTENT_LAVA)
                                {
-                                       self.dmgtime = time + 0.2;
-                                       if (self.watertype == CONTENT_LAVA)
+                                       if (self.watersound_finished < time)
                                        {
-                                               if (self.watersound_finished < time)
-                                               {
-                                                       self.watersound_finished = time + 0.5;
-                                                       sound (self, CHAN_PLAYER, "player/lava.wav", VOL_BASE, ATTN_NORM);
-                                               }
-                                               Damage (self, world, world, 6 * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
+                                               self.watersound_finished = time + 0.5;
+                                               sound (self, CH_PLAYER, "player/lava.wav", VOL_BASE, ATTN_NORM);
                                        }
-                                       else if (self.watertype == CONTENT_SLIME)
+                                       Damage (self, world, world, 6 * self.waterlevel, DEATH_LAVA, self.origin, '0 0 0');
+                               }
+                               else if (self.watertype == CONTENT_SLIME)
+                               {
+                                       if (self.watersound_finished < time)
                                        {
-                                               if (self.watersound_finished < time)
-                                               {
-                                                       self.watersound_finished = time + 0.5;
-                                                       sound (self, CHAN_PLAYER, "player/slime.wav", VOL_BASE, ATTN_NORM);
-                                               }
-                                               Damage (self, world, world, 2 * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
+                                               self.watersound_finished = time + 0.5;
+                                               sound (self, CH_PLAYER, "player/slime.wav", VOL_BASE, ATTN_NORM);
                                        }
+                                       Damage (self, world, world, 2 * self.waterlevel, DEATH_SLIME, self.origin, '0 0 0');
                                }
                        }
-                       else
+               }
+               else
+               {
+                       if (self.flags & FL_INWATER)
                        {
-                               if (self.flags & FL_INWATER)
-                               {
-                                       // play leave water sound
-                                       self.flags &~= FL_INWATER;
-                                       self.dmgtime = 0;
-                               }
-                               self.air_finished = time + 12;
-                               self.dmg = 2;
+                               // play leave water sound
+                               self.flags &~= FL_INWATER;
+                               self.dmgtime = 0;
                        }
+                       self.air_finished = time + 12;
+                       self.dmg = 2;
+               }
+
+               if(!vehic) // vehicles don't get falling damage
+               {
                        // check for falling damage
                        float velocity_len = vlen(self.velocity);
                        if(!self.hook.state && !g_ca && !(g_cts && !autocvar_g_cts_selfdamage))
@@ -81,7 +87,6 @@ void CreatureFrame (void)
 
                        if(autocvar_g_maxspeed > 0 && velocity_len > autocvar_g_maxspeed)
                                Damage (self, world, world, 100000, DEATH_SHOOTING_STAR, self.origin, '0 0 0');
-
                        // play stupid sounds
                        if (g_footsteps)
                        if (!gameover)
@@ -104,15 +109,15 @@ void CreatureFrame (void)
                                        if not(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOSTEPS)
                                        {
                                                if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_METALSTEPS)
-                                                       GlobalSound(globalsound_metalstep, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
+                                                       GlobalSound(globalsound_metalstep, CH_PLAYER, VOICETYPE_PLAYERSOUND);
                                                else
-                                                       GlobalSound(globalsound_step, CHAN_PLAYER, VOICETYPE_PLAYERSOUND);
+                                                       GlobalSound(globalsound_step, CH_PLAYER, VOICETYPE_PLAYERSOUND);
                                        }
                                }
                        }
-                       self.oldvelocity = self.velocity;
                }
-               self = findfloat(self, iscreature, TRUE);
+
+               self.oldvelocity = self.velocity;
        }
        self = oldself;
 }
index fb03e55e3f37ea30ef314345d4db17bcf5eda214..26ad056f2f602227b58892a12774b932cbde52d4 100644 (file)
@@ -39,6 +39,8 @@ void func_ladder_touch()
 {
        if not(other.iscreature)
                return;
+       if (other.vehicle_flags & VHF_ISVEHICLE)
+               return;
 
        EXACTTRIGGER_TOUCH;
 
index 02660fc52a97c8f291f98d4728a92053ae9d563a..001063585b107faa2411b76a6500d0f4799e549f 100644 (file)
@@ -146,11 +146,11 @@ void Item_Respawn (void)
 {
        Item_Show(self, 1);
        if(!g_minstagib && self.items == IT_STRENGTH)
-               sound (self, CHAN_TRIGGER, "misc/strength_respawn.wav", VOL_BASE, ATTN_NORM);   // play respawn sound
+               sound (self, CH_TRIGGER_SINGLE, "misc/strength_respawn.wav", VOL_BASE, ATTN_NORM);      // play respawn sound
        else if(!g_minstagib && self.items == IT_INVINCIBLE)
-               sound (self, CHAN_TRIGGER, "misc/shield_respawn.wav", VOL_BASE, ATTN_NORM);     // play respawn sound
+               sound (self, CH_TRIGGER_SINGLE, "misc/shield_respawn.wav", VOL_BASE, ATTN_NORM);        // play respawn sound
        else
-               sound (self, CHAN_TRIGGER, "misc/itemrespawn.wav", VOL_BASE, ATTN_NORM);        // play respawn sound
+               sound (self, CH_TRIGGER_SINGLE, "misc/itemrespawn.wav", VOL_BASE, ATTN_NORM);   // play respawn sound
        setorigin (self, self.origin);
 
        //pointparticles(particleeffectnum("item_respawn"), self.origin + self.mins_z * '0 0 1' + '0 0 48', '0 0 0', 1);
@@ -203,7 +203,7 @@ void Item_RespawnCountdown (void)
                                        WaypointSprite_UpdateBuildFinished(self.waypointsprite_attached, time + ITEM_RESPAWN_TICKS);
                        }
                }
-               sound (self, CHAN_TRIGGER, "misc/itemrespawncountdown.wav", VOL_BASE, ATTN_NORM);       // play respawn sound
+               sound (self, CH_TRIGGER_SINGLE, "misc/itemrespawncountdown.wav", VOL_BASE, ATTN_NORM);  // play respawn sound
                if(self.waypointsprite_attached)
                {
                        WaypointSprite_Ping(self.waypointsprite_attached);
@@ -447,7 +447,7 @@ float Item_GiveTo(entity item, entity player)
        if (!pickedup)
                return 0;
 
-       sound (player, CHAN_AUTO, item.item_pickupsound, VOL_BASE, ATTN_NORM);
+       sound (player, CH_TRIGGER, item.item_pickupsound, VOL_BASE, ATTN_NORM);
        if (_switchweapon)
                if (player.switchweapon != w_getbestweapon(player))
                        W_SwitchWeapon_Force(player, w_getbestweapon(player));
@@ -1532,12 +1532,12 @@ void GiveSound(entity e, float v0, float v1, float t, string snd_incr, string sn
        if(v1 <= v0 - t)
        {
                if(snd_decr != "")
-                       sound (e, CHAN_AUTO, snd_decr, VOL_BASE, ATTN_NORM);
+                       sound (e, CH_TRIGGER, snd_decr, VOL_BASE, ATTN_NORM);
        }
        else if(v0 >= v0 + t)
        {
                if(snd_incr != "")
-                       sound (e, CHAN_AUTO, snd_incr, VOL_BASE, ATTN_NORM);
+                       sound (e, CH_TRIGGER, snd_incr, VOL_BASE, ATTN_NORM);
        }
 }
 
index 4712d5929f5f714d2ba5c6c9f8fdd87d48f9854f..18dbef1711424dd28e5864c58fc0adc0d30d2112 100644 (file)
@@ -130,18 +130,7 @@ void trigger_push_touch()
        if (self.active == ACTIVE_NOT)
                return;
 
-       // FIXME: add a .float for whether an entity should be tossed by jumppads
-       if (!other.iscreature)
-       if (other.classname != "corpse")
-       if (other.classname != "body")
-       if (other.classname != "gib")
-       if (other.classname != "casing")
-       if (other.classname != "droppedweapon")
-       if (other.classname != "keepawayball")
-       if (!other.projectiledeathtype || other.classname == "bullet")
-               return;
-
-       if (other.deadflag && other.iscreature)
+       if (!isPushable(other))
                return;
 
        if(self.team)
@@ -166,7 +155,7 @@ void trigger_push_touch()
                {
                        // flash when activated
                        pointparticles(particleeffectnum("jumppad_activate"), other.origin, other.velocity, 1);
-                       sound (other, CHAN_AUTO, self.noise, VOL_BASE, ATTN_NORM);
+                       sound (other, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
                        self.pushltime = time + 0.2;
                }
                local float ct;
index f90c812d9bd0691ed332e4817bc2dd216c6338aa..39d206696bf58adfc7dc9caea391b65ab4660a8c 100644 (file)
@@ -62,7 +62,7 @@ void plat_spawn_inside_trigger()
 
 void plat_hit_top()
 {
-       sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
+       sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM);
        self.state = 1;
        self.think = plat_go_down;
        self.nextthink = self.ltime + 3;
@@ -70,20 +70,20 @@ void plat_hit_top()
 
 void plat_hit_bottom()
 {
-       sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
+       sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM);
        self.state = 2;
 };
 
 void plat_go_down()
 {
-       sound (self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
+       sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM);
        self.state = 3;
        SUB_CalcMove (self.pos2, self.speed, plat_hit_bottom);
 };
 
 void plat_go_up()
 {
-       sound (self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
+       sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM);
        self.state = 4;
        SUB_CalcMove (self.pos1, self.speed, plat_hit_top);
 };
@@ -246,7 +246,7 @@ void() train_next;
 void train_wait()
 {
        if(self.noise != "")
-               stopsoundto(MSG_BROADCAST, self, CHAN_TRIGGER); // send this as unreliable only, as the train will resume operation shortly anyway
+               stopsoundto(MSG_BROADCAST, self, CH_TRIGGER_SINGLE); // send this as unreliable only, as the train will resume operation shortly anyway
 
        if(self.wait < 0)
        {
@@ -284,7 +284,7 @@ void train_next()
                SUB_CalcMove(targ.origin - self.mins, self.speed, train_wait);
 
        if(self.noise != "")
-               sound(self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_IDLE);
+               sound(self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_IDLE);
 };
 
 void func_train_find()
@@ -444,7 +444,7 @@ void spawnfunc_func_bobbing()
        if (self.noise != "")
        {
                precache_sound(self.noise);
-               soundto(MSG_INIT, self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_IDLE);
+               soundto(MSG_INIT, self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_IDLE);
        }
        if (!self.speed)
                self.speed = 4;
@@ -521,7 +521,7 @@ void spawnfunc_func_pendulum()
        if (self.noise != "")
        {
                precache_sound(self.noise);
-               soundto(MSG_INIT, self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_IDLE);
+               soundto(MSG_INIT, self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_IDLE);
        }
 
        self.active = ACTIVE_ACTIVE;
@@ -614,7 +614,7 @@ void button_fire()
                return;
 
        if (self.noise != "")
-               sound (self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_NORM);
+               sound (self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_NORM);
 
        self.state = STATE_UP;
        SUB_CalcMove (self.pos2, self.speed, button_wait);
@@ -825,7 +825,7 @@ void door_blocked()
 void door_hit_top()
 {
        if (self.noise1 != "")
-               sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
+               sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM);
        self.state = STATE_TOP;
        if (self.spawnflags & DOOR_TOGGLE)
                return;         // don't come down automatically
@@ -842,14 +842,14 @@ void door_hit_top()
 void door_hit_bottom()
 {
        if (self.noise1 != "")
-               sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
+               sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM);
        self.state = STATE_BOTTOM;
 };
 
 void door_go_down()
 {
        if (self.noise2 != "")
-               sound (self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
+               sound (self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM);
        if (self.max_health)
        {
                self.takedamage = DAMAGE_YES;
@@ -872,7 +872,7 @@ void door_go_up()
        }
 
        if (self.noise2 != "")
-               sound (self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
+               sound (self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM);
        self.state = STATE_UP;
        SUB_CalcMove (self.pos2, self.speed, door_hit_top);
 
@@ -1071,7 +1071,7 @@ void door_generic_plat_blocked()
 void door_rotating_hit_top()
 {
        if (self.noise1 != "")
-               sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
+               sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM);
        self.state = STATE_TOP;
        if (self.spawnflags & DOOR_TOGGLE)
                return;         // don't come down automatically
@@ -1082,7 +1082,7 @@ void door_rotating_hit_top()
 void door_rotating_hit_bottom()
 {
        if (self.noise1 != "")
-               sound (self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
+               sound (self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM);
        if (self.lip==666) // self.lip is used to remember reverse opening direction for door_rotating
        {
                self.pos2 = '0 0 0' - self.pos2;
@@ -1094,7 +1094,7 @@ void door_rotating_hit_bottom()
 void door_rotating_go_down()
 {
        if (self.noise2 != "")
-               sound (self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
+               sound (self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM);
        if (self.max_health)
        {
                self.takedamage = DAMAGE_YES;
@@ -1116,7 +1116,7 @@ void door_rotating_go_up()
                return;
        }
        if (self.noise2 != "")
-               sound (self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
+               sound (self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM);
        self.state = STATE_UP;
        SUB_CalcAngleMove (self.pos2, self.speed, door_rotating_hit_top);
 
@@ -1545,7 +1545,7 @@ void fd_secret_use()
        // Make a sound, wait a little...
 
        if (self.noise1 != "")
-               sound(self, CHAN_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, self.noise1, VOL_BASE, ATTN_NORM);
        self.nextthink = self.ltime + 0.1;
 
        temp = 1 - (self.spawnflags & SECRET_1ST_LEFT); // 1 or -1
@@ -1570,7 +1570,7 @@ void fd_secret_use()
        self.dest2 = self.dest1 + v_forward * self.t_length;
        SUB_CalcMove(self.dest1, self.speed, fd_secret_move1);
        if (self.noise2 != "")
-               sound(self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM);
 };
 
 // Wait after first movement...
@@ -1579,14 +1579,14 @@ void fd_secret_move1()
        self.nextthink = self.ltime + 1.0;
        self.think = fd_secret_move2;
        if (self.noise3 != "")
-               sound(self, CHAN_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NORM);
 };
 
 // Start moving sideways w/sound...
 void fd_secret_move2()
 {
        if (self.noise2 != "")
-               sound(self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM);
        SUB_CalcMove(self.dest2, self.speed, fd_secret_move3);
 };
 
@@ -1594,7 +1594,7 @@ void fd_secret_move2()
 void fd_secret_move3()
 {
        if (self.noise3 != "")
-               sound(self, CHAN_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NORM);
        if (!(self.spawnflags & SECRET_OPEN_ONCE))
        {
                self.nextthink = self.ltime + self.wait;
@@ -1606,7 +1606,7 @@ void fd_secret_move3()
 void fd_secret_move4()
 {
        if (self.noise2 != "")
-               sound(self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM);
        SUB_CalcMove(self.dest1, self.speed, fd_secret_move5);
 };
 
@@ -1616,13 +1616,13 @@ void fd_secret_move5()
        self.nextthink = self.ltime + 1.0;
        self.think = fd_secret_move6;
        if (self.noise3 != "")
-               sound(self, CHAN_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NORM);
 };
 
 void fd_secret_move6()
 {
        if (self.noise2 != "")
-               sound(self, CHAN_TRIGGER, self.noise2, VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, self.noise2, VOL_BASE, ATTN_NORM);
        SUB_CalcMove(self.oldorigin, self.speed, fd_secret_done);
 };
 
@@ -1635,7 +1635,7 @@ void fd_secret_done()
                //self.th_pain = fd_secret_use;
        }
        if (self.noise3 != "")
-               sound(self, CHAN_TRIGGER, self.noise3, VOL_BASE, ATTN_NORM);
+               sound(self, CH_TRIGGER_SINGLE, self.noise3, VOL_BASE, ATTN_NORM);
 };
 
 void secret_blocked()
@@ -1784,7 +1784,7 @@ void spawnfunc_func_fourier()
        if (self.noise != "")
        {
                precache_sound(self.noise);
-               soundto(MSG_INIT, self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_IDLE);
+               soundto(MSG_INIT, self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_IDLE);
        }
 
        if (!self.speed)
@@ -1930,7 +1930,7 @@ void spawnfunc_func_vectormamamam()
        if (self.noise != "")
        {
                precache_sound(self.noise);
-               soundto(MSG_INIT, self, CHAN_TRIGGER, self.noise, VOL_BASE, ATTN_IDLE);
+               soundto(MSG_INIT, self, CH_TRIGGER_SINGLE, self.noise, VOL_BASE, ATTN_IDLE);
        }
 
        if(!self.targetfactor)
index a2836264de0c2d7bc1d90f286b0094773edcbb93..4d7bd92cf86b3bbd4abf9daadc16537df796d5fe 100644 (file)
@@ -90,7 +90,7 @@ void TeleportPlayer(entity teleporter, entity player, vector to, vector to_angle
        if(self.pushltime < time) // only show one teleport effect per teleporter per 0.2 seconds, for better fps
        {
                if(tflags & TELEPORT_FLAG_SOUND)
-                       sound (player, CHAN_TRIGGER, "misc/teleport.wav", VOL_BASE, ATTN_NORM);
+                       sound (player, CH_TRIGGER, "misc/teleport.wav", VOL_BASE, ATTN_NORM);
                if(tflags & TELEPORT_FLAG_PARTICLES)
                {
                        pointparticles(particleeffectnum("teleport"), player.origin, '0 0 0', 1);
@@ -148,9 +148,14 @@ void Teleport_Touch (void)
        if (self.active != ACTIVE_ACTIVE)
                return;
        
-       if (other.health < 1)
+       if not(other.iscreature)
                return;
-       if not(other.flags & FL_CLIENT) // FIXME: Make missiles firable through the teleport too
+
+       // for gameplay: vehicles can't teleport
+       if (other.vehicle_flags & VHF_ISVEHICLE)
+               return;
+
+       if (other.deadflag != DEAD_NO)
                return;
 
        if(self.team)
index 88358e771e3c2392fb63a2d5ddd3a023bc74bd7d..8daad2734101a1e53f8ebe5f42bf599effa7e0eb 100644 (file)
@@ -84,7 +84,7 @@ void turret_stdproc_respawn()
 void turret_stdproc_damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector vforce)
 {
     // Enougth allready!
-    if (self.health <= 0)
+    if(self.deadflag == DEAD_DEAD)
         return;
 
     // Inactive turrets take no damage. (hm..)
index 2bc9f929adfdd915daa7ef1a642a745a1d000e2b..de3e06537552308ec721306c96947a2c7bc16853 100644 (file)
@@ -64,12 +64,13 @@ float turret_send(entity to, float sf)
     }
     
     if(sf & TNSF_STATUS)
-    {        
+    {
         WriteByte(MSG_ENTITY, self.team);
+        
         if(self.health <= 0)
             WriteByte(MSG_ENTITY, 0);
         else
-            WriteByte(MSG_ENTITY, rint((self.health / self.tur_health) * 255)); // Send health as 0-255 insted of real value, where 255 = 100%
+            WriteByte(MSG_ENTITY, ceil((self.health / self.tur_health) * 255));
     }
     
        return TRUE;
index a58fe449117138649ff10b6211a2f340453627d8..86f5c44021ba6f987c8333e7fa5f3d456b82f8a4 100644 (file)
@@ -29,7 +29,7 @@ void ewheel_attack()
     {
         turret_do_updates(self);
 
-        sound (self, CHAN_WEAPON, "weapons/lasergun_fire.wav", VOL_BASE, ATTN_NORM);
+        sound (self, CH_WEAPON_A, "weapons/lasergun_fire.wav", VOL_BASE, ATTN_NORM);
         pointparticles(particleeffectnum("laser_muzzleflash"), self.tur_shotorg, self.tur_shotdir_updated * 1000, 1);
 
         proj                    = spawn ();
index cf921322238a6e830c89a4a1d0021ceb0b3bd7d7..e5360d88776a497533532b67af277d91dfbcf90a 100644 (file)
@@ -9,7 +9,7 @@ void turret_flac_attack()
 
     turret_tag_fire_update();
 
-    sound (self, CHAN_WEAPON, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
+    sound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
     proj = spawn ();
     setorigin(proj, self.tur_shotorg);
     setsize(proj, '0 0 0', '0 0 0');
index b1dc47bf1c794c0d064cdc7db08cdb251afa8030..84f8e90028aee2881264b0a74b8e23ec03882b1e 100644 (file)
@@ -32,7 +32,7 @@ void turret_hellion_attack()
        else
                self.tur_shotorg = gettaginfo(self.tur_head, gettagindex(self.tur_head, "tag_fire2"));
     
-    sound (self, CHAN_WEAPON, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
+    sound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
 
     missile = spawn ();
     setorigin(missile, self.tur_shotorg);
index a9ecd2a39f60b0d48d85d7ac373da330760120a6..5ad222fa09c93ffbee62968df451a2864f6db7b2 100644 (file)
@@ -85,7 +85,7 @@ void turret_hk_attack()
     local entity missile;
     //local entity flash2;
 
-    sound (self, CHAN_WEAPON, "weapons/rocket_fire.wav", VOL_BASE, ATTN_NORM);
+    sound (self, CH_WEAPON_A, "weapons/rocket_fire.wav", VOL_BASE, ATTN_NORM);
 
     missile                    = spawn ();
     missile.solid            = SOLID_BBOX;
@@ -283,7 +283,6 @@ void turret_hk_missile_think()
         self.cnt = time + 0.25;
         self.nextthink = 0;
         self.movetype         = MOVETYPE_BOUNCE;
-        sound    (self, CHAN_VOICE, "", 0.4 * VOL_BASE, ATTN_NORM);
         return;
     }
 
index ee34c94add23888bc4ca177987fb3e9c07d01775..990385fda221c544d7376e31252a88638589a711 100644 (file)
@@ -22,7 +22,7 @@ void turret_mlrs_attack()
 
     turret_tag_fire_update();
 
-    sound (self, CHAN_WEAPON, "weapons/rocket_fire.wav", VOL_BASE, ATTN_NORM);
+    sound (self, CH_WEAPON_A, "weapons/rocket_fire.wav", VOL_BASE, ATTN_NORM);
 
     missile                    = spawn ();
     setsize (missile, '-3 -3 -3', '3 3 3'); // give it some size so it can be shot
index b1c7d34c87b4929925a09b421579cd14a5687c34..7c32882db44135d1ba98f69148fa8efcc6bd68c0 100644 (file)
@@ -40,7 +40,7 @@ void beam_think()
         self.owner.attack_finished_single = time + self.owner.shot_refire;
         self.owner.fireflag = 2;
         self.owner.tur_head.frame = 10;
-        sound (self, CHAN_PROJECTILE, "", VOL_BASE, ATTN_NORM);
+        sound (self, CH_SHOTS_SINGLE, "", VOL_BASE, ATTN_NORM);
         remove(self);
         return;
     }
@@ -50,7 +50,7 @@ void beam_think()
     if (time - self.shot_spread > 0)
     {
         self.shot_spread = time + 2;
-        sound (self, CHAN_VOICE, "turrets/phaser.wav", VOL_BASE, ATTN_NORM);
+        sound (self, CH_SHOTS_SINGLE, "turrets/phaser.wav", VOL_BASE, ATTN_NORM);
     }
 
 
@@ -94,7 +94,7 @@ void turret_phaser_attack()
     beam.enemy = self.enemy;
     beam.bot_dodge = TRUE;
     beam.bot_dodgerating = beam.shot_dmg;
-    sound (beam, CHAN_PROJECTILE, "turrets/phaser.wav", VOL_BASE, ATTN_NORM);
+    sound (beam, CH_SHOTS_SINGLE, "turrets/phaser.wav", VOL_BASE, ATTN_NORM);
     self.fireflag = 1;
 
     beam.attack_finished_single = self.attack_finished_single;
@@ -102,7 +102,7 @@ void turret_phaser_attack()
 
     setattachment(beam,self.tur_head,"tag_fire");
 
-    soundat (self, trace_endpos, CHAN_PROJECTILE, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
+    soundat (self, trace_endpos, CH_SHOTS_SINGLE, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
 
     if (self.tur_head.frame == 0)
         self.tur_head.frame = 1;
index ff1221992c0c2ba09308386c2f01627c31da9fda..7867310329452f9f3fca928caa3cb760d7a25628 100644 (file)
@@ -29,7 +29,7 @@ void turret_plasma_attack()
 {
     entity proj;
 
-    sound (self, CHAN_WEAPON, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
+    sound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
     pointparticles(particleeffectnum("laser_muzzleflash"), self.tur_shotorg, self.tur_shotdir_updated * 1000, 1);
 
     proj                    = spawn ();
@@ -59,7 +59,7 @@ void turret_plasma_dual_attack()
 {
     entity proj;
 
-    sound (self, CHAN_WEAPON, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
+    sound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
     proj                    = spawn ();
     setorigin(proj, self.tur_shotorg);
     setsize(proj, '0 0 0', '0 0 0');
index 2a9078887d4c42700f2957a021552db453f266fd..a438229cf5df53d264e077bebec549fa0c4970fc 100644 (file)
@@ -194,7 +194,7 @@ void walker_fire_rocket(vector org)
     rocket = spawn ();
     setorigin(rocket, org);
 
-    sound (self, CHAN_WEAPON, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
+    sound (self, CH_WEAPON_A, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
     setsize (rocket, '-3 -3 -3', '3 3 3'); // give it some size so it can be shot
 
     rocket.classname          = "walker_rocket";
@@ -525,7 +525,7 @@ void walker_postthink()
 
 void walker_attack()
 {
-    sound (self, CHAN_WEAPON, "weapons/uzi_fire.wav", VOL_BASE, ATTN_NORM);
+    sound (self, CH_WEAPON_A, "weapons/uzi_fire.wav", VOL_BASE, ATTN_NORM);
     fireBallisticBullet (self.tur_shotorg, self.tur_shotdir_updated, self.shot_spread, self.shot_speed, 5, self.shot_dmg, 0, self.shot_force, DEATH_TURRET_WALKER_GUN, 0, 1, autocvar_g_balance_uzi_bulletconstant);
     endFireBallisticBullet();
     pointparticles(particleeffectnum("laser_muzzleflash"), self.tur_shotorg, self.tur_shotdir_updated * 1000, 1);
index 80aa8bd4a97f8bd4b489c32631fbcdb728189eda..f7845637121c90e6cb2f58c80f314391d8990e5d 100644 (file)
@@ -262,7 +262,6 @@ void bumb_die()
 {
     self.health       = 0;
     self.event_damage = SUB_Null;
-    self.iscreature   = FALSE;
     self.solid        = SOLID_CORPSE;
     self.takedamage   = DAMAGE_NO;
     self.deadflag     = DEAD_DYING;
index c20ba7acfdb13a87351cd8960d0b2724ee5243b9..9fbd6541fc8e6af51254de34bc4a2eb9e772ff91 100644 (file)
@@ -322,7 +322,7 @@ float racer_frame()
         {        
             self.sounds = 1;
             self.sound_nexttime = time + 10.922667; //soundlength("vehicles/racer_move.wav");
-            sound (self, CHAN_TRIGGER, "vehicles/racer_move.wav", VOL_VEHICLEENGINE, ATTN_NORM);
+            sound (self, CH_TRIGGER_SINGLE, "vehicles/racer_move.wav", VOL_VEHICLEENGINE, ATTN_NORM);
         }
     }
     else
@@ -331,7 +331,7 @@ float racer_frame()
         {        
             self.sounds = 0;
             self.sound_nexttime = time + 11.888604; //soundlength("vehicles/racer_idle.wav");
-            sound (self, CHAN_TRIGGER, "vehicles/racer_idle.wav", VOL_VEHICLEENGINE, ATTN_NORM);
+            sound (self, CH_TRIGGER_SINGLE, "vehicles/racer_idle.wav", VOL_VEHICLEENGINE, ATTN_NORM);
         }        
     }
     
@@ -358,13 +358,13 @@ float racer_frame()
         {        
             //self.sounds = 2;
             self.strength_finished = time + 10.922667; //soundlength("vehicles/racer_boost.wav");
-            sound (self, CHAN_PAIN, "vehicles/racer_boost.wav", VOL_VEHICLEENGINE, ATTN_NORM);            
+            sound (self.tur_head, CH_TRIGGER_SINGLE, "vehicles/racer_boost.wav", VOL_VEHICLEENGINE, ATTN_NORM);            
         }        
     }
     else
     {
         self.strength_finished = 0;
-        sound (self, CHAN_PAIN, "misc/null.wav", VOL_VEHICLEENGINE, ATTN_NORM);
+        sound (self.tur_head, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_VEHICLEENGINE, ATTN_NORM);
     }
         
 
@@ -505,7 +505,7 @@ void racer_exit(float eject)
     self.think      = racer_think;
     self.nextthink  = time;
     self.movetype   = MOVETYPE_TOSS;
-    sound (self, CHAN_PAIN, "misc/null.wav", VOL_VEHICLEENGINE, ATTN_NORM);
+    sound (self.tur_head, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_VEHICLEENGINE, ATTN_NORM);
     
     if not (self.owner)
         return;
@@ -581,7 +581,6 @@ void racer_die()
 {
     self.health       = 0;
     self.event_damage = SUB_Null;
-    self.iscreature   = FALSE;
     self.solid        = SOLID_CORPSE;
     self.takedamage   = DAMAGE_NO;
     self.deadflag     = DEAD_DYING;
@@ -610,7 +609,7 @@ void racer_dinit()
     if not (vehicle_initialize(
              "Wakizashi",
              "models/vehicles/wakizashi.dpm",
-             "",
+             "null", // we need this so tur_head is networked and usable for sounds
              "models/vehicles/wakizashi_cockpit.dpm",
              "", "", "tag_viewport",
              HUD_WAKIZASHI,
index 33b5e7d5a2632673b461c651cf7de3467dd432b7..a233577a972da587e4a7b9fd7e33e34dca557123 100644 (file)
@@ -261,7 +261,7 @@ float raptor_takeoff()
     if(self.sound_nexttime < time)
     {        
         self.sound_nexttime = time + 7.955812; //soundlength("vehicles/raptor_fly.wav");
-        sound (self, CHAN_TRIGGER, "vehicles/raptor_speed.wav", VOL_VEHICLEENGINE, ATTN_NORM);
+        sound (self, CH_TRIGGER_SINGLE, "vehicles/raptor_speed.wav", VOL_VEHICLEENGINE, ATTN_NORM);
     }   
 
     // Takeoff sequense
@@ -325,15 +325,15 @@ float raptor_frame()
     if(self.sound_nexttime < time)
     {        
         self.sound_nexttime = time + 7.955812; 
-        //sound (self.tur_head, CHAN_TRIGGER, "vehicles/raptor_fly.wav", 1 - ftmp,   ATTN_NORM );
-        sound (self, CHAN_TRIGGER, "vehicles/raptor_speed.wav", 1, ATTN_NORM);        
+        //sound (self.tur_head, CH_TRIGGER_SINGLE, "vehicles/raptor_fly.wav", 1 - ftmp,   ATTN_NORM );
+        sound (self, CH_TRIGGER_SINGLE, "vehicles/raptor_speed.wav", 1, ATTN_NORM);        
         self.wait = ftmp;
     }        
     /*
     else if(fabs(ftmp - self.wait) > 0.2)
     {
-        sound (self.tur_head, CHAN_TRIGGER, "", 1 - ftmp,   ATTN_NORM );
-        sound (self, CHAN_TRIGGER, "", ftmp, ATTN_NORM);        
+        sound (self.tur_head, CH_TRIGGER_SINGLE, "", 1 - ftmp,   ATTN_NORM );
+        sound (self, CH_TRIGGER_SINGLE, "", ftmp, ATTN_NORM);        
         self.wait = ftmp;
     }
     */
@@ -563,7 +563,7 @@ void raptor_diethink()
 {
     if(random() < 0.1)
     {
-        sound (self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+        sound (self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
         pointparticles(particleeffectnum("explosion_small"), randomvec() * 80 + (self.origin + '0 0 100'), '0 0 0', 1);
     }
     self.nextthink = time + 0.1;
@@ -573,7 +573,6 @@ void raptor_die()
 {
     self.health       = 0;
     self.event_damage = SUB_Null;
-    self.iscreature   = FALSE;
     self.solid        = SOLID_CORPSE;
     self.takedamage   = DAMAGE_NO;
     self.deadflag     = DEAD_DYING;
index 96ea14067ce66886c12a1aba8d8d8cba3dfd6a97..81e1e5a1d84aa92d448dace9859d5e13fe354281 100644 (file)
@@ -238,13 +238,13 @@ float spiderbot_frame()
     {
         if(spider.frame == 4 && self.tur_head.wait != 0)
         {
-            sound (self, CHAN_TRIGGER, "vehicles/spiderbot_land.wav", VOL_VEHICLEENGINE, ATTN_NORM);
+            sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_land.wav", VOL_VEHICLEENGINE, ATTN_NORM);
             spider.frame = 5;            
         }
         
         if(player.BUTTON_JUMP && self.tur_head.wait < time)
         {        
-            sound (self, CHAN_TRIGGER, "vehicles/spiderbot_jump.wav", VOL_VEHICLEENGINE, ATTN_NORM);
+            sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_jump.wav", VOL_VEHICLEENGINE, ATTN_NORM);
             //dprint("spiderbot_jump:", ftos(soundlength("vehicles/spiderbot_jump.wav")), "\n");
             self.delay = 0;
 
@@ -262,7 +262,7 @@ float spiderbot_frame()
                     self.delay = 3;
                     self.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_idle.wav");
                     //dprint("spiderbot_idle:", ftos(soundlength("vehicles/spiderbot_idle.wav")), "\n");
-                    sound (self, CHAN_TRIGGER, "vehicles/spiderbot_idle.wav", VOL_VEHICLEENGINE, ATTN_NORM);
+                    sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_idle.wav", VOL_VEHICLEENGINE, ATTN_NORM);
                 }                
                 movelib_beak_simple(autocvar_g_vehicle_spiderbot_speed_stop);
                 spider.frame = 5;
@@ -291,7 +291,7 @@ float spiderbot_frame()
                     {                        
                         self.delay = 1;
                         self.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_walk.wav");
-                        sound (self, CHAN_TRIGGER, "vehicles/spiderbot_walk.wav", VOL_VEHICLEENGINE, ATTN_NORM);
+                        sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_walk.wav", VOL_VEHICLEENGINE, ATTN_NORM);
                         //dprint("spiderbot_walk:", ftos(soundlength("vehicles/spiderbot_walk.wav")), "\n");
                     }
                 }
@@ -312,7 +312,7 @@ float spiderbot_frame()
                     {                        
                         self.delay = 2;
                         self.sound_nexttime = time + 6.486500; //soundlength("vehicles/spiderbot_strafe.wav");
-                        sound (self, CHAN_TRIGGER, "vehicles/spiderbot_strafe.wav", VOL_VEHICLEENGINE, ATTN_NORM);
+                        sound (self, CH_TRIGGER_SINGLE, "vehicles/spiderbot_strafe.wav", VOL_VEHICLEENGINE, ATTN_NORM);
                         //dprint("spiderbot_strafe:", ftos(soundlength("vehicles/spiderbot_strafe.wav")), "\n");
                     }
                 }
@@ -342,7 +342,7 @@ float spiderbot_frame()
             fireBullet (v, v_forward, autocvar_g_vehicle_spiderbot_minigun_spread, autocvar_g_vehicle_spiderbot_minigun_damage,
                 autocvar_g_vehicle_spiderbot_minigun_spread, DEATH_SBMINIGUN, 0);
 
-            sound (gun, CHAN_WEAPON, "weapons/uzi_fire.wav", VOL_BASE, ATTN_NORM);
+            sound (gun, CH_WEAPON_A, "weapons/uzi_fire.wav", VOL_BASE, ATTN_NORM);
             trailparticles(self, particleeffectnum("spiderbot_minigun_trail"), v, trace_endpos);
             pointparticles(particleeffectnum("spiderbot_minigun_muzzleflash"), v, v_forward * 2500, 1);
 
@@ -351,12 +351,20 @@ float spiderbot_frame()
             spider.vehicle_ammo1 -= autocvar_g_vehicle_spiderbot_minigun_ammo_cost;
             spider.tur_head.attack_finished_single = time + autocvar_g_vehicle_spiderbot_minigun_refire;
             player.vehicle_ammo1 = (spider.vehicle_ammo1 / autocvar_g_vehicle_spiderbot_minigun_ammo_max) * 100;
+            spider.gun1.angles_z += 45;
+            spider.gun2.angles_z -= 45;
+            if(spider.gun1.angles_z >= 360)
+            {
+                spider.gun1.angles_z = 0;
+                spider.gun2.angles_z = 0;
+            }
         }
     }
     else
         vehicles_regen(cnt, vehicle_ammo1, autocvar_g_vehicle_spiderbot_minigun_ammo_max,
                                            autocvar_g_vehicle_spiderbot_minigun_ammo_regen_pause,
                                            autocvar_g_vehicle_spiderbot_minigun_ammo_regen, frametime);
+        
 
     spiderbot_rocket_do();
 
@@ -500,7 +508,7 @@ void spiderbot_headfade()
     {
         if(self.alpha > 0.1)
         {
-            sound (self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+            sound (self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
             pointparticles(particleeffectnum("explosion_big"), self.origin + '0 0 100', '0 0 0', 1);
         }
         remove(self);
@@ -513,7 +521,7 @@ void spiderbot_blowup()
     {
         if(random() < 0.1)
         {
-            sound (self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+            sound (self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
             pointparticles(particleeffectnum("explosion_small"), randomvec() * 80 + (self.origin + '0 0 100'), '0 0 0', 1);
         }
         self.nextthink = time + 0.1;
index 751023014c5ea9d4acf8f9503a6c73b8132a31c4..901e68ff1b920dea2d533aab2654c978d919188f 100644 (file)
@@ -310,7 +310,7 @@ entity vehicles_projectile(string _mzlfx, string _mzlsound,
         proj.flags           = FL_PROJECTILE | FL_NOTARGET;
 
     if(_mzlsound)
-        sound (self, CHAN_WEAPON, _mzlsound, VOL_BASE, ATTN_NORM);
+        sound (self, CH_WEAPON_A, _mzlsound, VOL_BASE, ATTN_NORM);
 
     if(_mzlfx)
         pointparticles(particleeffectnum(_mzlfx), proj.origin, proj.velocity, 1);
@@ -626,7 +626,7 @@ void vehicles_exit(float eject)
         setorigin(self.owner.flagcarried, FLAG_CARRY_POS);
     }
     
-    sound (self, CHAN_TRIGGER, "misc/null.wav", 1, ATTN_NORM);
+    sound (self, CH_TRIGGER_SINGLE, "misc/null.wav", 1, ATTN_NORM);
     self.vehicle_exit(eject);
     self.owner = world;
     
@@ -703,7 +703,6 @@ void vehicles_damage(entity inflictor, entity attacker, float damage, float deat
             self.vehicle_shieldent.think       = shieldhit_think;
         }
 
-
         self.vehicle_shieldent.colormod    = '1 1 1';
         self.vehicle_shieldent.alpha       = 0.45;
         self.vehicle_shieldent.angles      = vectoangles(normalize(hitloc - (self.origin + self.vehicle_shieldent.origin))) - self.angles;
@@ -713,15 +712,27 @@ void vehicles_damage(entity inflictor, entity attacker, float damage, float deat
 
         if(self.vehicle_shield < 0)
         {
+            self.vehicle_health            -= fabs(self.vehicle_shield);
             self.vehicle_shieldent.colormod = '2 0 0';
             self.vehicle_shield             = 0;
             self.vehicle_shieldent.alpha    = 0.75;
-            self.vehicle_health            -= fabs(self.vehicle_shield);
+            
+               if(sound_allowed(MSG_BROADCAST, attacker))
+                spamsound (self, CH_PAIN, "onslaught/ons_hit2.wav", VOL_BASE, ATTN_NORM);   // FIXME: PLACEHOLDER
         }
+        else
+               if(sound_allowed(MSG_BROADCAST, attacker))
+                spamsound (self, CH_PAIN, "onslaught/electricity_explode.wav", VOL_BASE, ATTN_NORM);  // FIXME: PLACEHOLDER
+
     }
     else
+    {
         self.vehicle_health -= damage;
 
+        if(sound_allowed(MSG_BROADCAST, attacker))
+            spamsound (self, CH_PAIN, "onslaught/ons_hit2.wav", VOL_BASE, ATTN_NORM);  // FIXME: PLACEHOLDER
+    }
+
     self.velocity += force; // * (vlen(force) / self.mass);
 
     if(self.vehicle_health <= 0)
index 3816594a97fda0a1ab824941f9947ecc3e6ee72a..1ceec920e07c7261e61d6951afc4fa49fb2c00cc 100644 (file)
@@ -117,7 +117,7 @@ void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, f
 
                        if(!pseudoprojectile)
                                pseudoprojectile = spawn(); // we need this so the sound uses the "entchannel4" volume
-                       soundtoat(MSG_ONE, pseudoprojectile, beampos, CHAN_PROJECTILE, snd, VOL_BASE * f, ATTN_NONE);
+                       soundtoat(MSG_ONE, pseudoprojectile, beampos, CH_SHOTS_SINGLE, snd, VOL_BASE * f, ATTN_NONE);
                }
 
                if(pseudoprojectile)
index ef8dd8d163b85ec8ac4ca02a921f8352deb119c5..2db4d6e843eeff9b88fe5689021b3987c1e97919 100644 (file)
@@ -336,7 +336,7 @@ void W_Crylink_Attack (void)
        if(autocvar_g_balance_crylink_primary_joinexplode)
                maxdmg += autocvar_g_balance_crylink_primary_joinexplode_damage;
 
-       W_SetupShot (self, FALSE, 2, "weapons/crylink_fire.wav", CHAN_WEAPON, maxdmg);
+       W_SetupShot (self, FALSE, 2, "weapons/crylink_fire.wav", CH_WEAPON_A, maxdmg);
        forward = v_forward;
        right = v_right;
        up = v_up;
@@ -439,7 +439,7 @@ void W_Crylink_Attack2 (void)
        if(autocvar_g_balance_crylink_secondary_joinexplode)
                maxdmg += autocvar_g_balance_crylink_secondary_joinexplode_damage;
 
-       W_SetupShot (self, FALSE, 2, "weapons/crylink_fire2.wav", CHAN_WEAPON, maxdmg);
+       W_SetupShot (self, FALSE, 2, "weapons/crylink_fire2.wav", CH_WEAPON_A, maxdmg);
 
        shots = autocvar_g_balance_crylink_secondary_shots;
        pointparticles(particleeffectnum("crylink_muzzleflash"), w_shotorg, w_shotdir * 1000, shots);
@@ -645,13 +645,13 @@ float w_crylink(float req)
                {
                        pointparticles(particleeffectnum("crylink_impact"), org2, '0 0 0', 1);
                        if(!w_issilent)
-                               sound(self, CHAN_PROJECTILE, "weapons/crylink_impact2.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/crylink_impact2.wav", VOL_BASE, ATTN_NORM);
                }
                else
                {
                        pointparticles(particleeffectnum("crylink_impactbig"), org2, '0 0 0', 1);
                        if(!w_issilent)
-                               sound(self, CHAN_PROJECTILE, "weapons/crylink_impact.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/crylink_impact.wav", VOL_BASE, ATTN_NORM);
                }
        }
        else if(req == WR_PRECACHE)
index bf81e8c1e368ee1eda8630c604ca092ec42b0783..e818fa550f423c97f31da767f2564c0f86615713 100644 (file)
@@ -68,7 +68,7 @@ void W_Plasma_Touch (void)
                W_Plasma_Explode ();
        } else {
                //UpdateCSQCProjectile(self);
-               spamsound (self, CHAN_PROJECTILE, "weapons/electro_bounce.wav", VOL_BASE, ATTN_NORM);
+               spamsound (self, CH_SHOTS_SINGLE, "weapons/electro_bounce.wav", VOL_BASE, ATTN_NORM);
                self.projectiledeathtype |= HITTYPE_BOUNCE;
        }
 }
@@ -112,7 +112,7 @@ void W_Electro_Attack()
 
        W_DecreaseAmmo(ammo_cells, autocvar_g_balance_electro_primary_ammo, autocvar_g_balance_electro_reload_ammo);
 
-       W_SetupShot_ProjectileSize (self, '0 0 -3', '0 0 -3', FALSE, 2, "weapons/electro_fire.wav", CHAN_WEAPON, autocvar_g_balance_electro_primary_damage);
+       W_SetupShot_ProjectileSize (self, '0 0 -3', '0 0 -3', FALSE, 2, "weapons/electro_fire.wav", CH_WEAPON_A, autocvar_g_balance_electro_primary_damage);
 
        pointparticles(particleeffectnum("electro_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
@@ -135,9 +135,6 @@ void W_Electro_Attack()
        setsize(proj, '0 0 -3', '0 0 -3');
        proj.flags = FL_PROJECTILE;
 
-       //sound (proj, CHAN_PAIN, "weapons/electro_fly.wav", VOL_BASE, ATTN_NORM);
-       //sounds bad
-
        CSQCProjectile(proj, TRUE, PROJECTILE_ELECTRO_BEAM, TRUE);
 
        other = proj; MUTATOR_CALLHOOK(EditProjectile);
@@ -149,7 +146,7 @@ void W_Electro_Attack2()
 
        W_DecreaseAmmo(ammo_cells, autocvar_g_balance_electro_secondary_ammo, autocvar_g_balance_electro_reload_ammo);
 
-       W_SetupShot_ProjectileSize (self, '0 0 -4', '0 0 -4', FALSE, 2, "weapons/electro_fire2.wav", CHAN_WEAPON, autocvar_g_balance_electro_secondary_damage);
+       W_SetupShot_ProjectileSize (self, '0 0 -4', '0 0 -4', FALSE, 2, "weapons/electro_fire2.wav", CH_WEAPON_A, autocvar_g_balance_electro_secondary_damage);
 
        w_shotdir = v_forward; // no TrueAim for grenades please
 
@@ -321,7 +318,7 @@ void W_Electro_Attack3 (void)
 {
        // only play fire sound if 0.5 sec has passed since player let go the fire button
        if(time - self.prevlgfire > 0.5)
-               sound (self, CHAN_WEAPON, "weapons/lgbeam_fire.wav", VOL_BASE, ATTN_NORM);
+               sound (self, CH_WEAPON_A, "weapons/lgbeam_fire.wav", VOL_BASE, ATTN_NORM);
 
        entity beam, oldself;
 
@@ -547,7 +544,7 @@ float w_electro(float req)
                {
                        pointparticles(particleeffectnum("electro_ballexplode"), org2, '0 0 0', 1);
                        if(!w_issilent)
-                               sound(self, CHAN_PROJECTILE, "weapons/electro_impact.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/electro_impact.wav", VOL_BASE, ATTN_NORM);
                }
                else
                {
@@ -556,13 +553,13 @@ float w_electro(float req)
                                // this is sent as "primary (w_deathtype & HITTYPE_BOUNCE)" to distinguish it from (w_deathtype & HITTYPE_SECONDARY) bounced balls
                                pointparticles(particleeffectnum("electro_combo"), org2, '0 0 0', 1);
                                if(!w_issilent)
-                                       sound(self, CHAN_PROJECTILE, "weapons/electro_impact_combo.wav", VOL_BASE, ATTN_NORM);
+                                       sound(self, CH_SHOTS_SINGLE, "weapons/electro_impact_combo.wav", VOL_BASE, ATTN_NORM);
                        }
                        else
                        {
                                pointparticles(particleeffectnum("electro_impact"), org2, '0 0 0', 1);
                                if(!w_issilent)
-                                       sound(self, CHAN_PROJECTILE, "weapons/electro_impact.wav", VOL_BASE, ATTN_NORM);
+                                       sound(self, CH_SHOTS_SINGLE, "weapons/electro_impact.wav", VOL_BASE, ATTN_NORM);
                        }
                }
        }
index 2cf5981f31b1ac5e84358d802d46b600514c3a15..c5f749f560f86083dbd4823199cc0c912fc22d45 100644 (file)
@@ -127,7 +127,7 @@ void W_Fireball_Attack1()
 {
        local entity proj;
 
-       W_SetupShot_ProjectileSize (self, '-16 -16 -16', '16 16 16', FALSE, 2, "weapons/fireball_fire2.wav", CHAN_WEAPON, autocvar_g_balance_fireball_primary_damage + autocvar_g_balance_fireball_primary_bfgdamage);
+       W_SetupShot_ProjectileSize (self, '-16 -16 -16', '16 16 16', FALSE, 2, "weapons/fireball_fire2.wav", CH_WEAPON_A, autocvar_g_balance_fireball_primary_damage + autocvar_g_balance_fireball_primary_bfgdamage);
 
        pointparticles(particleeffectnum("fireball_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
@@ -197,7 +197,7 @@ void W_Fireball_Attack1_Frame0()
        W_DecreaseAmmo(ammo_fuel, autocvar_g_balance_fireball_primary_ammo, autocvar_g_balance_fireball_reload_ammo);
 
        W_Fireball_AttackEffect(0, '-1.25 -3.75 0');
-       sound (self, CHAN_WEAPON, "weapons/fireball_prefire2.wav", VOL_BASE, ATTN_NORM);
+       sound (self, CH_WEAPON_A, "weapons/fireball_prefire2.wav", VOL_BASE, ATTN_NORM);
        weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_fireball_primary_animtime, W_Fireball_Attack1_Frame1);
 }
 
@@ -264,7 +264,7 @@ void W_Fireball_Attack2()
                        f_diff = '+1.25 +3.75 0';
                        break;
        }
-       W_SetupShot_ProjectileSize(self, '-4 -4 -4', '4 4 4', FALSE, 2, "weapons/fireball_fire.wav", CHAN_WEAPON, autocvar_g_balance_fireball_secondary_damage);
+       W_SetupShot_ProjectileSize(self, '-4 -4 -4', '4 4 4', FALSE, 2, "weapons/fireball_fire.wav", CH_WEAPON_A, autocvar_g_balance_fireball_secondary_damage);
        traceline(w_shotorg, w_shotorg + f_diff_x * v_up + f_diff_y * v_right, MOVE_NORMAL, self);
        w_shotorg = trace_endpos;
 
@@ -404,7 +404,7 @@ float w_fireball(float req)
                        org2 = w_org + w_backoff * 16;
                        pointparticles(particleeffectnum("fireball_explode"), org2, '0 0 0', 1);
                        if(!w_issilent)
-                               sound(self, CHAN_PROJECTILE, "weapons/fireball_impact2.wav", VOL_BASE, ATTN_NORM * 0.25); // long range boom
+                               sound(self, CH_SHOTS_SINGLE, "weapons/fireball_impact2.wav", VOL_BASE, ATTN_NORM * 0.25); // long range boom
                }
        }
        else if(req == WR_PRECACHE)
index 537f62a783162468aa8782f2a81b33a76dd3b7be..02c2b682f1d991497759a7eb809071294f2f1a9a 100644 (file)
@@ -82,23 +82,23 @@ void W_Grenade_Touch1 (void)
                float r;
                r = random() * 6;
                if(r < 1)
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM);
                else if(r < 2)
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM);
                else if(r < 3)
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM);
                else if(r < 4)
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM);
                else if(r < 5)
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM);
                else
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM);
                self.projectiledeathtype |= HITTYPE_BOUNCE;
                self.gl_bouncecnt += 1;
        }
        else if(autocvar_g_balance_grenadelauncher_primary_type == 2 && (!other || (other.takedamage != DAMAGE_AIM && other.movetype == MOVETYPE_NONE))) // stick
        {
-               spamsound (self, CHAN_PROJECTILE, "weapons/grenade_stick.wav", VOL_BASE, ATTN_NORM);
+               spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_stick.wav", VOL_BASE, ATTN_NORM);
 
                // let it stick whereever it is
                self.oldvelocity = self.velocity;
@@ -126,23 +126,23 @@ void W_Grenade_Touch2 (void)
                float r;
                r = random() * 6;
                if(r < 1)
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce1.wav", VOL_BASE, ATTN_NORM);
                else if(r < 2)
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce2.wav", VOL_BASE, ATTN_NORM);
                else if(r < 3)
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce3.wav", VOL_BASE, ATTN_NORM);
                else if(r < 4)
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce4.wav", VOL_BASE, ATTN_NORM);
                else if(r < 5)
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce5.wav", VOL_BASE, ATTN_NORM);
                else
-                       spamsound (self, CHAN_PROJECTILE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_bounce6.wav", VOL_BASE, ATTN_NORM);
                self.projectiledeathtype |= HITTYPE_BOUNCE;
                self.gl_bouncecnt += 1;
        }
        else if(autocvar_g_balance_grenadelauncher_secondary_type == 2 && (!other || (other.takedamage != DAMAGE_AIM && other.movetype == MOVETYPE_NONE))) // stick
        {
-               spamsound (self, CHAN_PROJECTILE, "weapons/grenade_stick.wav", VOL_BASE, ATTN_NORM);
+               spamsound (self, CH_SHOTS_SINGLE, "weapons/grenade_stick.wav", VOL_BASE, ATTN_NORM);
 
                // let it stick whereever it is
                self.oldvelocity = self.velocity;
@@ -164,7 +164,7 @@ void W_Grenade_Attack (void)
 
        W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_grenadelauncher_primary_ammo, autocvar_g_balance_grenadelauncher_reload_ammo);
 
-       W_SetupShot_ProjectileSize (self, '-3 -3 -3', '3 3 3', FALSE, 4, "weapons/grenade_fire.wav", CHAN_WEAPON, autocvar_g_balance_grenadelauncher_primary_damage);
+       W_SetupShot_ProjectileSize (self, '-3 -3 -3', '3 3 3', FALSE, 4, "weapons/grenade_fire.wav", CH_WEAPON_A, autocvar_g_balance_grenadelauncher_primary_damage);
        w_shotdir = v_forward; // no TrueAim for grenades please
 
        pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
@@ -211,7 +211,7 @@ void W_Grenade_Attack2 (void)
 
        W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_grenadelauncher_secondary_ammo, autocvar_g_balance_grenadelauncher_reload_ammo);
 
-       W_SetupShot_ProjectileSize (self, '-3 -3 -3', '3 3 3', FALSE, 4, "weapons/grenade_fire.wav", CHAN_WEAPON, autocvar_g_balance_grenadelauncher_secondary_damage);
+       W_SetupShot_ProjectileSize (self, '-3 -3 -3', '3 3 3', FALSE, 4, "weapons/grenade_fire.wav", CH_WEAPON_A, autocvar_g_balance_grenadelauncher_secondary_damage);
        w_shotdir = v_forward; // no TrueAim for grenades please
 
        pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
@@ -310,7 +310,7 @@ float w_glauncher(float req)
                                        }
                                }
                                if(nadefound)
-                                       sound (self, CHAN_WEAPON2, "weapons/rocket_det.wav", VOL_BASE, ATTN_NORM);
+                                       sound (self, CH_WEAPON_B, "weapons/rocket_det.wav", VOL_BASE, ATTN_NORM);
                        }
                        else if (weapon_prepareattack(1, autocvar_g_balance_grenadelauncher_secondary_refire))
                        {
@@ -367,7 +367,7 @@ float w_glauncher(float req)
                org2 = w_org + w_backoff * 12;
                pointparticles(particleeffectnum("grenade_explode"), org2, '0 0 0', 1);
                if(!w_issilent)
-                       sound(self, CHAN_PROJECTILE, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_SHOTS_SINGLE, "weapons/grenade_impact.wav", VOL_BASE, ATTN_NORM);
        }
        else if(req == WR_PRECACHE)
        {
index 7dfd4461365e42cbcf9f70817a12fcaf87f1be6f..2715166f75e6f4454708a5e99cb64e01abf2582a 100644 (file)
@@ -47,7 +47,7 @@ void W_Hagar_Attack (void)
 
        W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_hagar_primary_ammo, autocvar_g_balance_hagar_reload_ammo);
 
-       W_SetupShot (self, FALSE, 2, "weapons/hagar_fire.wav", CHAN_WEAPON, autocvar_g_balance_hagar_primary_damage);
+       W_SetupShot (self, FALSE, 2, "weapons/hagar_fire.wav", CH_WEAPON_A, autocvar_g_balance_hagar_primary_damage);
 
        pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
@@ -82,7 +82,7 @@ void W_Hagar_Attack2 (void)
 
        W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_hagar_secondary_ammo, autocvar_g_balance_hagar_reload_ammo);
 
-       W_SetupShot (self, FALSE, 2, "weapons/hagar_fire.wav", CHAN_WEAPON, autocvar_g_balance_hagar_secondary_damage);
+       W_SetupShot (self, FALSE, 2, "weapons/hagar_fire.wav", CH_WEAPON_A, autocvar_g_balance_hagar_secondary_damage);
 
        pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
@@ -127,7 +127,7 @@ void W_Hagar_Attack2_Load_Release (void)
 
        weapon_prepareattack_do(1, autocvar_g_balance_hagar_secondary_refire);
 
-       W_SetupShot (self, FALSE, 2, "weapons/hagar_fire.wav", CHAN_WEAPON, autocvar_g_balance_hagar_secondary_damage);
+       W_SetupShot (self, FALSE, 2, "weapons/hagar_fire.wav", CH_WEAPON_A, autocvar_g_balance_hagar_secondary_damage);
        pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
        forward = v_forward;
@@ -203,7 +203,7 @@ void W_Hagar_Attack2_Load (void)
                                // if we pressed primary fire while loading, unload all rockets and abort
                                W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_hagar_secondary_ammo * self.hagar_load * -1, autocvar_g_balance_hagar_reload_ammo); // give back ammo
                                self.hagar_load = 0;
-                               sound(self, CHAN_WEAPON, "weapons/hagar_beep.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_WEAPON_A, "weapons/hagar_beep.wav", VOL_BASE, ATTN_NORM);
 
                                // pause until we can load rockets again, once we re-press the alt fire button
                                self.hagar_loadstep = time + autocvar_g_balance_hagar_secondary_load_speed;
@@ -221,7 +221,7 @@ void W_Hagar_Attack2_Load (void)
                                {
                                        W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_hagar_secondary_ammo, autocvar_g_balance_hagar_reload_ammo);
                                        self.hagar_load += 1;
-                                       sound(self, CHAN_WEAPON2, "weapons/hagar_load.wav", VOL_BASE, ATTN_NORM);
+                                       sound(self, CH_WEAPON_B, "weapons/hagar_load.wav", VOL_BASE, ATTN_NORM);
 
                                        self.hagar_loadstep = time + autocvar_g_balance_hagar_secondary_load_speed;
                                }
@@ -229,7 +229,7 @@ void W_Hagar_Attack2_Load (void)
                        else if(!self.hagar_loadbeep && self.hagar_load) // prevents the beep from playing each frame
                        {
                                // if this is the last rocket we can load, play a beep sound to notify the player
-                               sound(self, CHAN_WEAPON, "weapons/hagar_beep.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_WEAPON_A, "weapons/hagar_beep.wav", VOL_BASE, ATTN_NORM);
                                self.hagar_loadbeep = TRUE;
                        }
                }
@@ -365,11 +365,11 @@ float w_hagar(float req)
                if(!w_issilent)
                {
                        if (w_random<0.15)
-                               sound(self, CHAN_PROJECTILE, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/hagexp1.wav", VOL_BASE, ATTN_NORM);
                        else if (w_random<0.7)
-                               sound(self, CHAN_PROJECTILE, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/hagexp2.wav", VOL_BASE, ATTN_NORM);
                        else
-                               sound(self, CHAN_PROJECTILE, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/hagexp3.wav", VOL_BASE, ATTN_NORM);
                }
        }
        else if(req == WR_PRECACHE)
index 5dec80c8691388d203ef15e1a8b327d773937238..4943bcbea925642812ebaeb67737bf3309a54ee5 100644 (file)
@@ -29,7 +29,7 @@ void W_HLAC_Attack (void)
     if(self.crouch)
         spread = spread * autocvar_g_balance_hlac_primary_spread_crouchmod;
 
-       W_SetupShot (self, FALSE, 3, "weapons/lasergun_fire.wav", CHAN_WEAPON, autocvar_g_balance_hlac_primary_damage);
+       W_SetupShot (self, FALSE, 3, "weapons/lasergun_fire.wav", CH_WEAPON_A, autocvar_g_balance_hlac_primary_damage);
        pointparticles(particleeffectnum("laser_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
        if (!g_norecoil)
        {
@@ -77,7 +77,7 @@ void W_HLAC_Attack2f (void)
     if(self.crouch)
         spread = spread * autocvar_g_balance_hlac_secondary_spread_crouchmod;
 
-       W_SetupShot (self, FALSE, 3, "weapons/lasergun_fire.wav", CHAN_WEAPON, autocvar_g_balance_hlac_secondary_damage);
+       W_SetupShot (self, FALSE, 3, "weapons/lasergun_fire.wav", CH_WEAPON_A, autocvar_g_balance_hlac_secondary_damage);
        pointparticles(particleeffectnum("laser_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
        missile = spawn ();
@@ -230,7 +230,7 @@ float w_hlac(float req)
                org2 = w_org + w_backoff * 6;
                pointparticles(particleeffectnum("laser_impact"), org2, w_backoff * 1000, 1);
                if(!w_issilent)
-                       sound(self, CHAN_PROJECTILE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
        }
        else if(req == WR_PRECACHE)
        {
index bce4aad8fa11da202542e8e11449e4dafe521334..a7f59846634319bb411b0e696889a4e87f685b8c 100644 (file)
@@ -63,7 +63,7 @@ void W_Hook_Attack2()
        local entity gren;
 
        W_DecreaseAmmo(ammo_cells, autocvar_g_balance_hook_secondary_ammo, FALSE);
-       W_SetupShot (self, FALSE, 4, "weapons/hookbomb_fire.wav", CHAN_WEAPON, autocvar_g_balance_hook_secondary_damage);
+       W_SetupShot (self, FALSE, 4, "weapons/hookbomb_fire.wav", CH_WEAPON_A, autocvar_g_balance_hook_secondary_damage);
 
        gren = spawn ();
        gren.owner = gren.realowner = self;
@@ -256,7 +256,7 @@ float w_hook(float req)
                org2 = w_org + w_backoff * 2;
                pointparticles(particleeffectnum("hookbomb_explode"), org2, '0 0 0', 1);
                if(!w_issilent)
-                       sound(self, CHAN_PROJECTILE, "weapons/hookbomb_impact.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_SHOTS_SINGLE, "weapons/hookbomb_impact.wav", VOL_BASE, ATTN_NORM);
        }
        else if(req == WR_PRECACHE)
        {
index 47e79bcaabee8ba211071a692ec0c07ab03ba76e..83eb4ed0b1f2a1adf0c10321b2e9b1e6ffcaf2d3 100644 (file)
@@ -44,11 +44,11 @@ void W_Laser_Attack (float issecondary)
        s_forward = v_forward * cos(a * DEG2RAD) + v_up * sin(a * DEG2RAD);
 
        if(nodamage)
-               W_SetupShot_Dir (self, s_forward, FALSE, 3, "weapons/lasergun_fire.wav", CHAN_WEAPON2, 0);
+               W_SetupShot_Dir (self, s_forward, FALSE, 3, "weapons/lasergun_fire.wav", CH_WEAPON_B, 0);
        else if(issecondary == 1)
-               W_SetupShot_Dir (self, s_forward, FALSE, 3, "weapons/lasergun_fire.wav", CHAN_WEAPON2, autocvar_g_balance_laser_secondary_damage);
+               W_SetupShot_Dir (self, s_forward, FALSE, 3, "weapons/lasergun_fire.wav", CH_WEAPON_B, autocvar_g_balance_laser_secondary_damage);
        else
-               W_SetupShot_Dir (self, s_forward, FALSE, 3, "weapons/lasergun_fire.wav", CHAN_WEAPON2, autocvar_g_balance_laser_primary_damage);
+               W_SetupShot_Dir (self, s_forward, FALSE, 3, "weapons/lasergun_fire.wav", CH_WEAPON_B, autocvar_g_balance_laser_primary_damage);
        pointparticles(particleeffectnum("laser_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
        missile = spawn ();
@@ -177,7 +177,7 @@ void W_Laser_Attack2 ()
        // only play fire sound if 0.5 sec has passed since player let go the fire button
        if(time - self.prevgauntletfire > 0.5)
        {
-               sound (self, CHAN_WEAPON, "weapons/gauntlet_fire.wav", VOL_BASE, ATTN_NORM);
+               sound (self, CH_WEAPON_A, "weapons/gauntlet_fire.wav", VOL_BASE, ATTN_NORM);
        }
 
        entity beam, oldself;
@@ -301,7 +301,7 @@ float w_laser(float req)
                org2 = w_org + w_backoff * 6;
                pointparticles(particleeffectnum("laser_impact"), org2, w_backoff * 1000, 1);
                if(!w_issilent)
-                       sound(self, CHAN_PROJECTILE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_SHOTS_SINGLE, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
        }
        else if(req == WR_PRECACHE)
        {
index 5362f1758640c390fec719da016ae65bbf88664b..aeeb2bb07befa57bbab72167d7301af05eed20ea 100644 (file)
@@ -13,7 +13,7 @@ void spawnfunc_weapon_minelayer (void)
 
 void W_Mine_Stick (entity to)
 {
-       spamsound (self, CHAN_PROJECTILE, "weapons/mine_stick.wav", VOL_BASE, ATTN_NORM);
+       spamsound (self, CH_SHOTS_SINGLE, "weapons/mine_stick.wav", VOL_BASE, ATTN_NORM);
 
        // in order for mines to face properly when sticking to the ground, they must be a server side entity rather than a csqc projectile
 
@@ -176,7 +176,7 @@ void W_Mine_Think (void)
        if ((time > self.cnt) && (!self.mine_time))
        {
                if(autocvar_g_balance_minelayer_lifetime_countdown > 0)
-                       spamsound (self, CHAN_PROJECTILE, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM);
                self.mine_time = time + autocvar_g_balance_minelayer_lifetime_countdown;
                self.mine_explodeanyway = 1; // make the mine super aggressive -- Samual: Rather, make it not care if a team mate is near.
        }
@@ -199,7 +199,7 @@ void W_Mine_Think (void)
                if(head != self.realowner && IsDifferentTeam(head, self.realowner)) // don't trigger for team mates
                if(!self.mine_time)
                {
-                       spamsound (self, CHAN_PROJECTILE, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM);
+                       spamsound (self, CH_SHOTS_SINGLE, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM);
                        self.mine_time = time + autocvar_g_balance_minelayer_time;
                }
                head = head.chain;
@@ -267,7 +267,7 @@ void W_Mine_Attack (void)
 
        W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_minelayer_ammo, autocvar_g_balance_minelayer_reload_ammo);
 
-       W_SetupShot_ProjectileSize (self, '-4 -4 -4', '4 4 4', FALSE, 5, "weapons/mine_fire.wav", CHAN_WEAPON, autocvar_g_balance_minelayer_damage);
+       W_SetupShot_ProjectileSize (self, '-4 -4 -4', '4 4 4', FALSE, 5, "weapons/mine_fire.wav", CH_WEAPON_A, autocvar_g_balance_minelayer_damage);
        pointparticles(particleeffectnum("rocketlauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
        mine = WarpZone_RefSys_SpawnSameRefSys(self);
@@ -459,7 +459,7 @@ float w_minelayer(float req)
                if (self.BUTTON_ATCK2)
                {
                        if(W_PlacedMines(TRUE))
-                               sound (self, CHAN_WEAPON2, "weapons/mine_det.wav", VOL_BASE, ATTN_NORM);
+                               sound (self, CH_WEAPON_B, "weapons/mine_det.wav", VOL_BASE, ATTN_NORM);
                }
        }
        else if (req == WR_PRECACHE)
@@ -513,7 +513,7 @@ float w_minelayer(float req)
                org2 = w_org + w_backoff * 12;
                pointparticles(particleeffectnum("rocket_explode"), org2, '0 0 0', 1);
                if(!w_issilent)
-                       sound(self, CHAN_PROJECTILE, "weapons/mine_exp.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_SHOTS_SINGLE, "weapons/mine_exp.wav", VOL_BASE, ATTN_NORM);
        }
        else if(req == WR_PRECACHE)
        {
index bf83fed40d9116d34ef24f1f8d385c286b6a4539..c0376547ab6cc0c17023cccf647bd5d8235d67a2 100644 (file)
@@ -9,7 +9,7 @@ void W_MinstaNex_Attack (void)
        float flying;
        flying = IsFlying(self); // do this BEFORE to make the trace values from FireRailgunBullet last
 
-       W_SetupShot (self, TRUE, 0, "weapons/minstanexfire.wav", CHAN_WEAPON, 10000);
+       W_SetupShot (self, TRUE, 0, "weapons/minstanexfire.wav", CH_WEAPON_A, 10000);
 
        yoda = 0;
        damage_goodhits = 0;
@@ -280,7 +280,7 @@ float w_minstanex(float req)
                org2 = w_org + w_backoff * 6;
                pointparticles(particleeffectnum("nex_impact"), org2, '0 0 0', 1);
                if(!w_issilent)
-                       sound(self, CHAN_PROJECTILE, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_SHOTS_SINGLE, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
        }
        else if(req == WR_PRECACHE)
        {
index fbe4388c692edc765f848dcd6648a671dfec3026..59734f20c3dce7f5831286263b2432694becf673 100644 (file)
@@ -56,10 +56,10 @@ void W_Nex_Attack (float issecondary)
        mydmg *= charge;
        myforce *= charge;
 
-       W_SetupShot (self, TRUE, 5, "weapons/nexfire.wav", CHAN_WEAPON, mydmg);
+       W_SetupShot (self, TRUE, 5, "weapons/nexfire.wav", CH_WEAPON_A, mydmg);
        if(charge > autocvar_g_balance_nex_charge_animlimit && autocvar_g_balance_nex_charge_animlimit) // if the Nex is overcharged, we play an extra sound
        {
-               sound (self, CHAN_WEAPON2, "weapons/nexcharge.wav", VOL_BASE * (charge - 0.5 * autocvar_g_balance_nex_charge_animlimit) / (1 - 0.5 * autocvar_g_balance_nex_charge_animlimit), ATTN_NORM);
+               sound (self, CH_WEAPON_B, "weapons/nexcharge.wav", VOL_BASE * (charge - 0.5 * autocvar_g_balance_nex_charge_animlimit) / (1 - 0.5 * autocvar_g_balance_nex_charge_animlimit), ATTN_NORM);
        }
 
        yoda = 0;
@@ -243,7 +243,7 @@ float w_nex(float req)
                org2 = w_org + w_backoff * 6;
                pointparticles(particleeffectnum("nex_impact"), org2, '0 0 0', 1);
                if(!w_issilent)
-                       sound(self, CHAN_PROJECTILE, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_SHOTS_SINGLE, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
        }
        else if(req == WR_PRECACHE)
        {
index d4b61a87848c9c9265616f7334099940a7cd55ea..0138c78a70fedd59b1b75c952ad5026a5552dc12 100644 (file)
@@ -95,19 +95,19 @@ void W_Porto_Touch (void)
 
        if(self.realowner.playerid != self.playerid)
        {
-               sound(self, CHAN_PROJECTILE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
+               sound(self, CH_SHOTS_SINGLE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
                remove(self);
        }
        else if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_SLICK || trace_dphitcontents & DPCONTENTS_PLAYERCLIP)
        {
-               spamsound(self, CHAN_PROJECTILE, "porto/bounce.wav", VOL_BASE, ATTN_NORM);
+               spamsound(self, CH_SHOTS_SINGLE, "porto/bounce.wav", VOL_BASE, ATTN_NORM);
                // just reflect
                self.right_vector = self.right_vector - 2 * trace_plane_normal * (self.right_vector * trace_plane_normal);
                self.angles = vectoangles(self.velocity - 2 * trace_plane_normal * (self.velocity * trace_plane_normal));
        }
        else if(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
        {
-               sound(self, CHAN_PROJECTILE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
+               sound(self, CH_SHOTS_SINGLE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
                W_Porto_Fail(0);
        }
        else if(self.effects & EF_RED)
@@ -115,7 +115,7 @@ void W_Porto_Touch (void)
                self.effects += EF_BLUE - EF_RED;
                if(Portal_SpawnInPortalAtTrace(self.realowner, self.right_vector, self.portal_id))
                {
-                       sound(self, CHAN_PROJECTILE, "porto/create.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_SHOTS_SINGLE, "porto/create.wav", VOL_BASE, ATTN_NORM);
                        trace_plane_normal = norm;
                        centerprint(self.realowner, "^1In^7-portal created.");
                        self.right_vector = self.right_vector - 2 * trace_plane_normal * (self.right_vector * norm);
@@ -124,7 +124,7 @@ void W_Porto_Touch (void)
                }
                else
                {
-                       sound(self, CHAN_PROJECTILE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_SHOTS_SINGLE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
                        trace_plane_normal = norm;
                        W_Porto_Fail(0);
                }
@@ -135,20 +135,20 @@ void W_Porto_Touch (void)
                {
                        if(Portal_SpawnOutPortalAtTrace(self.realowner, self.right_vector, self.portal_id))
                        {
-                               sound(self, CHAN_PROJECTILE, "porto/create.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "porto/create.wav", VOL_BASE, ATTN_NORM);
                                trace_plane_normal = norm;
                                centerprint(self.realowner, "^4Out^7-portal created.");
                                W_Porto_Success();
                        }
                        else
                        {
-                               sound(self, CHAN_PROJECTILE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
                                W_Porto_Fail(0);
                        }
                }
                else
                {
-                       sound(self, CHAN_PROJECTILE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_SHOTS_SINGLE, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
                        W_Porto_Fail(0);
                }
        }
@@ -160,7 +160,7 @@ void W_Porto_Attack (void)
 
        if not(self.items & IT_UNLIMITED_SUPERWEAPONS)
                self.weapons = self.weapons - (self.weapons & WEPBIT_PORTO);
-       W_SetupShot (self, FALSE, 4, "porto/fire.wav", CHAN_WEAPON, 0);
+       W_SetupShot (self, FALSE, 4, "porto/fire.wav", CH_WEAPON_A, 0);
        // always shoot from the eye
        w_shotdir = v_forward;
        w_shotorg = self.origin + self.view_ofs + ((w_shotorg - self.origin - self.view_ofs) * v_forward) * v_forward;
index 131a0527d464c338cd81f62fef7348b5a02ad45e..8ce7427bcbc40b676530d9468faefc1799a25e41 100644 (file)
@@ -11,7 +11,7 @@ void W_Rifle_FireBullet(float pSpread, float pDamage, float pHeadshotAddedDamage
 
        W_DecreaseAmmo(ammo_nails, pAmmo, autocvar_g_balance_rifle_reload_ammo);
 
-       W_SetupShot (self, autocvar_g_antilag_bullets && pSpeed >= autocvar_g_antilag_bullets, 2, pSound, CHAN_WEAPON, (pDamage + pHeadshotAddedDamage) * pShots);
+       W_SetupShot (self, autocvar_g_antilag_bullets && pSpeed >= autocvar_g_antilag_bullets, 2, pSound, CH_WEAPON_A, (pDamage + pHeadshotAddedDamage) * pShots);
 
        pointparticles(particleeffectnum("rifle_muzzleflash"), w_shotorg, w_shotdir * 2000, 1);
 
@@ -214,11 +214,11 @@ float w_rifle(float req)
                if(!w_issilent)
                {
                        if(w_random < 0.2)
-                               sound(self, CHAN_PROJECTILE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM);
                        else if(w_random < 0.4)
-                               sound(self, CHAN_PROJECTILE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM);
                        else if(w_random < 0.5)
-                               sound(self, CHAN_PROJECTILE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM);
                }
        }
        else if(req == WR_PRECACHE)
index 0269fd18fc8bff348f1e6e168f595a88270e4673..249ddd2934700067282b3888d1b5e0b6656c6da3 100644 (file)
@@ -209,7 +209,7 @@ void W_Rocket_Think (void)
                        {
                                pointparticles(particleeffectnum("rocket_guide"), self.origin, self.velocity, 1);
                                // TODO add a better sound here
-                               sound (self.realowner, CHAN_WEAPON2, "weapons/rocket_mode.wav", VOL_BASE, ATTN_NORM);
+                               sound (self.realowner, CH_WEAPON_B, "weapons/rocket_mode.wav", VOL_BASE, ATTN_NORM);
                                self.count = 1;
                        }
                }
@@ -251,7 +251,7 @@ void W_Rocket_Attack (void)
 
        W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_rocketlauncher_ammo, autocvar_g_balance_rocketlauncher_reload_ammo);
 
-       W_SetupShot_ProjectileSize (self, '-3 -3 -3', '3 3 3', FALSE, 5, "weapons/rocket_fire.wav", CHAN_WEAPON, autocvar_g_balance_rocketlauncher_damage);
+       W_SetupShot_ProjectileSize (self, '-3 -3 -3', '3 3 3', FALSE, 5, "weapons/rocket_fire.wav", CH_WEAPON_A, autocvar_g_balance_rocketlauncher_damage);
        pointparticles(particleeffectnum("rocketlauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
        missile = WarpZone_RefSys_SpawnSameRefSys(self);
@@ -433,7 +433,7 @@ float w_rlauncher(float req)
                                        }
                                }
                                if(rockfound)
-                                       sound (self, CHAN_WEAPON2, "weapons/rocket_det.wav", VOL_BASE, ATTN_NORM);
+                                       sound (self, CH_WEAPON_B, "weapons/rocket_det.wav", VOL_BASE, ATTN_NORM);
                        }
                }
        }
@@ -491,7 +491,7 @@ float w_rlauncher(float req)
                org2 = w_org + w_backoff * 12;
                pointparticles(particleeffectnum("rocket_explode"), org2, '0 0 0', 1);
                if(!w_issilent)
-                       sound(self, CHAN_PROJECTILE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
+                       sound(self, CH_SHOTS_SINGLE, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM);
        }
        else if(req == WR_PRECACHE)
        {
index aa07f82881e9648c868edea7f931f57ddb37fd01..479cb5b24520d1c64552f8684286413d76c060a2 100644 (file)
@@ -166,7 +166,7 @@ void Seeker_Fire_Missile(vector f_diff, entity m_target)
        W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_seeker_missile_ammo, autocvar_g_balance_seeker_reload_ammo);
 
        makevectors(self.v_angle);
-       W_SetupShot_ProjectileSize (self, '-2 -2 -2', '2 2 2', FALSE, 2, "weapons/seeker_fire.wav", CHAN_WEAPON, 0);
+       W_SetupShot_ProjectileSize (self, '-2 -2 -2', '2 2 2', FALSE, 2, "weapons/seeker_fire.wav", CH_WEAPON_A, 0);
        w_shotorg += f_diff;
        pointparticles(particleeffectnum("seeker_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
 
@@ -254,7 +254,7 @@ void Seeker_Fire_Flac()
                        f_diff = '+1.25 +3.75 0';
                        break;
        }
-       W_SetupShot_ProjectileSize (self, '-2 -2 -2', '2 2 2', FALSE, 2, "weapons/flac_fire.wav", CHAN_WEAPON, autocvar_g_balance_seeker_flac_damage);
+       W_SetupShot_ProjectileSize (self, '-2 -2 -2', '2 2 2', FALSE, 2, "weapons/flac_fire.wav", CH_WEAPON_A, autocvar_g_balance_seeker_flac_damage);
        w_shotorg += f_diff;
 
        pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
@@ -469,7 +469,7 @@ void Seeker_Fire_Tag()
        local entity missile;
        W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_seeker_tag_ammo, autocvar_g_balance_seeker_reload_ammo);
 
-       W_SetupShot_ProjectileSize (self, '-2 -2 -2', '2 2 2', FALSE, 2, "weapons/tag_fire.wav", CHAN_WEAPON, autocvar_g_balance_seeker_missile_damage * autocvar_g_balance_seeker_missile_count);
+       W_SetupShot_ProjectileSize (self, '-2 -2 -2', '2 2 2', FALSE, 2, "weapons/tag_fire.wav", CH_WEAPON_A, autocvar_g_balance_seeker_missile_damage * autocvar_g_balance_seeker_missile_count);
 
        missile                 = spawn();
        missile.owner           = missile.realowner = self;
@@ -615,17 +615,17 @@ float w_seeker(float req)
                        if(!w_issilent)
                        {
                                if (w_random<0.15)
-                                       sound(self, CHAN_PROJECTILE, "weapons/tagexp1.wav", 1, ATTN_NORM);
+                                       sound(self, CH_SHOTS_SINGLE, "weapons/tagexp1.wav", 1, ATTN_NORM);
                                else if (w_random<0.7)
-                                       sound(self, CHAN_PROJECTILE, "weapons/tagexp2.wav", 1, ATTN_NORM);
+                                       sound(self, CH_SHOTS_SINGLE, "weapons/tagexp2.wav", 1, ATTN_NORM);
                                else
-                                       sound(self, CHAN_PROJECTILE, "weapons/tagexp3.wav", 1, ATTN_NORM);
+                                       sound(self, CH_SHOTS_SINGLE, "weapons/tagexp3.wav", 1, ATTN_NORM);
                        }
                }
                else if(w_deathtype & HITTYPE_HEADSHOT)
                {
                        if(!w_issilent)
-                               sound(self, CHAN_PROJECTILE, "weapons/tag_impact.wav", 1, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/tag_impact.wav", 1, ATTN_NORM);
                }
                else
                {
@@ -633,11 +633,11 @@ float w_seeker(float req)
                        if(!w_issilent)
                        {
                                if (w_random<0.15)
-                                       sound(self, CHAN_PROJECTILE, "weapons/seekerexp1.wav", 1, ATTN_NORM);
+                                       sound(self, CH_SHOTS_SINGLE, "weapons/seekerexp1.wav", 1, ATTN_NORM);
                                else if (w_random<0.7)
-                                       sound(self, CHAN_PROJECTILE, "weapons/seekerexp2.wav", 1, ATTN_NORM);
+                                       sound(self, CH_SHOTS_SINGLE, "weapons/seekerexp2.wav", 1, ATTN_NORM);
                                else
-                                       sound(self, CHAN_PROJECTILE, "weapons/seekerexp3.wav", 1, ATTN_NORM);
+                                       sound(self, CH_SHOTS_SINGLE, "weapons/seekerexp3.wav", 1, ATTN_NORM);
                        }
                }
        }
index a7da4eb5ad794c4cd9de5880e1c03480ce95fc37..46495fe646b2a1cdaccddc6f6e94353aaff970a5 100644 (file)
@@ -25,7 +25,7 @@ void W_Shotgun_Attack (void)
 
        W_DecreaseAmmo(ammo_shells, ammoamount, autocvar_g_balance_shotgun_reload_ammo);
 
-       W_SetupShot (self, autocvar_g_antilag_bullets && bulletspeed >= autocvar_g_antilag_bullets, 5, "weapons/shotgun_fire.wav", CHAN_WEAPON, d * bullets);
+       W_SetupShot (self, autocvar_g_antilag_bullets && bulletspeed >= autocvar_g_antilag_bullets, 5, "weapons/shotgun_fire.wav", CH_WEAPON_A, d * bullets);
        for (sc = 0;sc < bullets;sc = sc + 1)
                fireBallisticBullet(w_shotorg, w_shotdir, spread, bulletspeed, 5, d, 0, f, WEP_SHOTGUN, 0, 1, bulletconstant);
        endFireBallisticBullet();
@@ -91,7 +91,7 @@ void shotgun_meleethink (void)
 
 void W_Shotgun_Attack2 (void)
 {
-       sound (self, CHAN_PROJECTILE, "weapons/shotgun_melee.wav", VOL_BASE, ATTN_NORM);
+       sound (self, CH_SHOTS_SINGLE, "weapons/shotgun_melee.wav", VOL_BASE, ATTN_NORM);
        weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_shotgun_secondary_animtime, w_ready);
 
        entity meleetemp;
@@ -191,11 +191,11 @@ float w_shotgun(float req)
                if(!w_issilent && time - self.prevric > 0.25)
                {
                        if(w_random < 0.0165)
-                               sound(self, CHAN_PROJECTILE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM);
                        else if(w_random < 0.033)
-                               sound(self, CHAN_PROJECTILE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM);
                        else if(w_random < 0.05)
-                               sound(self, CHAN_PROJECTILE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM);
                        self.prevric = time;
                }
        }
index 46197204026359c0de9a914c109e63da86d15779..693612de95ee93329e7fb348c0c3746165c1be9b 100644 (file)
@@ -130,18 +130,8 @@ void W_Tuba_NoteThink()
 void W_Tuba_Attack(float hittype)
 {
        vector o;
-       float c, n;
+       float n;
        W_SetupShot(self, FALSE, 2, "", 0, autocvar_g_balance_tuba_damage);
-       if(self.tuba_notecount)
-       {
-               self.tuba_notecount = FALSE;
-               c = CHAN_WEAPON;
-       }
-       else
-       {
-               self.tuba_notecount = TRUE;
-               c = CHAN_WEAPON2;
-       }
 
        n = Tuba_GetNote(self, hittype);
 
index 9d4fbca1a5d759e5b0b4c0780ec26430051326d5..3e69a7da5766589df63eb904238305acf4c78d49 100644 (file)
@@ -41,7 +41,7 @@ void UziFlash()
 
 void W_UZI_Attack (float deathtype)
 {
-       W_SetupShot (self, autocvar_g_antilag_bullets && autocvar_g_balance_uzi_speed >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CHAN_WEAPON, ((self.misc_bulletcounter == 1) ? autocvar_g_balance_uzi_first_damage : autocvar_g_balance_uzi_sustained_damage));
+       W_SetupShot (self, autocvar_g_antilag_bullets && autocvar_g_balance_uzi_speed >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, ((self.misc_bulletcounter == 1) ? autocvar_g_balance_uzi_first_damage : autocvar_g_balance_uzi_sustained_damage));
        if (!g_norecoil)
        {
                self.punchangle_x = random () - 0.5;
@@ -121,7 +121,7 @@ void uzi_mode1_fire_auto()
                return;
        }
        
-       W_SetupShot (self, autocvar_g_antilag_bullets && autocvar_g_balance_uzi_speed >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CHAN_WEAPON, autocvar_g_balance_uzi_sustained_damage);
+       W_SetupShot (self, autocvar_g_antilag_bullets && autocvar_g_balance_uzi_speed >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, autocvar_g_balance_uzi_sustained_damage);
        if (!g_norecoil)
        {
                self.punchangle_x = random () - 0.5;
@@ -145,7 +145,7 @@ void uzi_mode1_fire_auto()
 
 void uzi_mode1_fire_burst()
 {
-       W_SetupShot (self, autocvar_g_antilag_bullets && autocvar_g_balance_uzi_speed >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CHAN_WEAPON, autocvar_g_balance_uzi_sustained_damage);
+       W_SetupShot (self, autocvar_g_antilag_bullets && autocvar_g_balance_uzi_speed >= autocvar_g_antilag_bullets, 0, "weapons/uzi_fire.wav", CH_WEAPON_A, autocvar_g_balance_uzi_sustained_damage);
        if (!g_norecoil)
        {
                self.punchangle_x = random () - 0.5;
@@ -301,11 +301,11 @@ float w_uzi(float req)
                pointparticles(particleeffectnum("machinegun_impact"), org2, w_backoff * 1000, 1);
                if(!w_issilent)
                        if(w_random < 0.05)
-                               sound(self, CHAN_PROJECTILE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM);
                        else if(w_random < 0.1)
-                               sound(self, CHAN_PROJECTILE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM);
                        else if(w_random < 0.2)
-                               sound(self, CHAN_PROJECTILE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM);
+                               sound(self, CH_SHOTS_SINGLE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM);
        }
        else if(req == WR_PRECACHE)
        {
index d0e797448effce04ba99e24f69349b86a520e4aa..5979c804d2f01e3b52d42f2a653b149376db337d 100644 (file)
@@ -242,12 +242,19 @@ void WarpZone_FixView()
 
        org = R_SetView3fv(VF_ORIGIN);
        ang = R_SetView3fv(VF_ANGLES);
+#ifdef WORKAROUND_XON010
+       float dirty;
+       dirty = checkextension("DP_CSQC_ROTATEMOVES");
+#endif
 
        e = WarpZone_Find(org, org);
        if(e)
        {
                org = WarpZone_TransformOrigin(e, org);
                ang = WarpZone_TransformVAngles(e, ang);
+#ifdef WORKAROUND_XON010
+               dirty = 1;
+#endif
                WarpZone_View_Inside();
        }
        else
@@ -264,11 +271,22 @@ void WarpZone_FixView()
        rick *= f;
        R_SetView(VF_CL_VIEWANGLES_Z, rick);
 
+#ifdef WORKAROUND_XON010
+       if(ang_z > 1 || ang_z < -1)
+               dirty = 1;
+#endif
        ang_z *= f;
 #endif
 
+#ifdef WORKAROUND_XON010
+       if(dirty)
+       {
+#endif
        R_SetView(VF_ORIGIN, org);
        R_SetView(VF_ANGLES, ang);
+#ifdef WORKAROUND_XON010
+       }
+#endif
 
        nearclip = '0 0 1' * (cvar("r_nearclip") * 1.125);
        corner0 = cs_unproject('0 0 0' + nearclip);
index 476b4ca201ee3f9cbc4300436a87a7ea044bf9a8..861b2e01f863cdb618adab1613d1df7d260e0548 100644 (file)
@@ -7,6 +7,7 @@
 // for all entities
 .vector warpzone_oldorigin, warpzone_oldvelocity, warpzone_oldangles;
 .float warpzone_teleport_time;
+.float warpzone_teleport_finishtime;
 .entity warpzone_teleport_zone;
 
 void WarpZone_StoreProjectileData(entity e)
@@ -65,19 +66,20 @@ float WarpZone_Teleported_Send(entity to, float sf)
                WarpZone_TeleportPlayer(wz, player, o1 - player.view_ofs, a1, v1); \
                WarpZone_StoreProjectileData(player); \
                player.warpzone_teleport_time = time; \
+               player.warpzone_teleport_finishtime = time; \
                player.warpzone_teleport_zone = wz; \
        } \
        while(0)
 
 float WarpZone_Teleport(entity wz, entity player, float f0, float f1)
 {
-       vector o0, a0, v0, o1, a1, v1;
+       vector o0, a0, v0, o1, a1, v1, o10;
 
        o0 = player.origin + player.view_ofs;
        v0 = player.velocity;
        a0 = player.angles;
 
-       o1 = WarpZone_TransformOrigin(wz, o0);
+       o10 = o1 = WarpZone_TransformOrigin(wz, o0);
        v1 = WarpZone_TransformVelocity(wz, v0);
        if(clienttype(player) != CLIENTTYPE_NOTACLIENT)
                a1 = WarpZone_TransformVAngles(wz, player.v_angle);
@@ -99,7 +101,8 @@ float WarpZone_Teleport(entity wz, entity player, float f0, float f1)
                }
                o1 = trace_endpos + player.view_ofs;
 
-               float d, dv;
+               float d, dv, md;
+               md = max(vlen(player.mins), vlen(player.maxs));
                d = WarpZone_TargetPlaneDist(wz, o1);
                dv = WarpZone_TargetPlaneDist(wz, v1);
                if(d < 0)
@@ -113,6 +116,11 @@ float WarpZone_Teleport(entity wz, entity player, float f0, float f1)
 
        WARPZONE_TELEPORT_DOTELEPORT();
 
+       // prevent further teleports back
+       float dt = (o1 - o10) * v1 * (1 / (v1 * v1));
+       if(dt < sys_frametime)
+               player.warpzone_teleport_finishtime += sys_frametime - dt;
+
 #ifndef WARPZONE_USE_FIXANGLE
        if(player.classname == "player")
        {
@@ -144,11 +152,11 @@ void WarpZone_Touch (void)
        if(other.classname == "trigger_warpzone")
                return;
 
-       if(other.warpzone_teleport_time == time) // already teleported this frame
+       if(time <= other.warpzone_teleport_finishtime) // already teleported this frame
                return;
 
        // FIXME needs a better check to know what is safe to teleport and what not
-       if(other.movetype == MOVETYPE_NONE || other.movetype == MOVETYPE_FOLLOW)
+       if(other.movetype == MOVETYPE_NONE || other.movetype == MOVETYPE_FOLLOW || other.tag_entity)
                return;
 
        if(WarpZoneLib_ExactTrigger_Touch())
@@ -157,7 +165,12 @@ void WarpZone_Touch (void)
        if(WarpZone_PlaneDist(self, other.origin + other.view_ofs) >= 0) // wrong side of the trigger_warpzone (don't teleport yet)
                return;
 
-       if(WarpZone_Teleport(self, other, -1, 0))
+       float f;
+       if(clienttype(self) == CLIENTTYPE_NOTACLIENT)
+               f = min(-1, -64 / vlen(self.velocity));
+       else
+               f = -1;
+       if(WarpZone_Teleport(self, other, f, 0))
        {
                string save1, save2;
                activator = other;
@@ -289,7 +302,10 @@ float WarpZone_CheckProjectileImpact(entity player)
 
        o0 = player.origin + player.view_ofs;
        v0 = player.velocity;
-       a0 = player.angles;
+
+       // if we teleported shortly before, abort
+       if(time <= player.warpzone_teleport_finishtime + 0.1)
+               return 0;
 
        // if player hit a warpzone, abort
        entity wz;
@@ -328,7 +344,7 @@ float WarpZone_CheckProjectileImpact(entity player)
        }
        else
        {
-               setorigin(player, o0);
+               setorigin(player, o0 - player.view_ofs);
                player.velocity = v0;
        }
 
@@ -341,7 +357,7 @@ float WarpZone_Projectile_Touch()
                return TRUE;
 
        // no further impacts if we teleported this frame!
-       if(self.warpzone_teleport_time == time)
+       if(time == self.warpzone_teleport_time)
                return TRUE;
 
        // this SEEMS to not happen at the moment, but if it did, it would be more reliable
@@ -392,15 +408,6 @@ float WarpZone_Projectile_Touch()
        if(WarpZone_Projectile_Touch_ImpactFilter_Callback())
                return TRUE;
 
-       if(self.warpzone_teleport_time == time)
-       {
-               // sequence: hit warpzone, get teleported, hit wall
-               // print("2 hits 1 frame\n");
-               setorigin(self, self.warpzone_oldorigin);
-               self.velocity = self.warpzone_oldvelocity;
-               self.angles = self.warpzone_oldangles;
-               return TRUE;
-       }
        return FALSE;
 }
 
index cf93bb6a4a622b17d398ee70a03204741c161d4d..6800c2f663d71f815bd9081bff40a6d8e60ac9f9 100644 (file)
@@ -1,31 +1,31 @@
-//affirmative sound/player/torus/coms/affirmative 0
-attack sound/player/torus/coms/attack 0
-//attacking sound/player/torus/coms/attacking 0
-attackinfive sound/player/torus/coms/letsgo 0
-coverme sound/player/torus/coms/coverme 0
-//defend sound/player/torus/coms/defend 1
-//defending sound/player/torus/coms/defending 0
-//droppedflag sound/player/torus/coms/droppedflag 0
-//flagcarriertakingdamage sound/player/torus/coms/flagcarriertakingdamage 0
-//freelance sound/player/torus/coms/freelance 1
-//getflag sound/player/torus/coms/getflag 0
-incoming sound/player/torus/coms/incoming 0
-meet sound/player/torus/coms/waypoint 0
-needhelp sound/player/torus/coms/needhelp 0
-//negative sound/player/torus/coms/negative 0
-//onmyway sound/player/torus/coms/onmyway 0
-//roaming sound/player/torus/coms/roaming 0
-//seenenemy sound/player/torus/coms/seenenemy 0
-seenflag sound/player/torus/coms/seenflag 0
-taunt sound/player/torus/coms/taunt 2
-teamshoot sound/player/torus/coms/teamshoot 0
-death sound/player/torus/player/death 0
-drown sound/player/torus/player/drown 0
-//fall sound/player/torus/player/fall 0
-//falling sound/debug/v_falling 0
-gasp sound/player/torus/player/gasp 0
-jump sound/player/torus/player/fall 0
-pain25 sound/player/torus/player/pain25 0
-pain50 sound/player/torus/player/pain50 0
-pain75 sound/player/torus/player/pain75 0
-pain100 sound/player/torus/player/pain100 0
+affirmative sound/player/espeak/coms/affirmative 0
+attack sound/player/espeak/coms/attack 0
+attacking sound/player/espeak/coms/attacking 0
+attackinfive sound/player/espeak/coms/attackinfive 0
+coverme sound/player/espeak/coms/coverme 0
+defend sound/player/espeak/coms/defend 0
+defending sound/player/espeak/coms/defending 0
+droppedflag sound/player/espeak/coms/droppedflag 0
+flagcarriertakingdamage sound/player/espeak/coms/flagcarriertakingdamage 0
+freelance sound/player/espeak/coms/freelance 0
+getflag sound/player/espeak/coms/getflag 0
+incoming sound/player/espeak/coms/incoming 0
+meet sound/player/espeak/coms/meet 0
+needhelp sound/player/espeak/coms/needhelp 0
+negative sound/player/espeak/coms/negative 0
+onmyway sound/player/espeak/coms/onmyway 0
+roaming sound/player/espeak/coms/roaming 0
+seenenemy sound/player/espeak/coms/seenenemy 0
+seenflag sound/player/espeak/coms/seenflag 0
+taunt sound/player/espeak/coms/taunt 0
+teamshoot sound/player/espeak/coms/teamshoot 0
+death sound/player/espeak/player/death 0
+drown sound/player/espeak/player/drown 0
+fall sound/player/espeak/player/fall 0
+falling sound/player/espeak/player/falling 0
+gasp sound/player/espeak/player/gasp 0
+jump sound/player/espeak/player/jump 0
+pain25 sound/player/espeak/player/pain25 0
+pain50 sound/player/espeak/player/pain50 0
+pain75 sound/player/espeak/player/pain75 0
+pain100 sound/player/espeak/player/pain100 0
diff --git a/sound/player/espeak/coms/affirmative.ogg b/sound/player/espeak/coms/affirmative.ogg
new file mode 100644 (file)
index 0000000..310fe84
Binary files /dev/null and b/sound/player/espeak/coms/affirmative.ogg differ
diff --git a/sound/player/espeak/coms/attack.ogg b/sound/player/espeak/coms/attack.ogg
new file mode 100644 (file)
index 0000000..535bed8
Binary files /dev/null and b/sound/player/espeak/coms/attack.ogg differ
diff --git a/sound/player/espeak/coms/attackinfive.ogg b/sound/player/espeak/coms/attackinfive.ogg
new file mode 100644 (file)
index 0000000..998848f
Binary files /dev/null and b/sound/player/espeak/coms/attackinfive.ogg differ
diff --git a/sound/player/espeak/coms/attacking.ogg b/sound/player/espeak/coms/attacking.ogg
new file mode 100644 (file)
index 0000000..9ba2394
Binary files /dev/null and b/sound/player/espeak/coms/attacking.ogg differ
diff --git a/sound/player/espeak/coms/coverme.ogg b/sound/player/espeak/coms/coverme.ogg
new file mode 100644 (file)
index 0000000..079595b
Binary files /dev/null and b/sound/player/espeak/coms/coverme.ogg differ
diff --git a/sound/player/espeak/coms/defend.ogg b/sound/player/espeak/coms/defend.ogg
new file mode 100644 (file)
index 0000000..8a3a92c
Binary files /dev/null and b/sound/player/espeak/coms/defend.ogg differ
diff --git a/sound/player/espeak/coms/defending.ogg b/sound/player/espeak/coms/defending.ogg
new file mode 100644 (file)
index 0000000..32808d3
Binary files /dev/null and b/sound/player/espeak/coms/defending.ogg differ
diff --git a/sound/player/espeak/coms/droppedflag.ogg b/sound/player/espeak/coms/droppedflag.ogg
new file mode 100644 (file)
index 0000000..fc2f009
Binary files /dev/null and b/sound/player/espeak/coms/droppedflag.ogg differ
diff --git a/sound/player/espeak/coms/flagcarriertakingdamage.ogg b/sound/player/espeak/coms/flagcarriertakingdamage.ogg
new file mode 100644 (file)
index 0000000..8f27d15
Binary files /dev/null and b/sound/player/espeak/coms/flagcarriertakingdamage.ogg differ
diff --git a/sound/player/espeak/coms/freelance.ogg b/sound/player/espeak/coms/freelance.ogg
new file mode 100644 (file)
index 0000000..ac023a0
Binary files /dev/null and b/sound/player/espeak/coms/freelance.ogg differ
diff --git a/sound/player/espeak/coms/getflag.ogg b/sound/player/espeak/coms/getflag.ogg
new file mode 100644 (file)
index 0000000..958296d
Binary files /dev/null and b/sound/player/espeak/coms/getflag.ogg differ
diff --git a/sound/player/espeak/coms/incoming.ogg b/sound/player/espeak/coms/incoming.ogg
new file mode 100644 (file)
index 0000000..526f09f
Binary files /dev/null and b/sound/player/espeak/coms/incoming.ogg differ
diff --git a/sound/player/espeak/coms/meet.ogg b/sound/player/espeak/coms/meet.ogg
new file mode 100644 (file)
index 0000000..ff4aa6c
Binary files /dev/null and b/sound/player/espeak/coms/meet.ogg differ
diff --git a/sound/player/espeak/coms/needhelp.ogg b/sound/player/espeak/coms/needhelp.ogg
new file mode 100644 (file)
index 0000000..ef84985
Binary files /dev/null and b/sound/player/espeak/coms/needhelp.ogg differ
diff --git a/sound/player/espeak/coms/negative.ogg b/sound/player/espeak/coms/negative.ogg
new file mode 100644 (file)
index 0000000..1f63a57
Binary files /dev/null and b/sound/player/espeak/coms/negative.ogg differ
diff --git a/sound/player/espeak/coms/onmyway.ogg b/sound/player/espeak/coms/onmyway.ogg
new file mode 100644 (file)
index 0000000..ce8d203
Binary files /dev/null and b/sound/player/espeak/coms/onmyway.ogg differ
diff --git a/sound/player/espeak/coms/roaming.ogg b/sound/player/espeak/coms/roaming.ogg
new file mode 100644 (file)
index 0000000..5fee542
Binary files /dev/null and b/sound/player/espeak/coms/roaming.ogg differ
diff --git a/sound/player/espeak/coms/seenenemy.ogg b/sound/player/espeak/coms/seenenemy.ogg
new file mode 100644 (file)
index 0000000..da21bcf
Binary files /dev/null and b/sound/player/espeak/coms/seenenemy.ogg differ
diff --git a/sound/player/espeak/coms/seenflag.ogg b/sound/player/espeak/coms/seenflag.ogg
new file mode 100644 (file)
index 0000000..a6a78fb
Binary files /dev/null and b/sound/player/espeak/coms/seenflag.ogg differ
diff --git a/sound/player/espeak/coms/taunt.ogg b/sound/player/espeak/coms/taunt.ogg
new file mode 100644 (file)
index 0000000..03bf24c
Binary files /dev/null and b/sound/player/espeak/coms/taunt.ogg differ
diff --git a/sound/player/espeak/coms/teamshoot.ogg b/sound/player/espeak/coms/teamshoot.ogg
new file mode 100644 (file)
index 0000000..040db89
Binary files /dev/null and b/sound/player/espeak/coms/teamshoot.ogg differ
diff --git a/sound/player/espeak/make.sh b/sound/player/espeak/make.sh
new file mode 100644 (file)
index 0000000..a93c2cc
--- /dev/null
@@ -0,0 +1,40 @@
+v()
+{
+       espeak -w "$1.wav" "$2"
+       normalize "$1.wav"
+       oggenc -q1 "$1.wav" -o "$1.ogg"
+       rm -f "$1.wav"
+}
+
+v player/death                 "Mine Leyben!"
+v player/fall                  "Ooh!"
+v player/drown                 "Gloog gloog gloog!"
+v player/gasp                  "Ha!"
+v player/jump                  "Hem!"
+v player/pain25                "Owowowow!"
+v player/pain50                "Owow!"
+v player/pain75                "Ouuu!"
+v player/pain100               "Ouch!"
+v player/fall                  "Arh!"
+v player/falling               "Aaaaaaaaaaaaaaaaaaaaa!"
+v coms/attack                  "Attack!"
+v coms/attackinfive            "Attack in 5! In 4! In 3! In 2! In 1! Attack NOW!"
+v coms/meet                    "Let's meet at the waypoint."
+v coms/seenflag                "I've seen the flag!"
+v coms/taunt                   "Double facepalm!"
+v coms/teamshoot               "I'm on your team!"
+v coms/incoming                "Incoming!"
+v coms/coverme                 "Cover me!"
+v coms/needhelp                "I need help!"
+v coms/defend                  "Defend the base!"
+v coms/freelance               "Do whatever you want."
+v coms/flagcarriertakingdamage "Our flag carrier is taking damage!"
+v coms/getflag                 "Somebody get our flag back!"
+v coms/affirmative             "Affirmative."
+v coms/attacking               "I'm attacking."
+v coms/defending               "I'm defending."
+v coms/roaming                 "I'm roaming around."
+v coms/onmyway                 "I'm on my way."
+v coms/droppedflag             "I dropped the flag!"
+v coms/negative                "Negative."
+v coms/seenenemy               "I've seen an enemy."
diff --git a/sound/player/espeak/player/death.ogg b/sound/player/espeak/player/death.ogg
new file mode 100644 (file)
index 0000000..b382da7
Binary files /dev/null and b/sound/player/espeak/player/death.ogg differ
diff --git a/sound/player/espeak/player/drown.ogg b/sound/player/espeak/player/drown.ogg
new file mode 100644 (file)
index 0000000..55db0c8
Binary files /dev/null and b/sound/player/espeak/player/drown.ogg differ
diff --git a/sound/player/espeak/player/fall.ogg b/sound/player/espeak/player/fall.ogg
new file mode 100644 (file)
index 0000000..b5ca319
Binary files /dev/null and b/sound/player/espeak/player/fall.ogg differ
diff --git a/sound/player/espeak/player/falling.ogg b/sound/player/espeak/player/falling.ogg
new file mode 100644 (file)
index 0000000..7e1d44a
Binary files /dev/null and b/sound/player/espeak/player/falling.ogg differ
diff --git a/sound/player/espeak/player/gasp.ogg b/sound/player/espeak/player/gasp.ogg
new file mode 100644 (file)
index 0000000..cf126b1
Binary files /dev/null and b/sound/player/espeak/player/gasp.ogg differ
diff --git a/sound/player/espeak/player/jump.ogg b/sound/player/espeak/player/jump.ogg
new file mode 100644 (file)
index 0000000..0da2706
Binary files /dev/null and b/sound/player/espeak/player/jump.ogg differ
diff --git a/sound/player/espeak/player/pain100.ogg b/sound/player/espeak/player/pain100.ogg
new file mode 100644 (file)
index 0000000..ca32d93
Binary files /dev/null and b/sound/player/espeak/player/pain100.ogg differ
diff --git a/sound/player/espeak/player/pain25.ogg b/sound/player/espeak/player/pain25.ogg
new file mode 100644 (file)
index 0000000..e39bc68
Binary files /dev/null and b/sound/player/espeak/player/pain25.ogg differ
diff --git a/sound/player/espeak/player/pain50.ogg b/sound/player/espeak/player/pain50.ogg
new file mode 100644 (file)
index 0000000..2755a9d
Binary files /dev/null and b/sound/player/espeak/player/pain50.ogg differ
diff --git a/sound/player/espeak/player/pain75.ogg b/sound/player/espeak/player/pain75.ogg
new file mode 100644 (file)
index 0000000..60d61f9
Binary files /dev/null and b/sound/player/espeak/player/pain75.ogg differ