// hud variables
set _hud_configure 0 "1 = configure the HUD"
seta hud_configure_teamcolorforced 0 "1 = force display of team colors in configure mode"
-seta hud_configure_checkcollisions 1 "check for collisions against other panels when in hud configure mode"
+seta hud_configure_checkcollisions 0 "check for collisions against other panels when in hud configure mode"
seta hud_configure_bg_minalpha 0.25 "minimum panel background alpha when in hud configure mode"
seta hud_configure_grid_alpha 0.15 "alpha for visible grid when in configure mode"
set g_balance_porto_primary_animtime 0.3
set g_balance_porto_primary_speed 2000
set g_balance_porto_primary_lifetime 30
+set g_balance_porto_secondary 0
+set g_balance_porto_secondary_refire 1.5
+set g_balance_porto_secondary_animtime 0.3
+set g_balance_porto_secondary_speed 2000
+set g_balance_porto_secondary_lifetime 30
set g_balance_portal_health 200 // these get recharged whenever the portal is used
set g_balance_portal_lifetime 15 // these get recharged whenever the portal is used
// }}}
set g_balance_tuba_pitchstep 6
// }}}
// {{{ fireball
-set g_balance_fireball_primary_ammo 40
set g_balance_fireball_primary_animtime 0.15
set g_balance_fireball_primary_bfgdamage 100
set g_balance_fireball_primary_bfgforce 0
set g_balance_fireball_primary_refire2 0
set g_balance_fireball_primary_speed 650
set g_balance_fireball_primary_spread 0
-set g_balance_fireball_secondary_ammo 5
set g_balance_fireball_secondary_animtime 0.3
set g_balance_fireball_secondary_damage 40
set g_balance_fireball_secondary_damageforcescale 4
set g_balance_fireball_secondary_speed_up 100
set g_balance_fireball_secondary_speed_z 0
set g_balance_fireball_secondary_spread 0
-set g_balance_fireball_reload_ammo 0 //default: 60
-set g_balance_fireball_reload_time 2
// }}}
// {{{ seeker
set g_balance_seeker_type 0 // 0 = old seeker, 1 = new seeker. THIS IS A TEMPORARY CVAR FOR TESTING, will be removed later.
set g_balance_porto_primary_animtime 0.2
set g_balance_porto_primary_speed 2000
set g_balance_porto_primary_lifetime 5
+set g_balance_porto_secondary 0
+set g_balance_porto_secondary_refire 1.5
+set g_balance_porto_secondary_animtime 0.2
+set g_balance_porto_secondary_speed 2000
+set g_balance_porto_secondary_lifetime 5
set g_balance_portal_health 200 // these get recharged whenever the portal is used
set g_balance_portal_lifetime 15 // these get recharged whenever the portal is used
// }}}
set g_balance_tuba_pitchstep 6
// }}}
// {{{ fireball
-set g_balance_fireball_primary_ammo 40
set g_balance_fireball_primary_animtime 0.2
set g_balance_fireball_primary_bfgdamage 100
set g_balance_fireball_primary_bfgforce 0
set g_balance_fireball_primary_refire2 0
set g_balance_fireball_primary_speed 650
set g_balance_fireball_primary_spread 0
-set g_balance_fireball_secondary_ammo 5
set g_balance_fireball_secondary_animtime 0.2
set g_balance_fireball_secondary_damage 40
set g_balance_fireball_secondary_damageforcescale 4
set g_balance_fireball_secondary_speed_up 100
set g_balance_fireball_secondary_speed_z 0
set g_balance_fireball_secondary_spread 0
-set g_balance_fireball_reload_ammo 0 //default: 60
-set g_balance_fireball_reload_time 2
// }}}
// {{{ seeker
set g_balance_seeker_type 0 // 0 = old seeker, 1 = new seeker. THIS IS A TEMPORARY CVAR FOR TESTING, will be removed later.
set g_balance_porto_primary_animtime 0.3
set g_balance_porto_primary_speed 1000
set g_balance_porto_primary_lifetime 5
+set g_balance_porto_secondary 0
+set g_balance_porto_secondary_refire 1.5
+set g_balance_porto_secondary_animtime 0.3
+set g_balance_porto_secondary_speed 1000
+set g_balance_porto_secondary_lifetime 5
set g_balance_portal_health 200 // these get recharged whenever the portal is used
set g_balance_portal_lifetime 15 // these get recharged whenever the portal is used
// }}}
set g_balance_tuba_pitchstep 6
// }}}
// {{{ fireball // this is a superweapon -- lets make it behave as one.
-set g_balance_fireball_primary_ammo 20
set g_balance_fireball_primary_animtime 0.2
set g_balance_fireball_primary_bfgdamage 100
set g_balance_fireball_primary_bfgforce 0
set g_balance_fireball_primary_refire2 0
set g_balance_fireball_primary_speed 1200
set g_balance_fireball_primary_spread 0
-set g_balance_fireball_secondary_ammo 5
set g_balance_fireball_secondary_animtime 0.3
set g_balance_fireball_secondary_damage 40
set g_balance_fireball_secondary_damageforcescale 4
set g_balance_fireball_secondary_speed_up 100
set g_balance_fireball_secondary_speed_z 0
set g_balance_fireball_secondary_spread 0
-set g_balance_fireball_reload_ammo 0 //default: 100
-set g_balance_fireball_reload_time 2
// }}}
// {{{ seeker
set g_balance_seeker_type 1 // 0 = old seeker, 1 = new seeker. THIS IS A TEMPORARY CVAR FOR TESTING, will be removed later.
set g_balance_porto_primary_animtime 0.3
set g_balance_porto_primary_speed 1000
set g_balance_porto_primary_lifetime 5
+set g_balance_porto_secondary 1
+set g_balance_porto_secondary_refire 1.5
+set g_balance_porto_secondary_animtime 0.3
+set g_balance_porto_secondary_speed 1000
+set g_balance_porto_secondary_lifetime 5
set g_balance_portal_health 200 // these get recharged whenever the portal is used
set g_balance_portal_lifetime 15 // these get recharged whenever the portal is used
// }}}
set g_balance_tuba_pitchstep 6
// }}}
// {{{ fireball // this is a superweapon -- lets make it behave as one.
-set g_balance_fireball_primary_ammo 20
set g_balance_fireball_primary_animtime 0.2
set g_balance_fireball_primary_bfgdamage 100
set g_balance_fireball_primary_bfgforce 0
set g_balance_fireball_primary_refire2 0
set g_balance_fireball_primary_speed 1200
set g_balance_fireball_primary_spread 0
-set g_balance_fireball_secondary_ammo 5
set g_balance_fireball_secondary_animtime 0.3
set g_balance_fireball_secondary_damage 40
set g_balance_fireball_secondary_damageforcescale 4
set g_balance_fireball_secondary_speed_up 100
set g_balance_fireball_secondary_speed_z 0
set g_balance_fireball_secondary_spread 0
-set g_balance_fireball_reload_ammo 0 //default: 100
-set g_balance_fireball_reload_time 2
// }}}
// {{{ seeker
set g_balance_seeker_type 1 // 0 = old seeker, 1 = new seeker. THIS IS A TEMPORARY CVAR FOR TESTING, will be removed later.
-e "set use_envelope_from=yes" \
-s "Need update for translations: $X" \
-c "$cc" \
- -b "divVerent@xonotic.org" \
+ -b "admin@xonotic.org" \
-a $attach -- \
"$to"
break
if_client alias if_dedicated ""
if_dedicated "alias" qc_cmd_sv "sv_cmd $$*"
-if_client "alias" qc_cmd_sv "echo This command only works on servers: sv_cmd $${* !}"
+if_client "alias" qc_cmd_sv "sv_cmd $$*"
+// if_client "alias" qc_cmd_sv "echo This command only works on servers: sv_cmd $${* !}"
if_dedicated "alias" qc_cmd_cl "echo This command only works on clients: cl_cmd $${* !}"
if_client "alias" qc_cmd_cl "cl_cmd $$*"
if_dedicated "alias" qc_cmd_cmd "echo This command only works on clients: cmd $${* !}"
// Aliases for settemp subsystem. Warning: Do not touch.
// Usage: settemp variable value, next map resets it.
// =======================================================
-alias settemp "qc_cmd_svcl settemp $$*"
+alias settemp "qc_cmd_svcl settemp $*"
alias settemp_restore "qc_cmd_svcl settemp_restore"
--- /dev/null
+// ================================================
+// Master config for different crosshair settings
+// ================================================
+
+// main crosshair settings
+seta crosshair 16
+seta crosshair_enabled 1 // main toggle for enabling/disabling crosshair rendering, used mostly just for the menu... 1 = with per-weapon crosshairs, 2 = custom crosshair
+seta crosshair_color "0.6 0.8 1"
+seta crosshair_alpha 0.75
+seta crosshair_size 0.3
+
+// crosshair dot settings
+seta crosshair_dot 0
+seta crosshair_dot_alpha 1
+seta crosshair_dot_size 0.600000
+seta crosshair_dot_color "1 0 0"
+seta crosshair_dot_color_custom 1 "use a custom color for the crosshair dot"
+
+// smooth transitions for crosshair changes
+seta crosshair_effect_speed -1 "how fast (in seconds) some crosshair effects should take place, 0 = instant, -1 = 2x weapon switch time"
+seta crosshair_effect_scalefade 1 "use scaling and fading for crosshair effects"
+
+// item pickup animation settings
+seta crosshair_pickup 0.25
+seta crosshair_pickup_speed 4
+
+// hit indication animation settings
+seta crosshair_hitindication 0.5
+seta crosshair_hitindication_color "10 -10 -10"
+seta crosshair_hitindication_speed 5
+
+// hit testing/tracing for special effects for the crosshair
+set g_trueaim_minrange 44 "TrueAim minimum range (TrueAim adjusts shots so they hit the crosshair point even though the gun is not at the screen center)"
+seta crosshair_hittest 1 "do a crosshair hit evaluation; also, the crosshair is scaled by the given number when aiming at an enemy, and blurred when aiming at a team mate"
+seta crosshair_hittest_blur 1 "blur the crosshair if the shot is obstructed"
+seta crosshair_hittest_showimpact 0 "move the crosshair to the actual impact location if obstructed"
+
+// change color based on special case
+seta crosshair_color_by_health 0 "if enabled, crosshair color will depend on current health"
+seta crosshair_color_per_weapon 1 "when 1, each gun will display the crosshair with a different color"
+
+
+// ===============================
+// Per weapon crosshair settings
+// ===============================
+// main settings
+seta crosshair_per_weapon 1 "when 1, each gun will display a different crosshair"
+
+// per weapon settings
+seta crosshair_laser "" "crosshair to display when wielding the laser"
+seta crosshair_laser_color "1 0.35 0.2" "crosshair color to display when wielding the laser"
+seta crosshair_laser_alpha 0.75 "crosshair alpha value to display when wielding the laser"
+seta crosshair_laser_size 0.4 "crosshair size when wielding the laser"
+seta crosshair_shotgun "" "crosshair to display when wielding the shotgun"
+seta crosshair_shotgun_color "0.7 0.7 0.7" "crosshair color to display when wielding the shotgun"
+seta crosshair_shotgun_alpha 1.1 "crosshair alpha value to display when wielding the shotgun"
+seta crosshair_shotgun_size 0.65 "crosshair size when wielding the shotgun"
+seta crosshair_uzi "" "crosshair to display when wielding the machinegun"
+seta crosshair_uzi_color "0.4 0.9 0.35" "crosshair color to display when wielding the machinegun"
+seta crosshair_uzi_alpha 0.9 "crosshair alpha value to display when wielding the machinegun"
+seta crosshair_uzi_size 0.6 "crosshair size when wielding the machinegun"
+seta crosshair_grenadelauncher "" "crosshair to display when wielding the mortar"
+seta crosshair_grenadelauncher_color "1 0.15 0" "crosshair color to display when wielding the mortar"
+seta crosshair_grenadelauncher_alpha 1.15 "crosshair alpha value to display when wielding the mortar"
+seta crosshair_grenadelauncher_size 0.7 "crosshair size when wielding the mortar"
+seta crosshair_minelayer "" "crosshair to display when wielding the mortar"
+seta crosshair_minelayer_color "0.75 0.75 0" "crosshair color to display when wielding the mortar"
+seta crosshair_minelayer_alpha 1.15 "crosshair alpha value to display when wielding the mortar"
+seta crosshair_minelayer_size 0.9 "crosshair size when wielding the mortar"
+seta crosshair_electro "" "crosshair to display when wielding the electro"
+seta crosshair_electro_color "0.35 0.5 1" "crosshair color to display when wielding the electro"
+seta crosshair_electro_alpha 1 "crosshair alpha value to display when wielding the electro"
+seta crosshair_electro_size 0.5 "crosshair size when wielding the electro"
+seta crosshair_crylink "" "crosshair to display when wielding the crylink"
+seta crosshair_crylink_color "0.85 0.25 1" "crosshair color to display when wielding the crylink"
+seta crosshair_crylink_alpha 0.85 "crosshair alpha value to display when wielding the crylink"
+seta crosshair_crylink_size 0.4 "crosshair size when wielding the crylink"
+seta crosshair_nex "" "crosshair to display when wielding the nex gun"
+seta crosshair_nex_color "0 0.9 1" "crosshair color to display when wielding the nex gun"
+seta crosshair_nex_alpha 0.85 "crosshair alpha value to display when wielding the nex gun"
+seta crosshair_nex_size 0.65 "crosshair size when wielding the nex gun"
+seta crosshair_hagar "" "crosshair to display when wielding the hagar"
+seta crosshair_hagar_color "0.85 0.5 0.35" "crosshair color to display when wielding the hagar"
+seta crosshair_hagar_alpha 1 "crosshair alpha value to display when wielding the hagar"
+seta crosshair_hagar_size 0.8 "crosshair size when wielding the hagar"
+seta crosshair_rocketlauncher "" "crosshair to display when wielding the rocketlauncher"
+seta crosshair_rocketlauncher_color "1 0.75 0.2" "crosshair color to display when wielding the rocketlauncher"
+seta crosshair_rocketlauncher_alpha 1 "crosshair alpha value to display when wielding the rocketlauncher"
+seta crosshair_rocketlauncher_size 0.5875 "crosshair size when wielding the rocketlauncher"
+seta crosshair_porto "" "crosshair to display when wielding the porto"
+seta crosshair_porto_color "0.5 1 0.5" "crosshair color to display when wielding the porto"
+seta crosshair_porto_alpha 0.85 "crosshair alpha value to display when wielding the porto"
+seta crosshair_porto_size 0.6 "crosshair size when wielding the porto"
+seta crosshair_minstanex "" "crosshair to display when wielding the minstanex gun"
+seta crosshair_minstanex_color "0.65 0.65 1" "crosshair color to display when wielding the minstanex gun"
+seta crosshair_minstanex_alpha 1 "crosshair alpha value to display when wielding the minstanex gun"
+seta crosshair_minstanex_size 0.4 "crosshair size when wielding the minstanex gun"
+seta crosshair_hook "" "crosshair to display when wielding the hook"
+seta crosshair_hook_color "0.65 1 0.85" "crosshair color to display when wielding the hook"
+seta crosshair_hook_alpha 0.85 "crosshair alpha value to display when wielding the hook"
+seta crosshair_hook_size 0.5 "crosshair size when wielding the hook"
+seta crosshair_hlac "" "crosshair to display when wielding the H.L.A.C"
+seta crosshair_hlac_color "1 0.65 0.2" "crosshair color to display when wielding the H.L.A.C."
+seta crosshair_hlac_alpha 1 "crosshair alpha value to display when wielding the H.L.A.C."
+seta crosshair_hlac_size 0.6 "crosshair size when wielding the H.L.A.C."
+seta crosshair_seeker "" "crosshair to display when wielding the TAG Seeker"
+seta crosshair_seeker_color "1 0.35 0.35" "crosshair color to display when wielding the TAG seeker"
+seta crosshair_seeker_alpha 0.9 "crosshair alpha value to display when wielding the TAG seeker"
+seta crosshair_seeker_size 0.8 "crosshair size when wielding the TAG seeker"
+seta crosshair_rifle "" "crosshair to display when wielding the rifle"
+seta crosshair_rifle_color "0.85 0.5 0.25" "crosshair color to display when wielding the rifle"
+seta crosshair_rifle_alpha 1 "crosshair alpha value to display when wielding the rifle"
+seta crosshair_rifle_size 0.5 "crosshair size when wielding the rifle"
+seta crosshair_tuba "" "crosshair to display when wielding the tuba"
+seta crosshair_tuba_color "0.85 0.5 0.25" "crosshair color to display when wielding the tuba"
+seta crosshair_tuba_alpha 1 "crosshair alpha value to display when wielding the tuba"
+seta crosshair_tuba_size 1 "crosshair size when wielding the tuba"
+seta crosshair_fireball "" "crosshair to display when wielding the fireball"
+seta crosshair_fireball_color "0.2 1.0 0.2" "crosshair color to display when wielding the fireball"
+seta crosshair_fireball_alpha 1 "crosshair alpha value to display when wielding the fireball"
+seta crosshair_fireball_size 1 "crosshair size when wielding the fireball"
+
+
+// =========================
+// Crosshair ring settings
+// =========================
+
+// ring around crosshair, used for various purposes (such as indicating bullets left in clip, nex charge)
+seta crosshair_ring 1 "main cvar to enable or disable normal crosshair rings"
+seta crosshair_ring_inner 0 "allow inner rings to be drawn too"
+seta crosshair_ring_size 2 "ring size"
+seta crosshair_ring_alpha 0.2 "ring alpha"
+
+// nexgun ring
+seta crosshair_ring_nex 1 "draw a ring showing the current charge of the nexgun"
+seta crosshair_ring_nex_alpha 0.15
+seta crosshair_ring_nex_inner_alpha 0.15
+seta crosshair_ring_nex_inner_color_red 0.8
+seta crosshair_ring_nex_inner_color_green 0
+seta crosshair_ring_nex_inner_color_blue 0
+seta crosshair_ring_nex_currentcharge_scale 30
+seta crosshair_ring_nex_currentcharge_movingavg_rate 0.05
+
+// minelayer ring
+seta crosshair_ring_minelayer 1
+seta crosshair_ring_minelayer_alpha 0.15
+
+// hagar ring
+seta crosshair_ring_hagar 1
+seta crosshair_ring_hagar_alpha 0.15
+
+// reload ring
+seta crosshair_ring_reload 1 "main cvar to enable or disable ammo crosshair rings"
+seta crosshair_ring_reload_size 2.5 "reload ring size"
+seta crosshair_ring_reload_alpha 0.2 "reload ring alpha"
\ No newline at end of file
#: qcsrc/client/hud.qc:1820
#, c-format
msgid "^1%s^1 got caught in the flac \n"
-msgstr "^1%s^1 fraß Flac\n"
+msgstr "^1%s^1 geriet in die Flac\n"
#: qcsrc/client/hud.qc:1823
#, c-format
#: qcsrc/client/hud.qc:1876
#, c-format
msgid "^1%s^1 felt a little hot\n"
-msgstr "^1%s^1 fand es ein wenig zu warm\n"
+msgstr "^1%s^1 fand es ein wenig zu heiss\n"
#: qcsrc/client/hud.qc:1878
#, c-format
#: qcsrc/client/hud.qc:4196
#, c-format
msgid "%sPress ^3%s%s to end warmup"
-msgstr "%sDrücke ^3%s%s um die Aufwärmphase zu beenden"
+msgstr "%sDrücke ^3%s%s um die Aufwä¤rmphase zu beenden"
#: qcsrc/client/hud.qc:4198
#, c-format
"captured\n"
msgstr ""
"^3caps^7 Wie oft mit der Flagge (CTF) oder den "
-"Schlüssels (KeyHunt) gepunktet wurde\n"
+"Schlüsseln (KeyHunt) gepunktet wurde\n"
#: qcsrc/client/scoreboard.qc:256
msgid ""
#: qcsrc/client/scoreboard.qc:257
msgid "^3fckills^7 Number of flag carrier kills\n"
-msgstr "^3fckills^7 Wieviele Flaggenträger getötet wurden\n"
+msgstr "^3fckills^7 Wieviele FlaggentrÃ\83¤ger getötet wurden\n"
#: qcsrc/client/scoreboard.qc:258
msgid "^3returns^7 Number of flag returns\n"
#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_shotgun.qc:2
msgid "Shotgun"
-msgstr "Shotgun"
+msgstr "Schrotgewehr"
#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_uzi.qc:2
msgid "Machine Gun"
-msgstr "Machine Gun"
+msgstr "Maschinen Gewehr"
#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_grenadelauncher.qc:2
msgid "Mortar"
#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_electro.qc:2
msgid "Electro"
-msgstr "Electro"
+msgstr "Elektro"
#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_crylink.qc:2
msgid "Crylink"
#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rocketlauncher.qc:2
msgid "Rocket Launcher"
-msgstr "Rocket Launcher"
+msgstr "Raketenwerfer"
#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_porto.qc:2
msgid "Port-O-Launch"
msgid "%s was riddled full of holes by %s's machine gun"
msgstr "%s ist von %s durchlöchert worden wie ein Schweizer Käse"
-#~ msgid "%s sniped themself somehow"
-#~ msgstr "%s hat so scharf geschossen, dass er sich selbst getroffen hat"
+msgid "%s sniped themself somehow"
+msgstr "%s hat so scharf geschossen, dass er sich selbst getroffen hat"
-#~ msgid "%s shot themself automatically"
-#~ msgstr "%s hat sich vollautomatisch selbst erschossen"
+msgid "%s shot themself automatically"
+msgstr "%s hat sich vollautomatisch selbst erschossen"
-#~ msgid "%s exploded"
-#~ msgstr "%s ist explodiert"
+msgid "%s exploded"
+msgstr "%s ist explodiert"
-#~ msgid "%s hoped %s's missiles wouldn't bounce"
-#~ msgstr "%s hat gehofft, dass %ss Raketen nicht von Wänden abprallen"
+msgid "%s hoped %s's missiles wouldn't bounce"
+msgstr "%s hat gehofft, dass %ss Raketen nicht von Wänden abprallen"
-#~ msgid "%s detonated"
-#~ msgstr "%s verfing sich in der eigenen Detonation"
+msgid "%s detonated"
+msgstr "%s verfing sich in der eigenen Detonation"
-#~ msgid "%s tried out his own grenade"
-#~ msgstr "%s wollte wissen, ob seine Granate funktioniert"
+msgid "%s tried out his own grenade"
+msgstr "%s wollte wissen, ob seine Granate funktioniert"
-#~ msgid "Awaiting orders..."
-#~ msgstr "Warten auf Auftrag..."
+msgid "Awaiting orders..."
+msgstr "Warten auf Auftrag..."
-#~ msgid "You're commander!"
-#~ msgstr "Sie sind Befehlshaber!"
+msgid "You're commander!"
+msgstr "Sie sind Befehlshaber!"
-#~ msgid "3) Resign from command."
-#~ msgstr "3) Befehlsgewalt abgeben."
+msgid "3) Resign from command."
+msgstr "3) Befehlsgewalt abgeben."
-#~ msgid " 2) Defend"
-#~ msgstr " 2) Verteidigen"
+msgid " 2) Defend"
+msgstr " 2) Verteidigen"
-#~ msgid " 1) Attack"
-#~ msgstr " 1) Angreifen"
+msgid " 1) Attack"
+msgstr " 1) Angreifen"
-#~ msgid "Issue orders:"
-#~ msgstr "Auftrag geben:"
+msgid "Issue orders:"
+msgstr "Auftrag geben:"
-#~ msgid "----- Command Menu -----"
-#~ msgstr "---- Befehlsmenü -----"
+msgid "----- Command Menu -----"
+msgstr "---- Befehlsmenü -----"
-#~ msgid "Couldn't find player %d\n"
-#~ msgstr "Kann Spieler %d nicht finden\n"
+msgid "Couldn't find player %d\n"
+msgstr "Kann Spieler %d nicht finden\n"
-#~ msgid "ESC) Exit Menu"
-#~ msgstr "ESC) Menü verlassen"
+msgid "ESC) Exit Menu"
+msgstr "ESC) Menü verlassen"
-#~ msgid "2) ^3next page"
-#~ msgstr "2) ^3nächste Seite"
+msgid "2) ^3next page"
+msgstr "2) ^3nÃ\83¤chste Seite"
-#~ msgid "1) ^3previous page"
-#~ msgstr "1) ^3vorherige Seite"
+msgid "1) ^3previous page"
+msgstr "1) ^3vorherige Seite"
-#~ msgid "Order: %s"
-#~ msgstr "Auftrag: %s"
+msgid "Order: %s"
+msgstr "Auftrag: %s"
-#~ msgid "----- Order Menu -----"
-#~ msgstr "----- Auftragsmenü -----"
+msgid "----- Order Menu -----"
+msgstr "----- Auftragsmenü -----"
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2011-08-21 14:00+0200\n"
+"PO-Revision-Date: 2012-01-26 13:50+0100\n"
+"Last-Translator: Calinou <calinou9999@gmail.com>\n"
+"Language-Team: \n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
+msgstr "balles tués"
+
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
+msgstr "temps balle"
+
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
+msgstr "drapeaux"
+
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^deaths"
+msgstr "morts"
+
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^destroyed"
+msgstr "détruits"
+
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^drops"
+msgstr "lâchers"
+
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^faults"
+msgstr "fautes"
+
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^fckills"
+msgstr "drap. tués"
+
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^goals"
+msgstr "buts"
+
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^kckills"
+msgstr "clés tués"
+
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kdratio"
+msgstr "SCO^kdratio"
+
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^k/d"
+msgstr "SCO^tué/mort"
+
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^kd"
+msgstr "SCO^kd"
+
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kdr"
+msgstr "SCO^kdr"
+
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kills"
+msgstr "SCO^tués"
+
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^laps"
+msgstr "SCO^tours"
+
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^lives"
+msgstr "SCO^vies"
+
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^losses"
+msgstr "SCO^défaites"
+
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^name"
+msgstr "SCO^nom"
+
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^nick"
+msgstr "SCO^pseudonyme"
+
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^objectives"
+msgstr "SCO^objectifs"
+
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^pickups"
+msgstr "SCO^collectés"
+
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^ping"
+msgstr "SCO^latence"
+
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pl"
+msgstr "SCO^pl"
+
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^pushes"
+msgstr "SCO^poussés"
+
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^rank"
+msgstr "SCO^rang"
+
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^returns"
+msgstr "SCO^retournés"
+
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^revivals"
+msgstr "SCO^soignés"
+
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^score"
+msgstr "SCO^score"
+
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^suicides"
+msgstr "SCO^suicides"
+
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^takes"
+msgstr "SCO^prises"
+
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^ticks"
+msgstr "SCO^ticks"
+
+#: qcsrc/client/scoreboard.qc:239
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+msgstr ""
+"Vous pouvez modifier le tableau des scores en utilisant ^2scoreboard_columns_set ^7(dans la console).\n"
+
+#: qcsrc/client/scoreboard.qc:240
+msgid "^3|---------------------------------------------------------------|\n"
+msgstr "^3|---------------------------------------------------------------|\n"
+
+#: qcsrc/client/scoreboard.qc:241 qcsrc/client/Main.qc:369
+msgid "Usage:\n"
+msgstr "Utilisation:\n"
+
+#: qcsrc/client/scoreboard.qc:242
+msgid "^2scoreboard_columns_set default\n"
+msgstr "^2scoreboard_columns_set par défaut\n"
+
+#: qcsrc/client/scoreboard.qc:243
+msgid "^2scoreboard_columns_set ^7filed1 field2 ...\n"
+msgstr "^2scoreboard_columns_set ^7champ1 champ2 ...\n"
+
+#: qcsrc/client/scoreboard.qc:244
+msgid "The following field names are recognized (case insensitive):\n"
+msgstr "Les noms de champs suivants sont reconnus (non-sensible à la casse) :\n"
+
+#: qcsrc/client/scoreboard.qc:245
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
+msgstr ""
+"Vous pouvez insérer un ^3|^7 pour créer des champs alignés à droite.\n"
+"\n"
+
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3name^7 or ^3nick^7 Name of a player\n"
+msgstr "^3nom^7 ou ^3pseudonyme^7 Nom d'un joueur\n"
+
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3ping^7 Ping time\n"
+msgstr "^3latence^7 Temps de latence\n"
+
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3pl^7 Packet loss\n"
+msgstr "^3pl^7 Pertes de paquet\n"
+
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3kills^7 Number of kills\n"
+msgstr "^3tués^7 Nombre de tués\n"
+
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3deaths^7 Number of deaths\n"
+msgstr "^3morts^7 Nombre de morts\n"
+
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3suicides^7 Number of suicides\n"
+msgstr "^3suicides^7 Nombre de suicides\n"
+
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3frags^7 kills - suicides\n"
+msgstr "^3tués^7 tués - suicides\n"
+
+#: qcsrc/client/scoreboard.qc:254
+msgid "^3kd^7 The kill-death ratio\n"
+msgstr "^3kd^7 Ratio tué-mort\n"
+
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3caps^7 How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
+msgstr ""
+"^3drapeaux^7 Combien de fois un drapeau (Capture du Drapeau) ou une clé (Chasse aux Clés) a été "
+"capturé\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 ""
+"^3collectés^7 Nombre de fois qu'un drapeau (CTF), clé (Chasse aux clés) "
+"ou balle (Keepway) a été pris\n"
+
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7 Number of flag carrier kills\n"
+msgstr "^3fckills^7 Nombre de porteurs de drapeaux tués\n"
+
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7 Number of flag returns\n"
+msgstr "^3returns^7 Nombre de drapeaux retournés\n"
+
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7 Number of flag drops\n"
+msgstr "^3drops^7 Nombre de drapeaux lâchés\n"
+
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7 Number of lives (LMS)\n"
+msgstr "^3lives^7 Nombre de vies (LMS)\n"
+
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7 Player rank\n"
+msgstr "^3rank^7 Rang du joueur\n"
+
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7 Number of players pushed into void\n"
+msgstr "^3pushes^7 Nombre de joueurs poussés dans le vide\n"
+
+#: qcsrc/client/scoreboard.qc:263
+msgid ""
+"^3destroyed^7 Number of keys destroyed by pushing them into "
+"void\n"
+msgstr ""
+"^3détruits^7 Nombre de clés détruire en les poussant dans "
+"le vide\n"
+
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7 Number of keys carrier kills\n"
+msgstr "^3kckills^7 Nombre de porteurs de clés tués\n"
+
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7 Number of times a key was lost\n"
+msgstr "3pertes^7 Nombre de fois qu'une clé a été perdue\n"
+
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7 Number of laps finished (race/cts)\n"
+msgstr "^3tours^7 Nombre de tours finis (course/cts)\n"
+
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7 Total time raced (race/cts)\n"
+msgstr "^3temps^7 Temps total en course (course/cts)\n"
+
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7 Time of fastest lap (race/cts)\n"
+msgstr "^3fastest^7 Temps du tour le plus rapide (course/cts)\n"
+
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7 Number of ticks (DOM)\n"
+msgstr "^3tics^7 Nombre de tics (DOM)\n"
+
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7 Number of domination points taken (DOM)\n"
+msgstr "^3^7 Nombre de points de domination capturés (DOM)\n"
+
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7 Number of ball carrier kills\n"
+msgstr "^3bckills^7 Nombre de porteurs de balles tués\n"
+
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7 Total amount of time holding the ball in "
+"Keepaway\n"
+msgstr ""
+"^3bctime^7 Temps total en possession de la balle en "
+"Keepaway\n"
+
+#: qcsrc/client/scoreboard.qc:273
+msgid ""
+"^3score^7 Total score\n"
+"\n"
+msgstr ""
+"^3score^7 Score total\n"
+"\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 ""
+"Avant un champ vous pouvez mettre un signe + ou -, puis une liste séparée avec des virgules\n"
+"de modes de jeux, puis un slash, pour faire apparaître un champ seulement dans certains modes.\n"
+"Vous pouvez aussi spécifier 'all' comme un champ pour montrer tous les champs disponibles\n"
+"pour le mode de jeu en cours.\n"
+"\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 ""
+"Le type de jeu 'special' peut être utilisé pour\n"
+"inclure ou exclure TOUT les modes de jeux avec ou sans équipes.\n"
+"\n"
+
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+msgstr "Exemple: scoreboard_columns_set name ping pl | +cfg/field3 -dm/field4\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 ""
+"va afficher le nom, latence et pl alignés à gauche, et les champs\n"
+"à droite de la barre verticale alignée à droite.\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 ""
+"'field3' ne sera montré qu'en mode CTF, et 'field4' sera montré dans tous les modes sauf 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:475
+#, c-format
+msgid "fixed missing field '%s'\n"
+msgstr "champ manquant fixé '%s'\n"
+
+#: qcsrc/client/scoreboard.qc:515 qcsrc/client/scoreboard.qc:522
+msgid "N/A"
+msgstr "N/A"
+
+#: qcsrc/client/scoreboard.qc:950
+#, c-format
+msgid "Accuracy stats (average %d%%)"
+msgstr "Stats de précision (moyenne %d%%)"
+
+#: qcsrc/client/scoreboard.qc:1015
+#, c-format
+msgid "%d%%"
+msgstr "%d%%"
+
+#: qcsrc/client/scoreboard.qc:1075
+msgid "Rankings"
+msgstr "Classements"
+
+#: qcsrc/client/scoreboard.qc:1170
+msgid "Scoreboard"
+msgstr "Tableau des scores"
+
+#: qcsrc/client/scoreboard.qc:1215
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
+msgstr "Le plus rapide: %d ^7(%s^7)"
+
+#: qcsrc/client/scoreboard.qc:1219
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
+msgstr "Record de vitesse: %d ^7(%s^7)"
+
+#: qcsrc/client/scoreboard.qc:1246 qcsrc/client/teamplay.qc:63
+msgid "Spectators"
+msgstr "Spectateurs"
+
+#: qcsrc/client/scoreboard.qc:1252
+#, c-format
+msgid "playing on ^2%s^7"
+msgstr "en train de jouer sur ^2%s^7"
+
+#: qcsrc/client/scoreboard.qc:1259 qcsrc/client/scoreboard.qc:1264
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
+msgstr " pour jusqu'à ^1%1.0f minutes^7"
+
+#: qcsrc/client/scoreboard.qc:1268 qcsrc/client/scoreboard.qc:1287
+msgid " or"
+msgstr " ou"
+
+#: qcsrc/client/scoreboard.qc:1271 qcsrc/client/scoreboard.qc:1278
+#, c-format
+msgid " until ^3%s %s^7"
+msgstr " jusqu'à ^3%s %s^7"
+
+#: qcsrc/client/scoreboard.qc:1272 qcsrc/client/scoreboard.qc:1279
+#: qcsrc/client/scoreboard.qc:1291 qcsrc/client/scoreboard.qc:1298
+msgid "SCO^points"
+msgstr "SCO^points"
+
+#: qcsrc/client/scoreboard.qc:1273 qcsrc/client/scoreboard.qc:1280
+#: qcsrc/client/scoreboard.qc:1292 qcsrc/client/scoreboard.qc:1299
+msgid "SCO^is beaten"
+msgstr "SCO^est battu"
+
+#: qcsrc/client/scoreboard.qc:1290 qcsrc/client/scoreboard.qc:1297
+#, c-format
+msgid " until a lead of ^3%s %s^7"
+msgstr " jusqu'à qu'il y ait un écart de ^3%s %s^7 points"
+
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Push"
+msgstr "Pousser"
+
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Destroy"
+msgstr "Détruire"
+
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Defend"
+msgstr "Défendre"
+
+#: qcsrc/client/waypointsprites.qc:257
+msgid "Blue base"
+msgstr "Base bleue"
+
+#: qcsrc/client/waypointsprites.qc:258
+msgid "DANGER"
+msgstr "DANGER"
+
+#: qcsrc/client/waypointsprites.qc:259
+msgid "Flag carrier"
+msgstr "Porteur du drapeau"
+
+#: qcsrc/client/waypointsprites.qc:260
+msgid "Dropped flag"
+msgstr "Drapeau lâché"
+
+#: qcsrc/client/waypointsprites.qc:261
+msgid "Help me!"
+msgstr "Aidez-moi !"
+
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Here"
+msgstr "Ici"
+
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Dropped key"
+msgstr "Clé lâchée"
+
+#: qcsrc/client/waypointsprites.qc:264 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267 qcsrc/client/waypointsprites.qc:268
+#: qcsrc/client/waypointsprites.qc:269
+msgid "Key carrier"
+msgstr "Porteur de clé"
+
+#: qcsrc/client/waypointsprites.qc:265
+msgid "Run here"
+msgstr "Courez ici"
+
+#: qcsrc/client/waypointsprites.qc:270
+msgid "Red base"
+msgstr "Base rouge"
+
+#: qcsrc/client/waypointsprites.qc:271
+msgid "Waypoint"
+msgstr "Destination"
+
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274
+msgid "Generator"
+msgstr "Générateur"
+
+#: qcsrc/client/waypointsprites.qc:275 qcsrc/client/waypointsprites.qc:276
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:278
+#: qcsrc/client/waypointsprites.qc:279 qcsrc/client/waypointsprites.qc:280
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+#: qcsrc/client/waypointsprites.qc:306 qcsrc/client/waypointsprites.qc:307
+#: qcsrc/client/waypointsprites.qc:308 qcsrc/client/waypointsprites.qc:309
+#: qcsrc/client/waypointsprites.qc:310
+msgid "Control point"
+msgstr "Point de contrôle"
+
+#: qcsrc/client/waypointsprites.qc:283
+msgid "Checkpoint"
+msgstr "Point de contrôle"
+
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/client/waypointsprites.qc:286
+msgid "Finish"
+msgstr "Arrivée"
+
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:286
+msgid "Start"
+msgstr "Départ"
+
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/client/waypointsprites.qc:288
+msgid "Ball"
+msgstr "Balle"
+
+#: qcsrc/client/waypointsprites.qc:289
+msgid "Ball carrier"
+msgstr "Porteur de balle"
+
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_laser.qc:2
+msgid "Laser"
+msgstr "Laser"
+
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_shotgun.qc:2
+msgid "Shotgun"
+msgstr "Fusil"
+
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_uzi.qc:2
+msgid "Machine Gun"
+msgstr "Mitraillette"
+
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_grenadelauncher.qc:2
+msgid "Mortar"
+msgstr "Lance-grenades"
+
+#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_electro.qc:2
+msgid "Electro"
+msgstr "Electro"
+
+#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_crylink.qc:2
+msgid "Crylink"
+msgstr "Crylink"
+
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_nex.qc:2
+msgid "Nex"
+msgstr "Nex"
+
+#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_hagar.qc:2
+msgid "Hagar"
+msgstr "Hagar"
+
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rocketlauncher.qc:2
+msgid "Rocket Launcher"
+msgstr "Lance-roquettes"
+
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_porto.qc:2
+msgid "Port-O-Launch"
+msgstr "Lance-O-Port"
+
+#: qcsrc/client/waypointsprites.qc:300
+msgid "Minstanex"
+msgstr "Minstanex"
+
+#: qcsrc/client/waypointsprites.qc:301
+msgid "Hook"
+msgstr "Grappin"
+
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/server/w_fireball.qc:2
+msgid "Fireball"
+msgstr "Boule de feu"
+
+#: qcsrc/client/waypointsprites.qc:303
+msgid "HLAC"
+msgstr "HLAC"
+
+#: qcsrc/client/waypointsprites.qc:304 qcsrc/server/w_rifle.qc:2
+msgid "Rifle"
+msgstr "Fusil sniper"
+
+#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_minelayer.qc:2
+msgid "Mine Layer"
+msgstr "Lance-mines"
+
+#: qcsrc/client/waypointsprites.qc:311
+msgid "Invisibility"
+msgstr "Invisibilité"
+
+#: qcsrc/client/waypointsprites.qc:312
+msgid "Extra life"
+msgstr "Vie supplémentaire"
+
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Speed"
+msgstr "Vitesse"
+
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Strength"
+msgstr "Force"
+
+#: qcsrc/client/waypointsprites.qc:315
+msgid "Shield"
+msgstr "Bouclier"
+
+#: qcsrc/client/waypointsprites.qc:316
+msgid "Fuel regen"
+msgstr "Régén. essence"
+
+#: qcsrc/client/waypointsprites.qc:317
+msgid "Jet Pack"
+msgstr "Jet Pack"
+
+#: qcsrc/client/waypointsprites.qc:318
+msgid "Frozen!"
+msgstr "Gelé!"
+
+#: qcsrc/client/waypointsprites.qc:319
+msgid "Tagged"
+msgstr "Verrouillé"
+
+#: qcsrc/client/waypointsprites.qc:320
+msgid "Vehicle"
+msgstr "Véhicule"
+
+#: qcsrc/client/waypointsprites.qc:590
+msgid "Spam"
+msgstr "Spam"
+
+#: qcsrc/client/waypointsprites.qc:594
+#, c-format
+msgid "%s needing help!"
+msgstr "%s a besoin d'aide !"
+
+#: qcsrc/client/hud_config.qc:136
+#, c-format
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+msgstr "^2Exporté avec succès en tant que %s ! (Note: C'est sauvegardé dans data/data/)\n"
+
+#: qcsrc/client/hud_config.qc:140
+#, c-format
+msgid "^1Couldn't write to %s\n"
+msgstr "^1Ne peut pas écrire vers %s\n"
+
+#: qcsrc/client/ctf.qc:35
+msgid "----- Order Menu -----"
+msgstr "----- Menu d'ordre -----"
+
+#: qcsrc/client/ctf.qc:36
+#, c-format
+msgid "Order: %s"
+msgstr "Ordre: %s"
+
+#: qcsrc/client/ctf.qc:37
+msgid "1) ^3previous page"
+msgstr "1) ^3page précédente"
+
+#: qcsrc/client/ctf.qc:38
+msgid "2) ^3next page"
+msgstr "2) ^3page suivante"
+
+#: qcsrc/client/ctf.qc:55 qcsrc/client/ctf.qc:161
+msgid "ESC) Exit Menu"
+msgstr "ESC) Quitter le menu"
+
+#: qcsrc/client/ctf.qc:126
+#, c-format
+msgid "Couldn't find player %d\n"
+msgstr "Ne peut pas trouver le joueur %d\n"
+
+#: qcsrc/client/ctf.qc:154
+msgid "----- Command Menu -----"
+msgstr "----- Menu de commandes -----"
+
+#: qcsrc/client/ctf.qc:155
+msgid "Issue orders:"
+msgstr "Donner des ordres:"
+
+#: qcsrc/client/ctf.qc:156
+msgid " 1) Attack"
+msgstr "1) Attaquer"
+
+#: qcsrc/client/ctf.qc:158
+msgid " 2) Defend"
+msgstr "2) Défendre"
+
+#: qcsrc/client/ctf.qc:160
+msgid "3) Resign from command."
+msgstr "3) Abandonner l'ordre"
+
+#: qcsrc/client/ctf.qc:212
+msgid "You're commander!"
+msgstr "Vous êtes le commandant !"
+
+#: qcsrc/client/ctf.qc:215
+msgid "Awaiting orders..."
+msgstr "En attente d'ordres..."
+
+#: qcsrc/client/Main.qc:30
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+msgstr "ERREUR - LE MENU EST VISIBLE MAIS NON DÉFIINI !"
+
+#: qcsrc/client/Main.qc:56
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
+msgstr ""
+"^3Votre version n'est pas à jour!\n"
+"^3Ce Serveur utilise une nouvelle version du QC VM. Veuillez mettre à jour !\n"
+
+#: qcsrc/client/Main.qc:66
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
+msgstr "^4Information sur la version de CSQC: ^1%s\n"
+
+#: qcsrc/client/Main.qc:237 qcsrc/client/Main.qc:253
+#, c-format
+msgid "trying to switch to unsupported team %d\n"
+msgstr "tentative de changement vers une équipe non supportée : %d\n"
+
+#: qcsrc/client/Main.qc:370
+msgid "hud_save configname (saves to hud_skinname_configname.cfg)\n"
+msgstr "hud_save configname (saves to hud_skinname_configname.cfg)\n"
+
+#: qcsrc/client/Main.qc:494
+msgid "Usage: cl_cmd COMMAND..., where possible commands are:\n"
+msgstr "Usage: cl_cmd COMMAND..., où les commandes possibles sont :\n"
+
+#: qcsrc/client/Main.qc:495
+msgid " settemp cvar value\n"
+msgstr " setteam cvar value\n"
+
+#: qcsrc/client/Main.qc:496
+msgid " scoreboard_columns_set ...\n"
+msgstr " scoreboard_columns_set ...\n"
+
+#: qcsrc/client/Main.qc:497
+msgid " scoreboard_columns_help\n"
+msgstr " scoreboard_columns_help\n"
+
+#: qcsrc/client/Main.qc:726
+#, c-format
+msgid "A CSQC entity changed its owner! (edict: %d, classname: %s)\n"
+msgstr "Une entité CSQC a changé de propriétaire ! (edict: %d, classname: %s)\n"
+
+#: qcsrc/client/Main.qc:964
+#, c-format
+msgid "A CSQC entity changed its type! (edict: %d, classname: %s)\n"
+msgstr "Une entité CSQC a changé de type ! (edict: %d, classname: %s)\n"
+
+#: qcsrc/client/Main.qc:1005
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+msgstr ""
+"Entité inconnue ! CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
+
+#: qcsrc/client/Main.qc:1461
+#, c-format
+msgid "%s (not bound)"
+msgstr "%s (non assigné)"
+
+#: qcsrc/client/Main.qc:1466 qcsrc/client/hud.qc:230
+#, c-format
+msgid "%s (%s)"
+msgstr "%s (%s)"
+
+#: qcsrc/client/mapvoting.qc:28
+msgid " (1 vote)"
+msgstr " (1 vote)"
+
+#: qcsrc/client/mapvoting.qc:30
+#, c-format
+msgid " (%d votes)"
+msgstr " (%d votes)"
+
+#: qcsrc/client/mapvoting.qc:113
+msgid "Don't care"
+msgstr "Ne pas voter"
+
+#: qcsrc/client/mapvoting.qc:194
+msgid "Vote for a map"
+msgstr "Votez pour une carte"
+
+#: qcsrc/client/mapvoting.qc:200
+#, c-format
+msgid "%d seconds left"
+msgstr "%d secondes restantes"
+
+#: qcsrc/client/mapvoting.qc:263
+msgid ""
+"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
+msgstr ""
+"mv_mapdownload: ^3Vous ne devez pas utiliser cette commande seule !\n"
+
+#: qcsrc/client/mapvoting.qc:273
+msgid "^1Error:^7 Couldn't find pak index.\n"
+msgstr "^1Erreur:^7 Ne peut pas trouver l'index du pak.\n"
+
+#: qcsrc/client/mapvoting.qc:282
+msgid "Requesting preview...\n"
+msgstr "Demande d'aperçu...\n"
+
+#: qcsrc/client/movetypes.qc:163
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr "Ne peut pas décoller une entité (edict: %d, classname: %s, origin: %s)\n"
+
+#: qcsrc/client/movetypes.qc:166
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr "Entité décollée avec succès (edict: %d, classname: %s, origin: %s)\n"
+
+#: qcsrc/client/miscfunctions.qc:23
+msgid "^1Begin!"
+msgstr "^1Commencez !"
+
+#: qcsrc/client/miscfunctions.qc:34
+#, c-format
+msgid "^1Game starts in %d seconds"
+msgstr "^1La partie commence dans %d secondes"
+
+#: qcsrc/client/miscfunctions.qc:113
+msgid "^1RED^7 flag"
+msgstr "^7drapeau ^1ROUGE^7"
+
+#: qcsrc/client/miscfunctions.qc:118
+msgid "^4BLUE^7 flag"
+msgstr "^7drapeau ^4BLEU^7"
+
+#: qcsrc/client/miscfunctions.qc:126
+#, c-format
+msgid "You picked up the %s!"
+msgstr "Vous avez pris le %s !"
+
+#: qcsrc/client/miscfunctions.qc:130
+#, c-format
+msgid "You got the %s!"
+msgstr "Vous avez le %s !"
+
+#: qcsrc/client/miscfunctions.qc:283
+msgid "Trying to remove a team which is not in the teamlist!"
+msgstr "Tentative de suppression d'une équipe qui n'est pas dans la liste d'équipes !"
+
+#: qcsrc/client/teamplay.qc:64
+msgid "Red Team"
+msgstr "Équipe Rouge"
+
+#: qcsrc/client/teamplay.qc:65
+msgid "Blue Team"
+msgstr "Équipe Bleue"
+
+#: qcsrc/client/teamplay.qc:66
+msgid "Yellow Team"
+msgstr "Équipe Jaune"
+
+#: qcsrc/client/teamplay.qc:67
+msgid "Pink Team"
+msgstr "Équipe Rose"
+
+#: qcsrc/client/hud.qc:160
+msgid "1st"
+msgstr "1er"
+
+#: qcsrc/client/hud.qc:162
+msgid "2nd"
+msgstr "2ème"
+
+#: qcsrc/client/hud.qc:164
+msgid "3rd"
+msgstr "3ème"
+
+#: qcsrc/client/hud.qc:166
+#, c-format
+msgid "%dth"
+msgstr "%dème"
+
+#: qcsrc/client/hud.qc:198
+#, c-format
+msgid " (-%dL)"
+msgstr " (-%dL)"
+
+#: qcsrc/client/hud.qc:203
+#, c-format
+msgid " (+%dL)"
+msgstr " (+%dL)"
+
+#: qcsrc/client/hud.qc:219
+msgid "Start line"
+msgstr "Ligne de départ"
+
+#: qcsrc/client/hud.qc:221 qcsrc/client/hud.qc:225
+msgid "Finish line"
+msgstr "Ligne d'arrivée"
+
+#: qcsrc/client/hud.qc:223
+#, c-format
+msgid "Intermediate %d"
+msgstr "Intermédiaire %d"
+
+#: qcsrc/client/hud.qc:232
+#, c-format
+msgid "%s (%s %s)"
+msgstr "%s (%s %s)"
+
+#: qcsrc/client/hud.qc:735
+msgid "Out of ammo"
+msgstr "Plus de munitions"
+
+#: qcsrc/client/hud.qc:739
+msgid "Don't have"
+msgstr "Ne possède pas"
+
+#: qcsrc/client/hud.qc:743
+msgid "Unavailable"
+msgstr "Non disponible"
+
+#: qcsrc/client/hud.qc:1476
+#, c-format
+msgid "^1%s^1 couldn't take it anymore\n"
+msgstr "^1%s^1 n'en pouvait plus avec la vie\n"
+
+#: qcsrc/client/hud.qc:1480 qcsrc/client/hud.qc:1784
+#, c-format
+msgid "^1%s^1 died\n"
+msgstr "^1%s^1 est mort\n"
+
+#: qcsrc/client/hud.qc:1484
+#, c-format
+msgid "^7%s^7 committed suicide. What's the point of living without ammo?\n"
+msgstr "^7%s^7 s'est suicidé. Quel est l'intérêt de vivre sans munitions ?\n"
+
+#: qcsrc/client/hud.qc:1488
+#, c-format
+msgid "^1%s^1 thought they found a nice camping ground\n"
+msgstr "^1%s^1 a cru qu'il avait trouvé un bel endroit pour camper\n"
+
+#: qcsrc/client/hud.qc:1492
+#, c-format
+msgid "^1%s^1 didn't become friends with the Lord of Teamplay\n"
+msgstr "^1%s^1 n'est pas devenu ami avec le Lord of Teamplay\n"
+
+#: qcsrc/client/hud.qc:1496
+#, c-format
+msgid "^1%s^1 unfairly eliminated themself\n"
+msgstr "1%s^1 s'est auto-détruit\n"
+
+#: qcsrc/client/hud.qc:1500
+#, c-format
+msgid "^1%s^1 burned to death\n"
+msgstr "^1%s^1 a brûlé vif\n"
+
+#: qcsrc/client/hud.qc:1504
+#, c-format
+msgid "^1%s^1 couldn't resist the urge to self-destruct\n"
+msgstr "^1%s^1 n'a pas pu résister à l'envie de s'auto-détruire\n"
+
+#: qcsrc/client/hud.qc:1508
+#, c-format
+msgid "^1%s^1 ended it all after a %d kill spree\n"
+msgstr "^1%s^ en a fini après %d joueurs tués sans mourir\n"
+
+#: qcsrc/client/hud.qc:1525
+#, c-format
+msgid "^1%s^1 took action against a team mate\n"
+msgstr "^1%s^1 a tué un équipier\n"
+
+#: qcsrc/client/hud.qc:1527
+#, c-format
+msgid "^1%s^1 mows down a team mate\n"
+msgstr "^1%s^1 a tué un équipier\n"
+
+#: qcsrc/client/hud.qc:1532
+#, c-format
+msgid "^1%s^1 ended a %d scoring spree by going against a team mate\n"
+msgstr "^1^s^1 a fini une chaîne de %d scores en tuant un équipier\n"
+
+#: qcsrc/client/hud.qc:1534
+#, c-format
+msgid "^1%s^1 ended a %d kill spree by killing a team mate\n"
+msgstr "^1%s^1 a fini une chaîne de %d tués en tuant un équipier\n"
+
+#: qcsrc/client/hud.qc:1538
+#, c-format
+msgid "^1%s^1's %s scoring spree was ended by a team mate!\n"
+msgstr "La chaîne de %s scores de ^1%s^1 a été finie par un équipier !\n"
+
+#: qcsrc/client/hud.qc:1540
+#, c-format
+msgid "^1%s^1's %s kill spree was ended by a team mate!\n"
+msgstr "La chaîne de %s tués de ^1%s^1 a été finie par un équipier !\n"
+
+#: qcsrc/client/hud.qc:1544
+#, c-format
+msgid "^1%s^1 drew first blood\n"
+msgstr "^1%s^1 a inauguré le tableau des scores\n"
+
+#: qcsrc/client/hud.qc:1548
+#, c-format
+msgid "^1%s^1 tried to occupy %s^1's teleport destination space\n"
+msgstr "^1%s^1 a essayé de prendre la place de %s^1 en se téléportant\n"
+
+#: qcsrc/client/hud.qc:1550
+#, c-format
+msgid "^1%s^1 was telefragged by %s\n"
+msgstr "^1%s^1 a été téléfraggué par %s\n"
+
+#: qcsrc/client/hud.qc:1555
+#, c-format
+msgid "^1%s^1 was drowned by %s\n"
+msgstr "^1%s^1 a été noyé par %s\n"
+
+#: qcsrc/client/hud.qc:1560
+#, c-format
+msgid "^1%s^1 was slimed by %s\n"
+msgstr "^1%s^1 a été"
+
+#: qcsrc/client/hud.qc:1565
+#, c-format
+msgid "^1%s^1 was cooked by %s\n"
+msgstr "^1%s^1 a été cuit par %s\n"
+
+#: qcsrc/client/hud.qc:1570
+#, c-format
+msgid "^1%s^1 was grounded by %s\n"
+msgstr "^1%s^1 a été écrasé par %s\n"
+
+#: qcsrc/client/hud.qc:1575
+#, c-format
+msgid "^1%s^1 was shot into space by %s\n"
+msgstr "^1%s^1 a été fusilé vers l'espace par %s\n"
+
+#: qcsrc/client/hud.qc:1580
+#, c-format
+msgid "^1%s^1 was conserved by %s\n"
+msgstr "^1%s^1 a été mis en conserve par %s\n"
+
+#: qcsrc/client/hud.qc:1586
+#, c-format
+msgid "^1%s^1 was thrown into a world of hurt by %s\n"
+msgstr "^1%s^1 a été lancé vers un monde de souffrance par %s\n"
+
+#: qcsrc/client/hud.qc:1590
+#, c-format
+msgid "^1%s^1 was crushed by %s\n"
+msgstr "^1%s^1 a été aplati par %s\n"
+
+#: qcsrc/client/hud.qc:1594
+#, c-format
+msgid "^1%s^1 got shredded by %s\n"
+msgstr "^1%s^1 a été déchiqueté par %s\n"
+
+#: qcsrc/client/hud.qc:1598
+#, c-format
+msgid "^1%s^1 was blasted to bits by %s\n"
+msgstr "^1%s^1 a été"
+
+#: qcsrc/client/hud.qc:1602
+#, c-format
+msgid "^1%s^1 got caught in the destruction of %s^1's vehicle\n"
+msgstr "^1%s^1 a été tué dans la destruction du véhicule de %s\n"
+
+#: qcsrc/client/hud.qc:1606
+#, c-format
+msgid "^1%s^1 was bolted down by %s\n"
+msgstr "^1%s^1 a été éléctrocuté par %s\n"
+
+#: qcsrc/client/hud.qc:1610
+#, c-format
+msgid "^1%s^1 could find no shelter from %s^1's rockets\n"
+msgstr "^1%s^1"
+
+#: qcsrc/client/hud.qc:1614
+#, c-format
+msgid "^1%s^1 dies when %s^1's wakizashi dies.\n"
+msgstr "^1%s^1 meurt quand %s^1 meurt."
+
+#: qcsrc/client/hud.qc:1618
+#, c-format
+msgid "^1%s^1 nailed to hell by %s\n"
+msgstr "^1%s^1 a été cloué par %s\n"
+
+#: qcsrc/client/hud.qc:1622
+#, c-format
+msgid "^1%s^1 cluster crushed by %s\n"
+msgstr "^1%s^1 a été écrabouillé par %s\n"
+
+#: qcsrc/client/hud.qc:1626
+#, c-format
+msgid "^1%s^1 dies when %s^1's raptor dies.\n"
+msgstr "^1%s^1 meurt quand le raptor de %s^1 meurt."
+
+#: qcsrc/client/hud.qc:1630
+#, c-format
+msgid "^1%s^1 was pushed into the line of fire by %s\n"
+msgstr "^1%s^1 a été poussé vers du feu par %s\n"
+
+#: qcsrc/client/hud.qc:1634
+#, c-format
+msgid "^1%s^1 was pushed into an accident by %s\n"
+msgstr "^1%s^1 a été poussé vers la mort par %s\n"
+
+#: qcsrc/client/hud.qc:1638
+#, c-format
+msgid "^1%s^1 was unfairly eliminated by %s\n"
+msgstr "^1%s^1 a été éliminé par %s\n"
+
+#: qcsrc/client/hud.qc:1642
+#, c-format
+msgid "^1%s^1 was burnt to death by %s\n"
+msgstr "^1%s^1 a été brûlé à mort par %s\n"
+
+#: qcsrc/client/hud.qc:1654
+#, c-format
+msgid "^1%s^1 was fragged by %s\n"
+msgstr "^1%s^1 a été fraggué par %s\n"
+
+#: qcsrc/client/hud.qc:1659
+#, c-format
+msgid "^1%s^1's %s scoring spree was ended by %s\n"
+msgstr "La chaîne de tués de ^1%s^1 a été finie par %s\n"
+
+#: qcsrc/client/hud.qc:1661
+#, c-format
+msgid "^1%s^1's %s kill spree was ended by %s\n"
+msgstr "La chaîne de tués de ^1%s^1 a été finie par %s\n"
+
+#: qcsrc/client/hud.qc:1664
+#, c-format
+msgid "^1%s^1 made %s scores in a row\n"
+msgstr "^1%s^1 a tué %s personnes sans mourir"
+
+#: qcsrc/client/hud.qc:1666
+#, c-format
+msgid "^1%s^1 has %s frags in a row\n"
+msgstr "^1%s^1 a tué %s personnes sans mourir"
+
+#: qcsrc/client/hud.qc:1669
+#, c-format
+msgid "%s^7 made a ^1TRIPLE SCORE\n"
+msgstr "%s^7 a fait un ^1TRIPLE SCORE\n"
+
+#: qcsrc/client/hud.qc:1671
+#, c-format
+msgid "%s^7 made a ^1TRIPLE FRAG\n"
+msgstr "%s^7 a fait un ^1TRIPLE FRAG\n"
+
+#: qcsrc/client/hud.qc:1674
+#, c-format
+msgid "%s^7 unleashes ^1SCORING RAGE\n"
+msgstr "%s^7 est ENRAGÉ\n"
+
+#: qcsrc/client/hud.qc:1676
+#, c-format
+msgid "%s^7 unleashes ^1RAGE\n"
+msgstr "%s^7 est ENRAGÉ\n"
+
+#: qcsrc/client/hud.qc:1679
+#, c-format
+msgid "%s^7 made ^1TEN SCORES IN A ROW!\n"
+msgstr "%s^7 a fait ^1DIX SCORES D'AFFILÉE !"
+
+#: qcsrc/client/hud.qc:1681
+#, c-format
+msgid "%s^7 starts the ^1MASSACRE!\n"
+msgstr "%s^7 a commencé un ^1MASSACRE !\n"
+
+#: qcsrc/client/hud.qc:1684
+#, c-format
+msgid "%s^7 made ^1FIFTEEN SCORES IN A ROW!\n"
+msgstr "%s^7 a fait ^1QUINZE SCORES D'AFFILÉE !\n"
+
+#: qcsrc/client/hud.qc:1686
+#, c-format
+msgid "%s^7 executes ^1MAYHEM!\n"
+msgstr "%s^7 éxécutes un ^1MAYHEM !\n"
+
+#: qcsrc/client/hud.qc:1689
+#, c-format
+msgid "%s^7 made ^1TWENTY SCORES IN A ROW!\n"
+msgstr "%s^7 a fait ^1VINGT SCORES D'AFFILÉE !\n"
+
+#: qcsrc/client/hud.qc:1691
+#, c-format
+msgid "%s^7 is a ^1BERSERKER!\n"
+msgstr "%s^7 est un ^1BERSERKER !"
+
+#: qcsrc/client/hud.qc:1694
+#, c-format
+msgid "%s^7 made ^1TWENTY FIVE SCORES IN A ROW!\n"
+msgstr "%s^7 a fait ^1VINGT-CINQ SCORES D'AFFILÉE !\n"
+
+#: qcsrc/client/hud.qc:1696
+#, c-format
+msgid "%s^7 inflicts ^1CARNAGE!\n"
+msgstr "%s^7 a infligé un ^1CARNAGE !\n"
+
+#: qcsrc/client/hud.qc:1699
+#, c-format
+msgid "%s^7 made ^1THIRTY SCORES IN A ROW!\n"
+msgstr "%s^7 a fait ^1TRENTE SCORES D'AFFILÉE !\n"
+
+#: qcsrc/client/hud.qc:1701
+#, c-format
+msgid "%s^7 unleashes ^1ARMAGEDDON!\n"
+msgstr "%s^7 a fait un ^1ARMAGEDDON !\n"
+
+#: qcsrc/client/hud.qc:1709
+#, c-format
+msgid "^1%s^1 was in the water for too long\n"
+msgstr "^1%s^1 est resté dans l'eau trop longtemps\n"
+
+#: qcsrc/client/hud.qc:1711
+#, c-format
+msgid "^1%s^1 drowned\n"
+msgstr "^1%s^1 s'est noyé\n"
+
+#: qcsrc/client/hud.qc:1716
+#, c-format
+msgid "^1%s^1 was slimed\n"
+msgstr "^1%s^1 a été acidulé\n"
+
+#: qcsrc/client/hud.qc:1722
+#, c-format
+msgid "^1%s^1 found a hot place\n"
+msgstr "^1%s^1 a trouvé un endroit chaud\n"
+
+#: qcsrc/client/hud.qc:1724
+#, c-format
+msgid "^1%s^1 turned into hot slag\n"
+msgstr "^1%s^1 s'est transformé en merguez\n"
+
+#: qcsrc/client/hud.qc:1731
+#, c-format
+msgid "^1%s^1 tested gravity (and it worked)\n"
+msgstr "^1%s^1 a testé la gravité (et ça marche)\n"
+
+#: qcsrc/client/hud.qc:1733
+#, c-format
+msgid "^1%s^1 hit the ground with a crunch\n"
+msgstr "^1%s^1 s'est écrasé sur le sol\n"
+
+#: qcsrc/client/hud.qc:1738
+#, c-format
+msgid "^1%s^1 became a shooting star\n"
+msgstr "^1%s^1 est devenue une étoile filante\n"
+
+#: qcsrc/client/hud.qc:1744
+#, c-format
+msgid "^1%s^1 discovered a swamp\n"
+msgstr "^1%s^1 a découvert un marécage\n"
+
+#: qcsrc/client/hud.qc:1746
+#, c-format
+msgid "^1%s^1 is now conserved for centuries to come\n"
+msgstr "^1%s^1 est maintenant conservé pour les siècles à venir\n"
+
+#: qcsrc/client/hud.qc:1751
+#, c-format
+msgid "^1%s^1 was mowed down by a turret \n"
+msgstr "^1%s^1 a été tué par une tourelle\n"
+
+#: qcsrc/client/hud.qc:1763
+#, c-format
+msgid "^1%s^1 died in an accident\n"
+msgstr "^1%s^1 est mort dans un accident\n"
+
+#: qcsrc/client/hud.qc:1767
+#, c-format
+msgid "^1%s^1 was unfairly eliminated\n"
+msgstr "^1%s^1 a été éliminé\n"
+
+#: qcsrc/client/hud.qc:1773
+#, c-format
+msgid "^1%s^1 felt a little hot\n"
+msgstr "^1%s^1 avait un peu chaud\n"
+
+#: qcsrc/client/hud.qc:1775
+#, c-format
+msgid "^1%s^1 burnt to death\n"
+msgstr "^1%s^1 a été brûlé à mort\n"
+
+#: qcsrc/client/hud.qc:1782
+#, c-format
+msgid "^1%s^1 needs a restart\n"
+msgstr "^1%s^1 avait besoin d'un nouveau départ\n"
+
+#: qcsrc/client/hud.qc:1789
+#, c-format
+msgid "^1%s^1 needs a restart after a %d scoring spree\n"
+msgstr "^1%s^1 avait besoin d'un nouveau départ après une chaîne de scores de %d\n"
+
+#: qcsrc/client/hud.qc:1791
+#, c-format
+msgid "^1%s^1 died with a %d kill spree\n"
+msgstr "^1%s^1 est mort après avoir fait une chaîne de %d tués\n"
+
+#: qcsrc/client/hud.qc:1795
+#, c-format
+msgid "%s^7 got the %s\n"
+msgstr "%s^7 a pris le %s\n"
+
+#: qcsrc/client/hud.qc:1798
+#, c-format
+msgid "%s^7 lost the %s\n"
+msgstr "%S^7 a perdu le %s\n"
+
+#: qcsrc/client/hud.qc:1801
+#, c-format
+msgid "%s^7 picked up the %s\n"
+msgstr "%s^7 a collecté le %s\n"
+
+#: qcsrc/client/hud.qc:1804
+#, c-format
+msgid "%s^7 returned the %s\n"
+msgstr "%s^7 a retourné le %s\n"
+
+#: qcsrc/client/hud.qc:1807
+#, c-format
+msgid "%s^7 captured the %s%s\n"
+msgstr "%s^7 a capturé le %s%s\n"
+
+#: qcsrc/client/hud.qc:1826
+#, c-format
+msgid "%s^7 has picked up the ball!\n"
+msgstr "%s^7 a collecté la balle !\n"
+
+#: qcsrc/client/hud.qc:1831
+#, c-format
+msgid "%s^7 has dropped the ball!\n"
+msgstr "%s^7 a lâché la balle !\n"
+
+#: qcsrc/client/hud.qc:1842
+#, c-format
+msgid "You are now on: %s"
+msgstr "Vous êtes maintenant dans l'%s"
+
+#: qcsrc/client/hud.qc:1844
+#, c-format
+msgid ""
+"You have been moved into a different team to improve team balance\n"
+"You are now on: %s"
+msgstr ""
+"Vous avez été changé d'équipe pour améliorer l'équilibre des équipes\n"
+"Vous êtes maintenant dans l'%s"
+
+#: qcsrc/client/hud.qc:1847
+msgid "^1Reconsider your tactics, camper!"
+msgstr "^1Change de tactique, campeur !"
+
+#: qcsrc/client/hud.qc:1849
+msgid "^1Die camper!"
+msgstr "^1Meurs campeur !"
+
+#: qcsrc/client/hud.qc:1852
+msgid "^1You are reinserted into the game for running out of ammo..."
+msgstr "^1Vous avez été réinséré dans le jeu car vous n'aviez plus de munitions..."
+
+#: qcsrc/client/hud.qc:1854
+msgid "^1You were killed for running out of ammo..."
+msgstr "^1Vous avez été tué car vous n'aviez plus de munitions..."
+
+#: qcsrc/client/hud.qc:1857
+msgid "^1You need to preserve your health"
+msgstr "^1Vous aviez besoin de préserver votre santé"
+
+#: qcsrc/client/hud.qc:1859
+msgid "^1You grew too old without taking your medicine"
+msgstr "^1Vous êtes deven trop vieux et vous n'aviez pas pris vos médicaments"
+
+#: qcsrc/client/hud.qc:1862
+msgid "^1Don't go against team mates!"
+msgstr "^1Ne tirez pas sur vos équipiers !"
+
+#: qcsrc/client/hud.qc:1864
+msgid "^1Don't shoot your team mates!"
+msgstr "^1Ne tirez pas sur vos équipiers !"
+
+#: qcsrc/client/hud.qc:1869
+msgid "^1You need to be more careful!"
+msgstr "^1Vous devez être plus prudent !"
+
+#: qcsrc/client/hud.qc:1871
+msgid "^1You killed your own dumb self!"
+msgstr "^1Vous vous êtes suicidé !"
+
+#: qcsrc/client/hud.qc:1876
+#, c-format
+msgid "^1Moron! You went against ^7%s^1, a team mate!"
+msgstr "Idiot ! Vous avez tué ^7%s^1, un équipier!"
+
+#: qcsrc/client/hud.qc:1878
+#, c-format
+msgid "^1Moron! You fragged ^7%s^1, a team mate!"
+msgstr "^1Idiot ! Vous avez tué ^7%s^1, un équipier !"
+
+#: qcsrc/client/hud.qc:1882
+msgid "^1First score"
+msgstr "^1Premier score"
+
+#: qcsrc/client/hud.qc:1884
+msgid "^1First blood"
+msgstr "^1Premier tué"
+
+#: qcsrc/client/hud.qc:1888
+msgid "^1First casualty"
+msgstr "^1Première victime"
+
+#: qcsrc/client/hud.qc:1890
+msgid "^1First victim"
+msgstr "^1Première victime"
+
+#: qcsrc/client/hud.qc:1894
+#, c-format
+msgid "^1You scored against ^7%s^1 who was typing!"
+msgstr "^1Vous avez scoré ^7%s^1 qui était en train de taper !"
+
+#: qcsrc/client/hud.qc:1896
+#, c-format
+msgid "^1You typefragged ^7%s"
+msgstr "^1Vous avez typefraggué ^7%s"
+
+#: qcsrc/client/hud.qc:1900
+#, c-format
+msgid "^1You were scored against by ^7%s^1 while you were typing!"
+msgstr "^1Vous avez été scoré par ^7%s^1 pendant que vous tapiez!"
+
+#: qcsrc/client/hud.qc:1902
+#, c-format
+msgid "^1You were typefragged by ^7%s"
+msgstr "^1Vous avez été typefraggué par ^7%s"
+
+#: qcsrc/client/hud.qc:1906
+#, c-format
+msgid "^4You scored against ^7%s"
+msgstr "^4Vous avez scoré contre ^7%s"
+
+#: qcsrc/client/hud.qc:1908
+#, c-format
+msgid "^4You fragged ^7%s"
+msgstr "^4Vous avez fraggué ^7%s"
+
+#: qcsrc/client/hud.qc:1912
+#, c-format
+msgid "^1You were scored against by ^7%s"
+msgstr "^1Vous avez été scoré par ^7%s"
+
+#: qcsrc/client/hud.qc:1914
+#, c-format
+msgid "^1You were fragged by ^7%s"
+msgstr "^1Vous avez été fraggué pr ^7%s"
+
+#: qcsrc/client/hud.qc:1919
+msgid "^1Watch your step!"
+msgstr "^1Attention à la marche !"
+
+#: qcsrc/client/hud.qc:1988 qcsrc/client/hud.qc:1989 qcsrc/client/hud.qc:2474
+#, c-format
+msgid "Player %d"
+msgstr "Joueur %d"
+
+#: qcsrc/client/hud.qc:2779
+msgid "^1Intermediate 1 (+15.42)"
+msgstr "^1Intermédiaire 1 (+15.42)"
+
+#: qcsrc/client/hud.qc:2781 qcsrc/client/hud.qc:2823 qcsrc/client/hud.qc:2864
+#, c-format
+msgid "^1PENALTY: %.1f (%s)"
+msgstr "^1PÉNALITÉ: %.1f (%s)"
+
+#: qcsrc/client/hud.qc:2866
+#, c-format
+msgid "^2PENALTY: %.1f (%s)"
+msgstr "^2PÉLANITÉ %.1f (%s)"
+
+#: qcsrc/client/hud.qc:2894
+msgid "^1You must answer before entering hud configure mode\n"
+msgstr "^1Vous devez répondre avant d'entrer le mode de configuration de l'interface\n"
+
+#: qcsrc/client/hud.qc:2897
+msgid "^2Name ^7instead of \"^1Unregistered player^7\" in stats"
+msgstr "^2Votre pseudonyme ^7à la place de \"^1Unregistered player^7\" dans les statistiques"
+
+#: qcsrc/client/hud.qc:2979
+msgid "A vote has been called for:"
+msgstr "Un vote a été lancé pour :"
+
+#: qcsrc/client/hud.qc:2981
+msgid "Allow servers to store and display your name?"
+msgstr "Autoriser les serveurs à stocker et afficher votre pseudonyme ?"
+
+#: qcsrc/client/hud.qc:2985
+msgid "^1Configure the HUD"
+msgstr "^1Configurer l'interface"
+
+#: qcsrc/client/hud.qc:2989
+#, c-format
+msgid "Yes (%s): %d"
+msgstr "Oui (%s): %d"
+
+#: qcsrc/client/hud.qc:2991
+#, c-format
+msgid "No (%s): %d"
+msgstr "Non (%s): %d"
+
+#: qcsrc/client/hud.qc:3494 qcsrc/client/hud.qc:3497 qcsrc/client/hud.qc:3499
+msgid "Personal best"
+msgstr "Record personnel"
+
+#: qcsrc/client/hud.qc:3512 qcsrc/client/hud.qc:3515 qcsrc/client/hud.qc:3517
+msgid "Server best"
+msgstr "Record du serveur"
+
+#: qcsrc/client/hud.qc:3861
+msgid "^3Player^7: This is the chat area."
+msgstr "^3Joueur^7: Ceci est la zone du chat."
+
+#: qcsrc/client/hud.qc:3929
+#, c-format
+msgid "FPS: %.*f"
+msgstr "FPS: %.*f"
+
+#: qcsrc/client/hud.qc:3996
+msgid "^1Observing"
+msgstr "^1Observation"
+
+#: qcsrc/client/hud.qc:3998
+#, c-format
+msgid "^1Spectating: ^7%s"
+msgstr "^1En spectateur sur : ^7%s"
+
+#: qcsrc/client/hud.qc:4002
+#, c-format
+msgid "^1Press ^3%s^1 to spectate"
+msgstr "^1Appuyez sur ^3%s^1 pour être en spectateur sur un joueur"
+
+#: qcsrc/client/hud.qc:4004
+#, c-format
+msgid "^1Press ^3%s^1 for another player"
+msgstr "^1Appuyez sur ^3%s^1 pour un autre joueur"
+
+#: qcsrc/client/hud.qc:4008
+#, c-format
+msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
+msgstr "^1Utilisez ^3%s^1 ou ^3%s^1 pour changer la vitesse"
+
+#: qcsrc/client/hud.qc:4010
+#, c-format
+msgid "^1Press ^3%s^1 to observe"
+msgstr "^1Utiliez ^3ùs^1 pour observer"
+
+#: qcsrc/client/hud.qc:4013
+#, c-format
+msgid "^1Press ^3%s^1 for gamemode info"
+msgstr "^1Appuyez sur ^3%s^1 pour de l'information"
+
+#: qcsrc/client/hud.qc:4017
+msgid "^1Wait for your turn to join"
+msgstr "^1Attendez votre tour pour jouer"
+
+#: qcsrc/client/hud.qc:4023
+msgid "^1Match has already begun"
+msgstr "^1La partie a déjà commencé"
+
+#: qcsrc/client/hud.qc:4025
+msgid "^1You have no more lives left"
+msgstr "^1Vous n'avez plus de vies"
+
+#: qcsrc/client/hud.qc:4027 qcsrc/client/hud.qc:4030
+#, c-format
+msgid "^1Press ^3%s^1 to join"
+msgstr "^1Appuyez sur ^3%s^1 pour jouer"
+
+#: qcsrc/client/hud.qc:4038
+#, c-format
+msgid "^1Game starts in ^3%d^1 seconds"
+msgstr "^1La partie commence dans ^3%d^1 secondes"
+
+#: qcsrc/client/hud.qc:4045
+msgid "^2Currently in ^1warmup^2 stage!"
+msgstr "^2Actuellement en ^1mode échauffement^2 !"
+
+#: qcsrc/client/hud.qc:4060
+#, c-format
+msgid "%sPress ^3%s%s to end warmup"
+msgstr "%sAppuyez sur ^3%s%s pour finir l'échauffement"
+
+#: qcsrc/client/hud.qc:4062
+#, c-format
+msgid "%sPress ^3%s%s once you are ready"
+msgstr "%sAppuyez sur ^3%s%s quand vous êtes prêt"
+
+#: qcsrc/client/hud.qc:4067
+msgid "^2Waiting for others to ready up to end warmup..."
+msgstr "^2En attente des autres joueurs pour finir l'échauffement..."
+
+#: qcsrc/client/hud.qc:4069
+msgid "^2Waiting for others to ready up..."
+msgstr "^2En attente des autres joueurs pour être prêt..."
+
+#: qcsrc/client/hud.qc:4075
+#, c-format
+msgid "^2Press ^3%s^2 to end warmup"
+msgstr "^2Appuyez sur ^3%s^2 pour finir l'échauffement"
+
+#: qcsrc/client/hud.qc:4096
+msgid "Teamnumbers are unbalanced!"
+msgstr "Les équipes ne sont pas équilibrées !"
+
+#: qcsrc/client/hud.qc:4101
+#, c-format
+msgid " Press ^3%s%s to adjust"
+msgstr " Appuyez sur ^3%s%s pour ajuster"
+
+#: qcsrc/client/hud.qc:4109
+msgid "^7Press ^3ESC ^7to show HUD options."
+msgstr "^7Appuyez sur ^3ESC ^7pour afficher les options de l'interface."
+
+#: qcsrc/client/hud.qc:4111
+msgid "^3Doubleclick ^7a panel for panel-specific options."
+msgstr "^3Double-cliquez ^7un panneau pour des options."
+
+#: qcsrc/client/hud.qc:4113
+msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
+msgstr "^3Contrôle ^7pour désactiver le test de collision, ^3Majuscule ^7 et"
+
+#: qcsrc/client/hud.qc:4115
+msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
+msgstr "^3Alt ^7+ ^3Flèches ^7 pour des ajustements précis."
+
+#: qcsrc/client/hud.qc:4153
+msgid " qu/s"
+msgstr " qu/s"
+
+#: qcsrc/client/hud.qc:4157
+msgid " m/s"
+msgstr " m/s"
+
+#: qcsrc/client/hud.qc:4161
+msgid " km/h"
+msgstr " km/h"
+
+#: qcsrc/client/hud.qc:4165
+msgid " mph"
+msgstr " mph"
+
+#: qcsrc/client/hud.qc:4169
+msgid " knots"
+msgstr " nœuds"
+
+#: qcsrc/client/hud.qc:4814
+msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
+msgstr "Nombres des panneaux faux/manquants fixés dans _hud_panelorder\n"
+
+#: qcsrc/client/target_music.qc:93 qcsrc/client/target_music.qc:181
+#, c-format
+msgid "Cannot initialize sound %s\n"
+msgstr "Ne peut initialiser le son %s\n"
+
+#: qcsrc/server/w_rifle.qc:233
+#, c-format
+msgid "%s shot themself automatically"
+msgstr "%s s'est tiré sur lui-même"
+
+#: qcsrc/server/w_rifle.qc:235
+#, c-format
+msgid "%s sniped themself somehow"
+msgstr "%s s'est tiré une balle dans la tête"
+
+#: qcsrc/server/w_rifle.qc:242
+#, c-format
+msgid "%s failed to hide from %s's bullet hail"
+msgstr "%s n'a pas pu se cacher de la chaîne de balles de %s"
+
+#: qcsrc/server/w_rifle.qc:244
+#, c-format
+msgid "%s died in %s's bullet hail"
+msgstr "%s est mort dans la chaîne de balles de %s"
+
+#: qcsrc/server/w_rifle.qc:251
+#, c-format
+msgid "%s failed to hide from %s's rifle"
+msgstr "%s n'a pas réussi à se cacher du fusil sniper de %s"
+
+#: qcsrc/server/w_rifle.qc:256
+#, c-format
+msgid "%s got hit in the head by %s"
+msgstr "%s a été tiré dans la tête par %s"
+
+#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321
+#, c-format
+msgid "%s was sniped by %s"
+msgstr "%s a été snipé par %s"
+
+#: qcsrc/server/w_uzi.qc:317 qcsrc/server/w_shotgun.qc:215
+#: qcsrc/server/w_minstanex.qc:293 qcsrc/server/w_nex.qc:253
+#, c-format
+msgid "%s is now thinking with portals"
+msgstr "%s pense maintenant avec les portails"
+
+#: qcsrc/server/w_uzi.qc:323
+#, c-format
+msgid "%s was riddled full of holes by %s"
+msgstr "%s a été cribblé de balles par %s"
+
+#: qcsrc/server/w_rocketlauncher.qc:501 qcsrc/server/w_minelayer.qc:523
+#, c-format
+msgid "%s exploded"
+msgstr "%s a explosé"
+
+#: qcsrc/server/w_rocketlauncher.qc:505
+#, c-format
+msgid "%s got too close to %s's rocket"
+msgstr "%s s'est trop approché de la roquette de %s"
+
+#: qcsrc/server/w_rocketlauncher.qc:507
+#, c-format
+msgid "%s almost dodged %s's rocket"
+msgstr "%s a presque évité la roquette de %s"
+
+#: qcsrc/server/w_rocketlauncher.qc:509
+#, c-format
+msgid "%s ate %s's rocket"
+msgstr "%s a mangé la roquette de %s"
+
+#: qcsrc/server/w_porto.qc:296 qcsrc/server/w_hook.qc:266
+#, c-format
+msgid "%s did the impossible"
+msgstr "%s a fait l'impossible"
+
+#: qcsrc/server/w_porto.qc:298
+#, c-format
+msgid "%s felt %s doing the impossible to him"
+msgstr "%s a senti %s faire l'impossible"
+
+#: qcsrc/server/w_hook.qc:2
+msgid "Grappling Hook"
+msgstr "Grappin"
+
+#: qcsrc/server/w_hook.qc:268
+#, c-format
+msgid "%s has run into %s's gravity bomb"
+msgstr "%s s'est jeté sur la bombe à gravité de %s"
+
+#: qcsrc/server/w_electro.qc:574
+#, c-format
+msgid "%s could not remember where they put plasma"
+msgstr "%s n'a pas pu se souvenir où il a mis du plasma"
+
+#: qcsrc/server/w_electro.qc:576
+#, c-format
+msgid "%s played with plasma"
+msgstr "%s a joué avec du plasma"
+
+#: qcsrc/server/w_electro.qc:583
+#, c-format
+msgid "%s just noticed %s's blue ball"
+msgstr "%s vient juste de remarquer la boule bleue de %s"
+
+#: qcsrc/server/w_electro.qc:585
+#, c-format
+msgid "%s got in touch with %s's blue ball"
+msgstr "%s a pu toucher la boule bleue de %s"
+
+#: qcsrc/server/w_electro.qc:590
+#, c-format
+msgid "%s felt the electrifying air of %s's combo"
+msgstr "%s a ressenti l'air éléctrique du combo de %s"
+
+#: qcsrc/server/w_electro.qc:592
+#, c-format
+msgid "%s got too close to %s's blue beam"
+msgstr "%s s'est trop rapproché du laser bleu de %s"
+
+#: qcsrc/server/w_electro.qc:594
+#, c-format
+msgid "%s was blasted by %s's blue beam"
+msgstr "%s a été pulvérise par le laser bleu de %s"
+
+#: 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:315
+#, c-format
+msgid "%s was cut in half by %s's gauntlet"
+msgstr "%s a été coupé en deux par la tronçonneuse de %s"
+
+#: qcsrc/server/w_laser.qc:317
+#, c-format
+msgid "%s was lasered to death by %s"
+msgstr "%s a été tué au laser au %s"
+
+#: qcsrc/server/w_shotgun.qc:219
+#, c-format
+msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun"
+msgstr "%2$s ^7a baffé %1$s ^7avec un gros ^2fusil"
+
+#: qcsrc/server/w_shotgun.qc:221
+#, c-format
+msgid "%s was gunned by %s"
+msgstr "%s a été fusillé par %s"
+
+#: qcsrc/server/w_tuba.qc:2
+#, c-format
+msgid "@!#%'n Tuba"
+msgstr "@!#%'n Tuba"
+
+#: qcsrc/server/w_tuba.qc:252
+#, c-format
+msgid "%s hurt his own ears with the @!#%%'n Tuba"
+msgstr "%s est devenu sourd à cause de son @!#%%'n Tuba"
+
+#: qcsrc/server/w_tuba.qc:256
+#, c-format
+msgid "%s died of %s's great playing on the @!#%%'n Tuba"
+msgstr "%s est devenu sourd à cause du @!#%%'n Tuba de %s"
+
+#: qcsrc/server/w_minstanex.qc:2
+msgid "MinstaNex"
+msgstr "MinstaNex"
+
+#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:255
+#, c-format
+msgid "%s has been vaporized by %s"
+msgstr "%s a été vaporisé par %s"
+
+#: qcsrc/server/w_crylink.qc:664
+#, c-format
+msgid "%s succeeded at self-destructing themself with the Crylink"
+msgstr "%s a réussi à se suicider au Crylink"
+
+#: qcsrc/server/w_crylink.qc:669
+#, c-format
+msgid "%s could not hide from %s's Crylink"
+msgstr "%s n'a pas pu se cacher du Crylink de %s"
+
+#: qcsrc/server/w_crylink.qc:671
+#, c-format
+msgid "%s was too close to %s's Crylink"
+msgstr "%s s'est trop rapproché du Crylink de %s"
+
+#: qcsrc/server/w_crylink.qc:673
+#, c-format
+msgid "%s took a close look at %s's Crylink"
+msgstr "%s a regardé le Crylink de %s de trop près"
+
+#: qcsrc/server/w_hlac.qc:2
+msgid "Heavy Laser Assault Cannon"
+msgstr "Cannon Laser d'Assault Lourd"
+
+#: qcsrc/server/w_hlac.qc:240 qcsrc/server/w_fireball.qc:419
+#, c-format
+msgid "%s should have used a smaller gun"
+msgstr "%s aurait dû utiliser une arme plus petite"
+
+#: qcsrc/server/w_hlac.qc:242
+#, c-format
+msgid "%s was cut down by %s"
+msgstr "%s a été coupé par %s"
+
+#: qcsrc/server/w_grenadelauncher.qc:383
+#, c-format
+msgid "%s tried out his own grenade"
+msgstr "%s a testé sa propre grenade"
+
+#: qcsrc/server/w_grenadelauncher.qc:385
+#, c-format
+msgid "%s detonated"
+msgstr "%s s'est détoné"
+
+#: qcsrc/server/w_grenadelauncher.qc:391
+#, c-format
+msgid "%s didn't see %s's grenade"
+msgstr "%s n'a pas vu la grenade de %s"
+
+#: qcsrc/server/w_grenadelauncher.qc:393
+#, c-format
+msgid "%s almost dodged %s's grenade"
+msgstr "%s a presque évité la grenade de %s"
+
+#: qcsrc/server/w_grenadelauncher.qc:395
+#, c-format
+msgid "%s ate %s's grenade"
+msgstr "%s a mangé la grenade de %s"
+
+#: qcsrc/server/w_hagar.qc:382 qcsrc/server/w_seeker.qc:655
+#, c-format
+msgid "%s played with tiny rockets"
+msgstr "%s a joué avec des mini-roquettes"
+
+#: qcsrc/server/w_hagar.qc:386
+#, c-format
+msgid "%s hoped %s's missiles wouldn't bounce"
+msgstr "%s avait espéré que les missiles de %s ne rebondissaient pas"
+
+#: qcsrc/server/w_hagar.qc:388 qcsrc/server/w_seeker.qc:661
+#, c-format
+msgid "%s was pummeled by %s"
+msgstr "%s a été pommelé par %s"
+
+#: qcsrc/server/w_seeker.qc:2
+msgid "T.A.G. Seeker"
+msgstr "T.A.G. Chercheur"
+
+#: qcsrc/server/w_seeker.qc:659
+#, c-format
+msgid "%s was tagged by %s"
+msgstr "%s a été tagué par %s"
+
+#: qcsrc/server/w_fireball.qc:417
+#, c-format
+msgid "%s forgot about some firemine"
+msgstr "%s est devenu une torche vivante pendant quelques secondes"
+
+#: qcsrc/server/w_fireball.qc:426
+#, c-format
+msgid "%s tried to catch %s's firemine"
+msgstr "%s a essayé d'attraper la mine de feu de %s"
+
+#: qcsrc/server/w_fireball.qc:428
+#, c-format
+msgid "%s fatefully ignored %s's firemine"
+msgstr "%s a ignoré la mine de feu de %s"
+
+#: qcsrc/server/w_fireball.qc:435
+#, c-format
+msgid "%s could not hide from %s's fireball"
+msgstr "%s n'a pas pu se cacher de la boule de feu de %s"
+
+#: qcsrc/server/w_fireball.qc:437
+#, c-format
+msgid "%s saw the pretty lights of %s's fireball"
+msgstr "%s a vu la belle lumière de la boule de feu de %s"
+
+#: qcsrc/server/w_fireball.qc:440
+#, c-format
+msgid "%s got too close to %s's fireball"
+msgstr "%s a regardé la boule de feu de %s de trop près"
+
+#: qcsrc/server/w_fireball.qc:442
+#, c-format
+msgid "%s tasted %s's fireball"
+msgstr "%s a goûté la boule de feu de %s"
+
+#: qcsrc/server/w_minelayer.qc:527
+#, c-format
+msgid "%s got too close to %s's mine"
+msgstr "%s s'est trop rapproché de la mine de %s"
+
+#: qcsrc/server/w_minelayer.qc:529
+#, c-format
+msgid "%s almost dodged %s's mine"
+msgstr "%s a presque évité la mine de %s"
+
+#: qcsrc/server/w_minelayer.qc:531
+#, c-format
+msgid "%s stepped on %s's mine"
+msgstr "%s a marché sur la mine de %s"
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-25 22:57+0100\n"
+"POT-Creation-Date: 2012-01-26 12:24+0100\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"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: qcsrc/client/target_music.qc:93 qcsrc/client/target_music.qc:181
-#, c-format
-msgid "Cannot initialize sound %s\n"
-msgstr ""
-
-#: qcsrc/client/hud_config.qc:185
-#, c-format
-msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
+#: qcsrc/client/scoreboard.qc:19
+msgid "SCO^bckills"
msgstr ""
-#: qcsrc/client/hud_config.qc:189
-#, c-format
-msgid "^1Couldn't write to %s\n"
+#: qcsrc/client/scoreboard.qc:20
+msgid "SCO^bctime"
msgstr ""
-#: qcsrc/client/miscfunctions.qc:100
-msgid "Trying to remove a team which is not in the teamlist!"
+#: qcsrc/client/scoreboard.qc:21
+msgid "SCO^caps"
msgstr ""
-#: qcsrc/client/csqcmodel_hooks.qc:17
-#, c-format
-msgid "Trying to use non existing model %s. "
+#: qcsrc/client/scoreboard.qc:22
+msgid "SCO^deaths"
msgstr ""
-#: qcsrc/client/csqcmodel_hooks.qc:19
-#, c-format
-msgid "Reverted to %s.\n"
+#: qcsrc/client/scoreboard.qc:23
+msgid "SCO^destroyed"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:254
-msgid "Push"
+#: qcsrc/client/scoreboard.qc:24
+msgid "SCO^drops"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:255
-msgid "Destroy"
+#: qcsrc/client/scoreboard.qc:25
+msgid "SCO^faults"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:256
-msgid "Defend"
+#: qcsrc/client/scoreboard.qc:26
+msgid "SCO^fckills"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:257
-msgid "Blue base"
+#: qcsrc/client/scoreboard.qc:27
+msgid "SCO^goals"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:258
-msgid "DANGER"
+#: qcsrc/client/scoreboard.qc:28
+msgid "SCO^kckills"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:259
-msgid "Flag carrier"
+#: qcsrc/client/scoreboard.qc:29
+msgid "SCO^kdratio"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:260
-msgid "Dropped flag"
+#: qcsrc/client/scoreboard.qc:30
+msgid "SCO^k/d"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:261
-msgid "Help me!"
+#: qcsrc/client/scoreboard.qc:31
+msgid "SCO^kd"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:262
-msgid "Here"
+#: qcsrc/client/scoreboard.qc:32
+msgid "SCO^kdr"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:263
-msgid "Dropped key"
+#: qcsrc/client/scoreboard.qc:33
+msgid "SCO^kills"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:264 qcsrc/client/waypointsprites.qc:266
-#: qcsrc/client/waypointsprites.qc:267 qcsrc/client/waypointsprites.qc:268
-#: qcsrc/client/waypointsprites.qc:269
-msgid "Key carrier"
+#: qcsrc/client/scoreboard.qc:34
+msgid "SCO^laps"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:265
-msgid "Run here"
+#: qcsrc/client/scoreboard.qc:35
+msgid "SCO^lives"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:270
-msgid "Red base"
+#: qcsrc/client/scoreboard.qc:36
+msgid "SCO^losses"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:271
-msgid "Waypoint"
+#: qcsrc/client/scoreboard.qc:37
+msgid "SCO^name"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
-#: qcsrc/client/waypointsprites.qc:274
-msgid "Generator"
+#: qcsrc/client/scoreboard.qc:38
+msgid "SCO^nick"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:275 qcsrc/client/waypointsprites.qc:276
-#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:278
-#: qcsrc/client/waypointsprites.qc:279 qcsrc/client/waypointsprites.qc:280
-#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
-#: qcsrc/client/waypointsprites.qc:306 qcsrc/client/waypointsprites.qc:307
-#: qcsrc/client/waypointsprites.qc:308 qcsrc/client/waypointsprites.qc:309
-#: qcsrc/client/waypointsprites.qc:310
-msgid "Control point"
+#: qcsrc/client/scoreboard.qc:39
+msgid "SCO^objectives"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:283
-msgid "Checkpoint"
+#: qcsrc/client/scoreboard.qc:40
+msgid "SCO^pickups"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:284 qcsrc/client/waypointsprites.qc:286
-msgid "Finish"
+#: qcsrc/client/scoreboard.qc:41
+msgid "SCO^ping"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:286
-msgid "Start"
+#: qcsrc/client/scoreboard.qc:42
+msgid "SCO^pl"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:287 qcsrc/client/waypointsprites.qc:288
-msgid "Ball"
+#: qcsrc/client/scoreboard.qc:43
+msgid "SCO^pushes"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:289
-msgid "Ball carrier"
+#: qcsrc/client/scoreboard.qc:44
+msgid "SCO^rank"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_laser.qc:2
-msgid "Laser"
+#: qcsrc/client/scoreboard.qc:45
+msgid "SCO^returns"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_shotgun.qc:2
-msgid "Shotgun"
+#: qcsrc/client/scoreboard.qc:46
+msgid "SCO^revivals"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_uzi.qc:2
-msgid "Machine Gun"
+#: qcsrc/client/scoreboard.qc:47
+msgid "SCO^score"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_grenadelauncher.qc:2
-msgid "Mortar"
+#: qcsrc/client/scoreboard.qc:48
+msgid "SCO^suicides"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_electro.qc:2
-msgid "Electro"
+#: qcsrc/client/scoreboard.qc:49
+msgid "SCO^takes"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_crylink.qc:2
-msgid "Crylink"
+#: qcsrc/client/scoreboard.qc:50
+msgid "SCO^ticks"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_nex.qc:2
-msgid "Nex"
+#: qcsrc/client/scoreboard.qc:239
+msgid ""
+"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_hagar.qc:2
-msgid "Hagar"
+#: qcsrc/client/scoreboard.qc:240
+msgid "^3|---------------------------------------------------------------|\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rocketlauncher.qc:2
-msgid "Rocket Launcher"
+#: qcsrc/client/scoreboard.qc:241
+msgid "Usage:\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_porto.qc:2
-msgid "Port-O-Launch"
+#: qcsrc/client/scoreboard.qc:242
+msgid "^2scoreboard_columns_set default\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:300
-msgid "Minstanex"
+#: qcsrc/client/scoreboard.qc:243
+msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:301
-msgid "Hook"
+#: qcsrc/client/scoreboard.qc:244
+msgid "The following field names are recognized (case insensitive):\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:302 qcsrc/server/w_fireball.qc:2
-msgid "Fireball"
+#: qcsrc/client/scoreboard.qc:245
+msgid ""
+"You can use a ^3|^7 to start the right-aligned fields.\n"
+"\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:303
-msgid "HLAC"
+#: qcsrc/client/scoreboard.qc:247
+msgid "^3name^7 or ^3nick^7 Name of a player\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:304 qcsrc/server/w_rifle.qc:2
-msgid "Rifle"
+#: qcsrc/client/scoreboard.qc:248
+msgid "^3ping^7 Ping time\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_minelayer.qc:2
-msgid "Mine Layer"
+#: qcsrc/client/scoreboard.qc:249
+msgid "^3pl^7 Packet loss\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:311
-msgid "Invisibility"
+#: qcsrc/client/scoreboard.qc:250
+msgid "^3kills^7 Number of kills\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:312
-msgid "Extra life"
+#: qcsrc/client/scoreboard.qc:251
+msgid "^3deaths^7 Number of deaths\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:313
-msgid "Speed"
+#: qcsrc/client/scoreboard.qc:252
+msgid "^3suicides^7 Number of suicides\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:314
-msgid "Strength"
+#: qcsrc/client/scoreboard.qc:253
+msgid "^3frags^7 kills - suicides\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:315
-msgid "Shield"
+#: qcsrc/client/scoreboard.qc:254
+msgid "^3kd^7 The kill-death ratio\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:316
-msgid "Fuel regen"
+#: qcsrc/client/scoreboard.qc:255
+msgid ""
+"^3caps^7 How often a flag (CTF) or a key (KeyHunt) was "
+"captured\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:317
-msgid "Jet Pack"
+#: 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/waypointsprites.qc:318
-msgid "Frozen!"
+#: qcsrc/client/scoreboard.qc:257
+msgid "^3fckills^7 Number of flag carrier kills\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:319
-msgid "Tagged"
+#: qcsrc/client/scoreboard.qc:258
+msgid "^3returns^7 Number of flag returns\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:320
-msgid "Vehicle"
+#: qcsrc/client/scoreboard.qc:259
+msgid "^3drops^7 Number of flag drops\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:590 qcsrc/client/tturrets.qc:285
-msgid "Spam"
+#: qcsrc/client/scoreboard.qc:260
+msgid "^3lives^7 Number of lives (LMS)\n"
msgstr ""
-#: qcsrc/client/waypointsprites.qc:594
-#, c-format
-msgid "%s needing help!"
+#: qcsrc/client/scoreboard.qc:261
+msgid "^3rank^7 Player rank\n"
msgstr ""
-#: qcsrc/client/Main.qc:30
-msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
+#: qcsrc/client/scoreboard.qc:262
+msgid "^3pushes^7 Number of players pushed into void\n"
msgstr ""
-#: qcsrc/client/Main.qc:104
+#: qcsrc/client/scoreboard.qc:263
msgid ""
-"^3Your engine build is outdated\n"
-"^3This Server uses a newer QC VM. Please update!\n"
+"^3destroyed^7 Number of keys destroyed by pushing them into "
+"void\n"
msgstr ""
-#: qcsrc/client/Main.qc:114
-#, c-format
-msgid "^4CSQC Build information: ^1%s\n"
+#: qcsrc/client/scoreboard.qc:264
+msgid "^3kckills^7 Number of keys carrier kills\n"
msgstr ""
-#: qcsrc/client/Main.qc:293 qcsrc/client/Main.qc:309
-#, c-format
-msgid "trying to switch to unsupported team %d\n"
+#: qcsrc/client/scoreboard.qc:265
+msgid "^3losses^7 Number of times a key was lost\n"
msgstr ""
-#: qcsrc/client/Main.qc:424 qcsrc/client/scoreboard.qc:241
-msgid "Usage:\n"
+#: qcsrc/client/scoreboard.qc:266
+msgid "^3laps^7 Number of laps finished (race/cts)\n"
msgstr ""
-#: qcsrc/client/Main.qc:425
-msgid "hud_save configname (saves to hud_skinname_configname.cfg)\n"
+#: qcsrc/client/scoreboard.qc:267
+msgid "^3time^7 Total time raced (race/cts)\n"
msgstr ""
-#: qcsrc/client/Main.qc:549
-msgid "Usage: cl_cmd COMMAND..., where possible commands are:\n"
+#: qcsrc/client/scoreboard.qc:268
+msgid "^3fastest^7 Time of fastest lap (race/cts)\n"
msgstr ""
-#: qcsrc/client/Main.qc:550
-msgid " settemp cvar value\n"
+#: qcsrc/client/scoreboard.qc:269
+msgid "^3ticks^7 Number of ticks (DOM)\n"
msgstr ""
-#: qcsrc/client/Main.qc:551
-msgid " scoreboard_columns_set ...\n"
+#: qcsrc/client/scoreboard.qc:270
+msgid "^3takes^7 Number of domination points taken (DOM)\n"
msgstr ""
-#: qcsrc/client/Main.qc:552
-msgid " scoreboard_columns_help\n"
+#: qcsrc/client/scoreboard.qc:271
+msgid "^3bckills^7 Number of ball carrier kills\n"
msgstr ""
-#: qcsrc/client/Main.qc:788
-#, c-format
-msgid "A CSQC entity changed its owner! (edict: %d, classname: %s)\n"
+#: qcsrc/client/scoreboard.qc:272
+msgid ""
+"^3bctime^7 Total amount of time holding the ball in "
+"Keepaway\n"
msgstr ""
-#: qcsrc/client/Main.qc:1029
-#, c-format
+#: qcsrc/client/scoreboard.qc:273
msgid ""
-"A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n"
+"^3score^7 Total score\n"
+"\n"
msgstr ""
-#: qcsrc/client/Main.qc:1038
-#, c-format
+#: qcsrc/client/scoreboard.qc:275
msgid ""
-"A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n"
+"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/Main.qc:1080
-#, c-format
+#: qcsrc/client/scoreboard.qc:280
msgid ""
-"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
-"%s)\n"
+"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/Main.qc:1526
-#, c-format
-msgid "%s (not bound)"
+#: qcsrc/client/scoreboard.qc:283
+msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
msgstr ""
-#: qcsrc/client/Main.qc:1531 qcsrc/client/hud.qc:230
-#, c-format
-msgid "%s (%s)"
+#: 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/movetypes.qc:163
-#, c-format
-msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\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/movetypes.qc:166
+#: 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 "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:19
-msgid "SCO^bckills"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:20
-msgid "SCO^bctime"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:21
-msgid "SCO^caps"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:22
-msgid "SCO^deaths"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:23
-msgid "SCO^destroyed"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:24
-msgid "SCO^drops"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:25
-msgid "SCO^faults"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:26
-msgid "SCO^fckills"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:27
-msgid "SCO^goals"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:28
-msgid "SCO^kckills"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:29
-msgid "SCO^kdratio"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:30
-msgid "SCO^k/d"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:31
-msgid "SCO^kd"
-msgstr ""
-
-#: qcsrc/client/scoreboard.qc:32
-msgid "SCO^kdr"
+msgid "fixed missing field '%s'\n"
msgstr ""
-#: qcsrc/client/scoreboard.qc:33
-msgid "SCO^kills"
+#: qcsrc/client/scoreboard.qc:515 qcsrc/client/scoreboard.qc:522
+msgid "N/A"
msgstr ""
-#: qcsrc/client/scoreboard.qc:34
-msgid "SCO^laps"
+#: qcsrc/client/scoreboard.qc:950
+#, c-format
+msgid "Accuracy stats (average %d%%)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:35
-msgid "SCO^lives"
+#: qcsrc/client/scoreboard.qc:1015
+#, c-format
+msgid "%d%%"
msgstr ""
-#: qcsrc/client/scoreboard.qc:36
-msgid "SCO^losses"
+#: qcsrc/client/scoreboard.qc:1085
+msgid "Map stats:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:37
-msgid "SCO^name"
+#: qcsrc/client/scoreboard.qc:1101
+msgid "Secrets found:"
msgstr ""
-#: qcsrc/client/scoreboard.qc:38
-msgid "SCO^nick"
+#: qcsrc/client/scoreboard.qc:1128
+msgid "Rankings"
msgstr ""
-#: qcsrc/client/scoreboard.qc:39
-msgid "SCO^objectives"
+#: qcsrc/client/scoreboard.qc:1223
+msgid "Scoreboard"
msgstr ""
-#: qcsrc/client/scoreboard.qc:40
-msgid "SCO^pickups"
+#: qcsrc/client/scoreboard.qc:1268
+#, c-format
+msgid "Speed award: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:41
-msgid "SCO^ping"
+#: qcsrc/client/scoreboard.qc:1272
+#, c-format
+msgid "All-time fastest: %d ^7(%s^7)"
msgstr ""
-#: qcsrc/client/scoreboard.qc:42
-msgid "SCO^pl"
+#: qcsrc/client/scoreboard.qc:1305 qcsrc/client/teamplay.qc:63
+msgid "Spectators"
msgstr ""
-#: qcsrc/client/scoreboard.qc:43
-msgid "SCO^pushes"
+#: qcsrc/client/scoreboard.qc:1311
+#, c-format
+msgid "playing on ^2%s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:44
-msgid "SCO^rank"
+#: qcsrc/client/scoreboard.qc:1318 qcsrc/client/scoreboard.qc:1323
+#, c-format
+msgid " for up to ^1%1.0f minutes^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:45
-msgid "SCO^returns"
+#: qcsrc/client/scoreboard.qc:1327 qcsrc/client/scoreboard.qc:1346
+msgid " or"
msgstr ""
-#: qcsrc/client/scoreboard.qc:46
-msgid "SCO^revivals"
+#: qcsrc/client/scoreboard.qc:1330 qcsrc/client/scoreboard.qc:1337
+#, c-format
+msgid " until ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:47
-msgid "SCO^score"
+#: qcsrc/client/scoreboard.qc:1331 qcsrc/client/scoreboard.qc:1338
+#: qcsrc/client/scoreboard.qc:1350 qcsrc/client/scoreboard.qc:1357
+msgid "SCO^points"
msgstr ""
-#: qcsrc/client/scoreboard.qc:48
-msgid "SCO^suicides"
+#: qcsrc/client/scoreboard.qc:1332 qcsrc/client/scoreboard.qc:1339
+#: qcsrc/client/scoreboard.qc:1351 qcsrc/client/scoreboard.qc:1358
+msgid "SCO^is beaten"
msgstr ""
-#: qcsrc/client/scoreboard.qc:49
-msgid "SCO^takes"
+#: qcsrc/client/scoreboard.qc:1349 qcsrc/client/scoreboard.qc:1356
+#, c-format
+msgid " until a lead of ^3%s %s^7"
msgstr ""
-#: qcsrc/client/scoreboard.qc:50
-msgid "SCO^ticks"
+#: qcsrc/client/waypointsprites.qc:254
+msgid "Push"
msgstr ""
-#: qcsrc/client/scoreboard.qc:239
-msgid ""
-"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n"
+#: qcsrc/client/waypointsprites.qc:255
+msgid "Destroy"
msgstr ""
-#: qcsrc/client/scoreboard.qc:240
-msgid "^3|---------------------------------------------------------------|\n"
+#: qcsrc/client/waypointsprites.qc:256
+msgid "Defend"
msgstr ""
-#: qcsrc/client/scoreboard.qc:242
-msgid "^2scoreboard_columns_set default\n"
+#: qcsrc/client/waypointsprites.qc:257
+msgid "Blue base"
msgstr ""
-#: qcsrc/client/scoreboard.qc:243
-msgid "^2scoreboard_columns_set ^7field1 field2 ...\n"
+#: qcsrc/client/waypointsprites.qc:258
+msgid "DANGER"
msgstr ""
-#: qcsrc/client/scoreboard.qc:244
-msgid "The following field names are recognized (case insensitive):\n"
+#: qcsrc/client/waypointsprites.qc:259
+msgid "Flag carrier"
msgstr ""
-#: qcsrc/client/scoreboard.qc:245
-msgid ""
-"You can use a ^3|^7 to start the right-aligned fields.\n"
-"\n"
+#: qcsrc/client/waypointsprites.qc:260
+msgid "Dropped flag"
msgstr ""
-#: qcsrc/client/scoreboard.qc:247
-msgid "^3name^7 or ^3nick^7 Name of a player\n"
+#: qcsrc/client/waypointsprites.qc:261
+msgid "Help me!"
msgstr ""
-#: qcsrc/client/scoreboard.qc:248
-msgid "^3ping^7 Ping time\n"
+#: qcsrc/client/waypointsprites.qc:262
+msgid "Here"
msgstr ""
-#: qcsrc/client/scoreboard.qc:249
-msgid "^3pl^7 Packet loss\n"
+#: qcsrc/client/waypointsprites.qc:263
+msgid "Dropped key"
msgstr ""
-#: qcsrc/client/scoreboard.qc:250
-msgid "^3kills^7 Number of kills\n"
+#: qcsrc/client/waypointsprites.qc:264 qcsrc/client/waypointsprites.qc:266
+#: qcsrc/client/waypointsprites.qc:267 qcsrc/client/waypointsprites.qc:268
+#: qcsrc/client/waypointsprites.qc:269
+msgid "Key carrier"
msgstr ""
-#: qcsrc/client/scoreboard.qc:251
-msgid "^3deaths^7 Number of deaths\n"
+#: qcsrc/client/waypointsprites.qc:265
+msgid "Run here"
msgstr ""
-#: qcsrc/client/scoreboard.qc:252
-msgid "^3suicides^7 Number of suicides\n"
+#: qcsrc/client/waypointsprites.qc:270
+msgid "Red base"
msgstr ""
-#: qcsrc/client/scoreboard.qc:253
-msgid "^3frags^7 kills - suicides\n"
+#: qcsrc/client/waypointsprites.qc:271
+msgid "Waypoint"
msgstr ""
-#: qcsrc/client/scoreboard.qc:254
-msgid "^3kd^7 The kill-death ratio\n"
+#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273
+#: qcsrc/client/waypointsprites.qc:274
+msgid "Generator"
msgstr ""
-#: qcsrc/client/scoreboard.qc:255
-msgid ""
-"^3caps^7 How often a flag (CTF) or a key (KeyHunt) was "
-"captured\n"
+#: qcsrc/client/waypointsprites.qc:275 qcsrc/client/waypointsprites.qc:276
+#: qcsrc/client/waypointsprites.qc:277 qcsrc/client/waypointsprites.qc:278
+#: qcsrc/client/waypointsprites.qc:279 qcsrc/client/waypointsprites.qc:280
+#: qcsrc/client/waypointsprites.qc:281 qcsrc/client/waypointsprites.qc:282
+#: qcsrc/client/waypointsprites.qc:306 qcsrc/client/waypointsprites.qc:307
+#: qcsrc/client/waypointsprites.qc:308 qcsrc/client/waypointsprites.qc:309
+#: qcsrc/client/waypointsprites.qc:310
+msgid "Control point"
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/waypointsprites.qc:283
+msgid "Checkpoint"
msgstr ""
-#: qcsrc/client/scoreboard.qc:257
-msgid "^3fckills^7 Number of flag carrier kills\n"
+#: qcsrc/client/waypointsprites.qc:284 qcsrc/client/waypointsprites.qc:286
+msgid "Finish"
msgstr ""
-#: qcsrc/client/scoreboard.qc:258
-msgid "^3returns^7 Number of flag returns\n"
+#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:286
+msgid "Start"
msgstr ""
-#: qcsrc/client/scoreboard.qc:259
-msgid "^3drops^7 Number of flag drops\n"
+#: qcsrc/client/waypointsprites.qc:287 qcsrc/client/waypointsprites.qc:288
+msgid "Ball"
msgstr ""
-#: qcsrc/client/scoreboard.qc:260
-msgid "^3lives^7 Number of lives (LMS)\n"
+#: qcsrc/client/waypointsprites.qc:289
+msgid "Ball carrier"
msgstr ""
-#: qcsrc/client/scoreboard.qc:261
-msgid "^3rank^7 Player rank\n"
+#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_laser.qc:2
+msgid "Laser"
msgstr ""
-#: qcsrc/client/scoreboard.qc:262
-msgid "^3pushes^7 Number of players pushed into void\n"
+#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_shotgun.qc:2
+msgid "Shotgun"
msgstr ""
-#: qcsrc/client/scoreboard.qc:263
-msgid ""
-"^3destroyed^7 Number of keys destroyed by pushing them into "
-"void\n"
+#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_uzi.qc:2
+msgid "Machine Gun"
msgstr ""
-#: qcsrc/client/scoreboard.qc:264
-msgid "^3kckills^7 Number of keys carrier kills\n"
+#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_grenadelauncher.qc:2
+msgid "Mortar"
msgstr ""
-#: qcsrc/client/scoreboard.qc:265
-msgid "^3losses^7 Number of times a key was lost\n"
+#: qcsrc/client/waypointsprites.qc:294 qcsrc/server/w_electro.qc:2
+msgid "Electro"
msgstr ""
-#: qcsrc/client/scoreboard.qc:266
-msgid "^3laps^7 Number of laps finished (race/cts)\n"
+#: qcsrc/client/waypointsprites.qc:295 qcsrc/server/w_crylink.qc:2
+msgid "Crylink"
msgstr ""
-#: qcsrc/client/scoreboard.qc:267
-msgid "^3time^7 Total time raced (race/cts)\n"
+#: qcsrc/client/waypointsprites.qc:296 qcsrc/server/w_nex.qc:2
+msgid "Nex"
msgstr ""
-#: qcsrc/client/scoreboard.qc:268
-msgid "^3fastest^7 Time of fastest lap (race/cts)\n"
+#: qcsrc/client/waypointsprites.qc:297 qcsrc/server/w_hagar.qc:2
+msgid "Hagar"
msgstr ""
-#: qcsrc/client/scoreboard.qc:269
-msgid "^3ticks^7 Number of ticks (DOM)\n"
+#: qcsrc/client/waypointsprites.qc:298 qcsrc/server/w_rocketlauncher.qc:2
+msgid "Rocket Launcher"
msgstr ""
-#: qcsrc/client/scoreboard.qc:270
-msgid "^3takes^7 Number of domination points taken (DOM)\n"
+#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_porto.qc:2
+msgid "Port-O-Launch"
msgstr ""
-#: qcsrc/client/scoreboard.qc:271
-msgid "^3bckills^7 Number of ball carrier kills\n"
+#: qcsrc/client/waypointsprites.qc:300
+msgid "Minstanex"
msgstr ""
-#: qcsrc/client/scoreboard.qc:272
-msgid ""
-"^3bctime^7 Total amount of time holding the ball in "
-"Keepaway\n"
+#: qcsrc/client/waypointsprites.qc:301
+msgid "Hook"
msgstr ""
-#: qcsrc/client/scoreboard.qc:273
-msgid ""
-"^3score^7 Total score\n"
-"\n"
+#: qcsrc/client/waypointsprites.qc:302 qcsrc/server/w_fireball.qc:2
+msgid "Fireball"
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/waypointsprites.qc:303
+msgid "HLAC"
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/waypointsprites.qc:304 qcsrc/server/w_rifle.qc:2
+msgid "Rifle"
msgstr ""
-#: qcsrc/client/scoreboard.qc:283
-msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n"
+#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_minelayer.qc:2
+msgid "Mine Layer"
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/waypointsprites.qc:311
+msgid "Invisibility"
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/waypointsprites.qc:312
+msgid "Extra life"
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
-#, c-format
-msgid "fixed missing field '%s'\n"
+#: qcsrc/client/waypointsprites.qc:313
+msgid "Speed"
msgstr ""
-#: qcsrc/client/scoreboard.qc:515 qcsrc/client/scoreboard.qc:522
-msgid "N/A"
+#: qcsrc/client/waypointsprites.qc:314
+msgid "Strength"
msgstr ""
-#: qcsrc/client/scoreboard.qc:950
-#, c-format
-msgid "Accuracy stats (average %d%%)"
+#: qcsrc/client/waypointsprites.qc:315
+msgid "Shield"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1015
-#, c-format
-msgid "%d%%"
+#: qcsrc/client/waypointsprites.qc:316
+msgid "Fuel regen"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1085
-msgid "Map stats:"
+#: qcsrc/client/waypointsprites.qc:317
+msgid "Jet Pack"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1101
-msgid "Secrets found:"
+#: qcsrc/client/waypointsprites.qc:318
+msgid "Frozen!"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1128
-msgid "Rankings"
+#: qcsrc/client/waypointsprites.qc:319
+msgid "Tagged"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1223
-msgid "Scoreboard"
+#: qcsrc/client/waypointsprites.qc:320
+msgid "Vehicle"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1268
-#, c-format
-msgid "Speed award: %d ^7(%s^7)"
+#: qcsrc/client/waypointsprites.qc:590 qcsrc/client/tturrets.qc:285
+msgid "Spam"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1272
+#: qcsrc/client/waypointsprites.qc:594
#, c-format
-msgid "All-time fastest: %d ^7(%s^7)"
+msgid "%s needing help!"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1305 qcsrc/client/teamplay.qc:63
-msgid "Spectators"
+#: qcsrc/client/hud_config.qc:185
+#, c-format
+msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1311
+#: qcsrc/client/hud_config.qc:189
#, c-format
-msgid "playing on ^2%s^7"
+msgid "^1Couldn't write to %s\n"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1318 qcsrc/client/scoreboard.qc:1323
+#: qcsrc/client/tturrets.qc:294
#, c-format
-msgid " for up to ^1%1.0f minutes^7"
+msgid "%s under attack!"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1327 qcsrc/client/scoreboard.qc:1346
-msgid " or"
+#: qcsrc/client/Main.qc:8
+msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1330 qcsrc/client/scoreboard.qc:1337
-#, c-format
-msgid " until ^3%s %s^7"
+#: qcsrc/client/Main.qc:83
+msgid ""
+"^3Your engine build is outdated\n"
+"^3This Server uses a newer QC VM. Please update!\n"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1331 qcsrc/client/scoreboard.qc:1338
-#: qcsrc/client/scoreboard.qc:1350 qcsrc/client/scoreboard.qc:1357
-msgid "SCO^points"
+#: qcsrc/client/Main.qc:93
+#, c-format
+msgid "^4CSQC Build information: ^1%s\n"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1332 qcsrc/client/scoreboard.qc:1339
-#: qcsrc/client/scoreboard.qc:1351 qcsrc/client/scoreboard.qc:1358
-msgid "SCO^is beaten"
+#: qcsrc/client/Main.qc:258 qcsrc/client/Main.qc:274
+#, c-format
+msgid "trying to switch to unsupported team %d\n"
msgstr ""
-#: qcsrc/client/scoreboard.qc:1349 qcsrc/client/scoreboard.qc:1356
+#: qcsrc/client/Main.qc:466
#, c-format
-msgid " until a lead of ^3%s %s^7"
+msgid "A CSQC entity changed its owner! (edict: %d, classname: %s)\n"
msgstr ""
-#: qcsrc/client/teamplay.qc:64
-msgid "Red Team"
+#: qcsrc/client/Main.qc:707
+#, c-format
+msgid ""
+"A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n"
msgstr ""
-#: qcsrc/client/teamplay.qc:65
-msgid "Blue Team"
+#: qcsrc/client/Main.qc:716
+#, c-format
+msgid ""
+"A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n"
msgstr ""
-#: qcsrc/client/teamplay.qc:66
-msgid "Yellow Team"
+#: qcsrc/client/Main.qc:758
+#, c-format
+msgid ""
+"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: "
+"%s)\n"
msgstr ""
-#: qcsrc/client/teamplay.qc:67
-msgid "Pink Team"
+#: qcsrc/client/Main.qc:1206
+#, c-format
+msgid "%s (not bound)"
msgstr ""
-#: qcsrc/client/tturrets.qc:294
+#: qcsrc/client/Main.qc:1211 qcsrc/client/hud.qc:230
#, c-format
-msgid "%s under attack!"
+msgid "%s (%s)"
msgstr ""
#: qcsrc/client/mapvoting.qc:28
msgid " (%d votes)"
msgstr ""
-#: qcsrc/client/mapvoting.qc:113
+#: qcsrc/client/mapvoting.qc:116
msgid "Don't care"
msgstr ""
-#: qcsrc/client/mapvoting.qc:194
+#: qcsrc/client/mapvoting.qc:197
msgid "Vote for a map"
msgstr ""
-#: qcsrc/client/mapvoting.qc:200
+#: qcsrc/client/mapvoting.qc:203
#, c-format
msgid "%d seconds left"
msgstr ""
-#: qcsrc/client/mapvoting.qc:263
+#: qcsrc/client/mapvoting.qc:266
msgid ""
"mv_mapdownload: ^3You're not supposed to use this command on your own!\n"
msgstr ""
-#: qcsrc/client/mapvoting.qc:273
+#: qcsrc/client/mapvoting.qc:276
msgid "^1Error:^7 Couldn't find pak index.\n"
msgstr ""
-#: qcsrc/client/mapvoting.qc:282
+#: qcsrc/client/mapvoting.qc:285
msgid "Requesting preview...\n"
msgstr ""
msgid "You got the %s!"
msgstr ""
+#: qcsrc/client/movetypes.qc:163
+#, c-format
+msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/movetypes.qc:166
+#, c-format
+msgid "Sucessfully unstuck an entity (edict: %d, classname: %s, origin: %s)\n"
+msgstr ""
+
+#: qcsrc/client/miscfunctions.qc:100
+msgid "Trying to remove a team which is not in the teamlist!"
+msgstr ""
+
+#: qcsrc/client/teamplay.qc:64
+msgid "Red Team"
+msgstr ""
+
+#: qcsrc/client/teamplay.qc:65
+msgid "Blue Team"
+msgstr ""
+
+#: qcsrc/client/teamplay.qc:66
+msgid "Yellow Team"
+msgstr ""
+
+#: qcsrc/client/teamplay.qc:67
+msgid "Pink Team"
+msgstr ""
+
#: qcsrc/client/hud.qc:160
msgid "1st"
msgstr ""
msgid "Unavailable"
msgstr ""
-#: qcsrc/client/hud.qc:1534
+#: qcsrc/client/hud.qc:1625
#, c-format
msgid "^1%s^1 couldn't take it anymore\n"
msgstr ""
-#: qcsrc/client/hud.qc:1538 qcsrc/client/hud.qc:1887
+#: qcsrc/client/hud.qc:1629 qcsrc/client/hud.qc:1974
#, c-format
msgid "^1%s^1 died\n"
msgstr ""
-#: qcsrc/client/hud.qc:1542
+#: qcsrc/client/hud.qc:1633
#, c-format
msgid "^7%s^7 committed suicide. What's the point of living without ammo?\n"
msgstr ""
-#: qcsrc/client/hud.qc:1546
+#: qcsrc/client/hud.qc:1637
#, c-format
msgid "^1%s^1 thought they found a nice camping ground\n"
msgstr ""
-#: qcsrc/client/hud.qc:1550
+#: qcsrc/client/hud.qc:1641
#, c-format
msgid "^1%s^1 didn't become friends with the Lord of Teamplay\n"
msgstr ""
-#: qcsrc/client/hud.qc:1554
+#: qcsrc/client/hud.qc:1645
#, c-format
msgid "^1%s^1 unfairly eliminated themself\n"
msgstr ""
-#: qcsrc/client/hud.qc:1558
+#: qcsrc/client/hud.qc:1649
#, c-format
msgid "^1%s^1 burned to death\n"
msgstr ""
-#: qcsrc/client/hud.qc:1562
+#: qcsrc/client/hud.qc:1653
#, c-format
msgid "^1%s^1 couldn't resist the urge to self-destruct\n"
msgstr ""
-#: qcsrc/client/hud.qc:1566
+#: qcsrc/client/hud.qc:1657
#, c-format
msgid "^1%s^1 ended it all after a %d kill spree\n"
msgstr ""
-#: qcsrc/client/hud.qc:1583
+#: qcsrc/client/hud.qc:1670
#, c-format
msgid "^1%s^1 took action against a team mate\n"
msgstr ""
-#: qcsrc/client/hud.qc:1585
+#: qcsrc/client/hud.qc:1672
#, c-format
msgid "^1%s^1 mows down a team mate\n"
msgstr ""
-#: qcsrc/client/hud.qc:1590
+#: qcsrc/client/hud.qc:1677
#, c-format
msgid "^1%s^1 ended a %d scoring spree by going against a team mate\n"
msgstr ""
-#: qcsrc/client/hud.qc:1592
+#: qcsrc/client/hud.qc:1679
#, c-format
msgid "^1%s^1 ended a %d kill spree by killing a team mate\n"
msgstr ""
-#: qcsrc/client/hud.qc:1596
+#: qcsrc/client/hud.qc:1683
#, c-format
msgid "^1%s^1's %s scoring spree was ended by a team mate!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1598
+#: qcsrc/client/hud.qc:1685
#, c-format
msgid "^1%s^1's %s kill spree was ended by a team mate!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1602
+#: qcsrc/client/hud.qc:1689
#, c-format
msgid "^1%s^1 drew first blood\n"
msgstr ""
-#: qcsrc/client/hud.qc:1606
+#: qcsrc/client/hud.qc:1693
#, c-format
msgid "^1%s^1 tried to occupy %s^1's teleport destination space\n"
msgstr ""
-#: qcsrc/client/hud.qc:1608
+#: qcsrc/client/hud.qc:1695
#, c-format
msgid "^1%s^1 was telefragged by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1613
+#: qcsrc/client/hud.qc:1700
#, c-format
msgid "^1%s^1 was drowned by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1618
+#: qcsrc/client/hud.qc:1705
#, c-format
msgid "^1%s^1 was slimed by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1623
+#: qcsrc/client/hud.qc:1710
#, c-format
msgid "^1%s^1 was cooked by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1628
+#: qcsrc/client/hud.qc:1715
#, c-format
msgid "^1%s^1 was grounded by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1633
+#: qcsrc/client/hud.qc:1720
#, c-format
msgid "^1%s^1 was shot into space by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1638
+#: qcsrc/client/hud.qc:1725
#, c-format
msgid "^1%s^1 was conserved by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1644
+#: qcsrc/client/hud.qc:1731
#, c-format
msgid "^1%s^1 was thrown into a world of hurt by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1648
+#: qcsrc/client/hud.qc:1735
#, c-format
msgid "^1%s^1 was crushed by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1652
+#: qcsrc/client/hud.qc:1739
#, c-format
msgid "^1%s^1 got shredded by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1656
+#: qcsrc/client/hud.qc:1743
#, c-format
msgid "^1%s^1 was blasted to bits by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1660
+#: qcsrc/client/hud.qc:1747
#, c-format
msgid "^1%s^1 got caught in the destruction of %s^1's vehicle\n"
msgstr ""
-#: qcsrc/client/hud.qc:1664
+#: qcsrc/client/hud.qc:1751
#, c-format
msgid "^1%s^1 was bolted down by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1668
+#: qcsrc/client/hud.qc:1755
#, c-format
msgid "^1%s^1 could find no shelter from %s^1's rockets\n"
msgstr ""
-#: qcsrc/client/hud.qc:1672
+#: qcsrc/client/hud.qc:1759
#, c-format
msgid "^1%s^1 dies when %s^1's wakizashi dies.\n"
msgstr ""
-#: qcsrc/client/hud.qc:1676
+#: qcsrc/client/hud.qc:1763
#, c-format
msgid "^1%s^1 nailed to hell by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1680
+#: qcsrc/client/hud.qc:1767
#, c-format
msgid "^1%s^1 cluster crushed by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1684
+#: qcsrc/client/hud.qc:1771
#, c-format
msgid "^1%s^1 dies when %s^1's raptor dies.\n"
msgstr ""
-#: qcsrc/client/hud.qc:1688
+#: qcsrc/client/hud.qc:1775
#, c-format
msgid "^1%s^1 was pushed into the line of fire by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1692
+#: qcsrc/client/hud.qc:1779
#, c-format
msgid "^1%s^1 was pushed into an accident by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1696
+#: qcsrc/client/hud.qc:1783
#, c-format
msgid "^1%s^1 was unfairly eliminated by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1700
+#: qcsrc/client/hud.qc:1787
#, c-format
msgid "^1%s^1 was burnt to death by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1712
+#: qcsrc/client/hud.qc:1799
#, c-format
msgid "^1%s^1 was fragged by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1717
+#: qcsrc/client/hud.qc:1804
#, c-format
msgid "^1%s^1's %s scoring spree was ended by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1719
+#: qcsrc/client/hud.qc:1806
#, c-format
msgid "^1%s^1's %s kill spree was ended by %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1722
+#: qcsrc/client/hud.qc:1809
#, c-format
msgid "^1%s^1 made %s scores in a row\n"
msgstr ""
-#: qcsrc/client/hud.qc:1724
+#: qcsrc/client/hud.qc:1811
#, c-format
msgid "^1%s^1 has %s frags in a row\n"
msgstr ""
-#: qcsrc/client/hud.qc:1727
+#: qcsrc/client/hud.qc:1814
#, c-format
msgid "%s^7 made a ^1TRIPLE SCORE\n"
msgstr ""
-#: qcsrc/client/hud.qc:1729
+#: qcsrc/client/hud.qc:1816
#, c-format
msgid "%s^7 made a ^1TRIPLE FRAG\n"
msgstr ""
-#: qcsrc/client/hud.qc:1732
+#: qcsrc/client/hud.qc:1819
#, c-format
msgid "%s^7 unleashes ^1SCORING RAGE\n"
msgstr ""
-#: qcsrc/client/hud.qc:1734
+#: qcsrc/client/hud.qc:1821
#, c-format
msgid "%s^7 unleashes ^1RAGE\n"
msgstr ""
-#: qcsrc/client/hud.qc:1737
+#: qcsrc/client/hud.qc:1824
#, c-format
msgid "%s^7 made ^1TEN SCORES IN A ROW!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1739
+#: qcsrc/client/hud.qc:1826
#, c-format
msgid "%s^7 starts the ^1MASSACRE!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1742
+#: qcsrc/client/hud.qc:1829
#, c-format
msgid "%s^7 made ^1FIFTEEN SCORES IN A ROW!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1744
+#: qcsrc/client/hud.qc:1831
#, c-format
msgid "%s^7 executes ^1MAYHEM!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1747
+#: qcsrc/client/hud.qc:1834
#, c-format
msgid "%s^7 made ^1TWENTY SCORES IN A ROW!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1749
+#: qcsrc/client/hud.qc:1836
#, c-format
msgid "%s^7 is a ^1BERSERKER!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1752
+#: qcsrc/client/hud.qc:1839
#, c-format
msgid "%s^7 made ^1TWENTY FIVE SCORES IN A ROW!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1754
+#: qcsrc/client/hud.qc:1841
#, c-format
msgid "%s^7 inflicts ^1CARNAGE!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1757
+#: qcsrc/client/hud.qc:1844
#, c-format
msgid "%s^7 made ^1THIRTY SCORES IN A ROW!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1759
+#: qcsrc/client/hud.qc:1846
#, c-format
msgid "%s^7 unleashes ^1ARMAGEDDON!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1767
+#: qcsrc/client/hud.qc:1854
#, c-format
msgid "^1%s^1 was in the water for too long\n"
msgstr ""
-#: qcsrc/client/hud.qc:1769
+#: qcsrc/client/hud.qc:1856
#, c-format
msgid "^1%s^1 drowned\n"
msgstr ""
-#: qcsrc/client/hud.qc:1774
+#: qcsrc/client/hud.qc:1861
#, c-format
msgid "^1%s^1 was slimed\n"
msgstr ""
-#: qcsrc/client/hud.qc:1780
+#: qcsrc/client/hud.qc:1867
#, c-format
msgid "^1%s^1 found a hot place\n"
msgstr ""
-#: qcsrc/client/hud.qc:1782
+#: qcsrc/client/hud.qc:1869
#, c-format
msgid "^1%s^1 turned into hot slag\n"
msgstr ""
-#: qcsrc/client/hud.qc:1789
+#: qcsrc/client/hud.qc:1876
#, c-format
msgid "^1%s^1 tested gravity (and it worked)\n"
msgstr ""
-#: qcsrc/client/hud.qc:1791
+#: qcsrc/client/hud.qc:1878
#, c-format
msgid "^1%s^1 hit the ground with a crunch\n"
msgstr ""
-#: qcsrc/client/hud.qc:1796
+#: qcsrc/client/hud.qc:1883
#, c-format
msgid "^1%s^1 became a shooting star\n"
msgstr ""
-#: qcsrc/client/hud.qc:1802
+#: qcsrc/client/hud.qc:1889
#, c-format
msgid "^1%s^1 discovered a swamp\n"
msgstr ""
-#: qcsrc/client/hud.qc:1804
+#: qcsrc/client/hud.qc:1891
#, c-format
msgid "^1%s^1 is now conserved for centuries to come\n"
msgstr ""
-#: qcsrc/client/hud.qc:1811
+#: qcsrc/client/hud.qc:1898
#, c-format
msgid "^1%s^1 ran into a turret\n"
msgstr ""
-#: qcsrc/client/hud.qc:1817
+#: qcsrc/client/hud.qc:1904
#, c-format
msgid "^1%s^1 was laserd down by a eWheel turret \n"
msgstr ""
-#: qcsrc/client/hud.qc:1820
+#: qcsrc/client/hud.qc:1907
#, c-format
msgid "^1%s^1 got caught in the flac \n"
msgstr ""
-#: qcsrc/client/hud.qc:1823
+#: qcsrc/client/hud.qc:1910
#, c-format
msgid "^1%s^1 was riddeld full of riddled by a machinegun turret \n"
msgstr ""
-#: qcsrc/client/hud.qc:1826
+#: qcsrc/client/hud.qc:1913
#, c-format
msgid "^1%s^1 got served a led enrichment by a walker turret \n"
msgstr ""
-#: qcsrc/client/hud.qc:1829
+#: qcsrc/client/hud.qc:1916
#, c-format
msgid "^1%s^1 was impaled by a walker turret \n"
msgstr ""
-#: qcsrc/client/hud.qc:1832
+#: qcsrc/client/hud.qc:1919
#, c-format
msgid "^1%s^1 was rocketed to hell by a walker turret \n"
msgstr ""
-#: qcsrc/client/hud.qc:1835
+#: qcsrc/client/hud.qc:1922
#, c-format
msgid "^1%s^1 was blasted away hellion turret \n"
msgstr ""
-#: qcsrc/client/hud.qc:1838
+#: qcsrc/client/hud.qc:1925
#, c-format
msgid "^1%s^1 could not hide from the hunter turret \n"
msgstr ""
-#: qcsrc/client/hud.qc:1841
+#: qcsrc/client/hud.qc:1928
#, c-format
msgid "^1%s^1 got turned into smoldering gibs by a mlrs turret \n"
msgstr ""
-#: qcsrc/client/hud.qc:1844
+#: qcsrc/client/hud.qc:1931
#, c-format
msgid "^1%s^1 got served some superheated plasma from a plasma turret \n"
msgstr ""
-#: qcsrc/client/hud.qc:1847
+#: qcsrc/client/hud.qc:1934
#, c-format
msgid "^1%s^1 was phased out \n"
msgstr ""
-#: qcsrc/client/hud.qc:1850
+#: qcsrc/client/hud.qc:1937
#, c-format
msgid "^1%s^1 was electrocuted by a tesla turret \n"
msgstr ""
-#: qcsrc/client/hud.qc:1866
+#: qcsrc/client/hud.qc:1953
#, c-format
msgid "^1%s^1 died in an accident\n"
msgstr ""
-#: qcsrc/client/hud.qc:1870
+#: qcsrc/client/hud.qc:1957
#, c-format
msgid "^1%s^1 was unfairly eliminated\n"
msgstr ""
-#: qcsrc/client/hud.qc:1876
+#: qcsrc/client/hud.qc:1963
#, c-format
msgid "^1%s^1 felt a little hot\n"
msgstr ""
-#: qcsrc/client/hud.qc:1878
+#: qcsrc/client/hud.qc:1965
#, c-format
msgid "^1%s^1 burnt to death\n"
msgstr ""
-#: qcsrc/client/hud.qc:1885
+#: qcsrc/client/hud.qc:1972
#, c-format
msgid "^1%s^1 needs a restart\n"
msgstr ""
-#: qcsrc/client/hud.qc:1892
+#: qcsrc/client/hud.qc:1979
#, c-format
msgid "^1%s^1 needs a restart after a %d scoring spree\n"
msgstr ""
-#: qcsrc/client/hud.qc:1894
+#: qcsrc/client/hud.qc:1981
#, c-format
msgid "^1%s^1 died with a %d kill spree\n"
msgstr ""
-#: qcsrc/client/hud.qc:1898
+#: qcsrc/client/hud.qc:1985
#, c-format
msgid "%s^7 got the %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1901
+#: qcsrc/client/hud.qc:1988
#, c-format
msgid "%s^7 lost the %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1904
+#: qcsrc/client/hud.qc:1991
#, c-format
msgid "%s^7 picked up the %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1907
+#: qcsrc/client/hud.qc:1994
#, c-format
msgid "%s^7 returned the %s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1910
+#: qcsrc/client/hud.qc:1997
#, c-format
msgid "%s^7 captured the %s%s\n"
msgstr ""
-#: qcsrc/client/hud.qc:1929
+#: qcsrc/client/hud.qc:2016
#, c-format
msgid "%s^7 has picked up the ball!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1934
+#: qcsrc/client/hud.qc:2021
#, c-format
msgid "%s^7 has dropped the ball!\n"
msgstr ""
-#: qcsrc/client/hud.qc:1945
+#: qcsrc/client/hud.qc:2032
#, c-format
msgid "You are now on: %s"
msgstr ""
-#: qcsrc/client/hud.qc:1947
+#: qcsrc/client/hud.qc:2034
#, c-format
msgid ""
"You have been moved into a different team to improve team balance\n"
"You are now on: %s"
msgstr ""
-#: qcsrc/client/hud.qc:1950
+#: qcsrc/client/hud.qc:2037
msgid "^1Reconsider your tactics, camper!"
msgstr ""
-#: qcsrc/client/hud.qc:1952
+#: qcsrc/client/hud.qc:2039
msgid "^1Die camper!"
msgstr ""
-#: qcsrc/client/hud.qc:1955
+#: qcsrc/client/hud.qc:2042
msgid "^1You are reinserted into the game for running out of ammo..."
msgstr ""
-#: qcsrc/client/hud.qc:1957
+#: qcsrc/client/hud.qc:2044
msgid "^1You were killed for running out of ammo..."
msgstr ""
-#: qcsrc/client/hud.qc:1960
+#: qcsrc/client/hud.qc:2047
msgid "^1You need to preserve your health"
msgstr ""
-#: qcsrc/client/hud.qc:1962
+#: qcsrc/client/hud.qc:2049
msgid "^1You grew too old without taking your medicine"
msgstr ""
-#: qcsrc/client/hud.qc:1965
+#: qcsrc/client/hud.qc:2052
msgid "^1Don't go against team mates!"
msgstr ""
-#: qcsrc/client/hud.qc:1967
+#: qcsrc/client/hud.qc:2054
msgid "^1Don't shoot your team mates!"
msgstr ""
-#: qcsrc/client/hud.qc:1972
+#: qcsrc/client/hud.qc:2059
msgid "^1You need to be more careful!"
msgstr ""
-#: qcsrc/client/hud.qc:1974
+#: qcsrc/client/hud.qc:2061
msgid "^1You killed your own dumb self!"
msgstr ""
-#: qcsrc/client/hud.qc:1979
+#: qcsrc/client/hud.qc:2066
#, c-format
msgid "^1Moron! You went against ^7%s^1, a team mate!"
msgstr ""
-#: qcsrc/client/hud.qc:1981
+#: qcsrc/client/hud.qc:2068
#, c-format
msgid "^1Moron! You fragged ^7%s^1, a team mate!"
msgstr ""
-#: qcsrc/client/hud.qc:1985
+#: qcsrc/client/hud.qc:2072
msgid "^1First score"
msgstr ""
-#: qcsrc/client/hud.qc:1987
+#: qcsrc/client/hud.qc:2074
msgid "^1First blood"
msgstr ""
-#: qcsrc/client/hud.qc:1991
+#: qcsrc/client/hud.qc:2078
msgid "^1First casualty"
msgstr ""
-#: qcsrc/client/hud.qc:1993
+#: qcsrc/client/hud.qc:2080
msgid "^1First victim"
msgstr ""
-#: qcsrc/client/hud.qc:1997
+#: qcsrc/client/hud.qc:2084
#, c-format
msgid "^1You scored against ^7%s^1 who was typing!"
msgstr ""
-#: qcsrc/client/hud.qc:1999
+#: qcsrc/client/hud.qc:2086
#, c-format
msgid "^1You typefragged ^7%s"
msgstr ""
-#: qcsrc/client/hud.qc:2003
+#: qcsrc/client/hud.qc:2090
#, c-format
msgid "^1You were scored against by ^7%s^1 while you were typing!"
msgstr ""
-#: qcsrc/client/hud.qc:2005
+#: qcsrc/client/hud.qc:2092
#, c-format
msgid "^1You were typefragged by ^7%s"
msgstr ""
-#: qcsrc/client/hud.qc:2009
+#: qcsrc/client/hud.qc:2096
#, c-format
msgid "^4You scored against ^7%s"
msgstr ""
-#: qcsrc/client/hud.qc:2011
+#: qcsrc/client/hud.qc:2098
#, c-format
msgid "^4You fragged ^7%s"
msgstr ""
-#: qcsrc/client/hud.qc:2015
+#: qcsrc/client/hud.qc:2102
#, c-format
msgid "^1You were scored against by ^7%s"
msgstr ""
-#: qcsrc/client/hud.qc:2017
+#: qcsrc/client/hud.qc:2104
#, c-format
msgid "^1You were fragged by ^7%s"
msgstr ""
-#: qcsrc/client/hud.qc:2022
+#: qcsrc/client/hud.qc:2109
msgid "^1Watch your step!"
msgstr ""
-#: qcsrc/client/hud.qc:2091 qcsrc/client/hud.qc:2092 qcsrc/client/hud.qc:2598
+#: qcsrc/client/hud.qc:2178 qcsrc/client/hud.qc:2179 qcsrc/client/hud.qc:2685
#, c-format
msgid "Player %d"
msgstr ""
-#: qcsrc/client/hud.qc:2907
+#: qcsrc/client/hud.qc:2995
msgid "^1Intermediate 1 (+15.42)"
msgstr ""
-#: qcsrc/client/hud.qc:2909 qcsrc/client/hud.qc:2951 qcsrc/client/hud.qc:2992
+#: qcsrc/client/hud.qc:2997 qcsrc/client/hud.qc:3039 qcsrc/client/hud.qc:3080
#, c-format
msgid "^1PENALTY: %.1f (%s)"
msgstr ""
-#: qcsrc/client/hud.qc:2994
+#: qcsrc/client/hud.qc:3082
#, c-format
msgid "^2PENALTY: %.1f (%s)"
msgstr ""
-#: qcsrc/client/hud.qc:3022
+#: qcsrc/client/hud.qc:3110
msgid "^1You must answer before entering hud configure mode\n"
msgstr ""
-#: qcsrc/client/hud.qc:3027
+#: qcsrc/client/hud.qc:3115
msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats"
msgstr ""
-#: qcsrc/client/hud.qc:3109
+#: qcsrc/client/hud.qc:3197
msgid "A vote has been called for:"
msgstr ""
-#: qcsrc/client/hud.qc:3111
+#: qcsrc/client/hud.qc:3199
msgid "Allow servers to store and display your name?"
msgstr ""
-#: qcsrc/client/hud.qc:3115
+#: qcsrc/client/hud.qc:3203
msgid "^1Configure the HUD"
msgstr ""
-#: qcsrc/client/hud.qc:3119
+#: qcsrc/client/hud.qc:3207
#, c-format
msgid "Yes (%s): %d"
msgstr ""
-#: qcsrc/client/hud.qc:3121
+#: qcsrc/client/hud.qc:3209
#, c-format
msgid "No (%s): %d"
msgstr ""
-#: qcsrc/client/hud.qc:3624 qcsrc/client/hud.qc:3627 qcsrc/client/hud.qc:3629
+#: qcsrc/client/hud.qc:3712 qcsrc/client/hud.qc:3715 qcsrc/client/hud.qc:3717
msgid "Personal best"
msgstr ""
-#: qcsrc/client/hud.qc:3642 qcsrc/client/hud.qc:3645 qcsrc/client/hud.qc:3647
+#: qcsrc/client/hud.qc:3730 qcsrc/client/hud.qc:3733 qcsrc/client/hud.qc:3735
msgid "Server best"
msgstr ""
-#: qcsrc/client/hud.qc:3993
+#: qcsrc/client/hud.qc:4081
msgid "^3Player^7: This is the chat area."
msgstr ""
-#: qcsrc/client/hud.qc:4061
+#: qcsrc/client/hud.qc:4149
#, c-format
msgid "FPS: %.*f"
msgstr ""
-#: qcsrc/client/hud.qc:4128
+#: qcsrc/client/hud.qc:4216
msgid "^1Observing"
msgstr ""
-#: qcsrc/client/hud.qc:4131 qcsrc/client/hud.qc:4133
+#: qcsrc/client/hud.qc:4219 qcsrc/client/hud.qc:4221
#, c-format
msgid "^1Spectating: ^7%s"
msgstr ""
-#: qcsrc/client/hud.qc:4138
+#: qcsrc/client/hud.qc:4226
#, c-format
msgid "^1Press ^3%s^1 to spectate"
msgstr ""
-#: qcsrc/client/hud.qc:4140
+#: qcsrc/client/hud.qc:4228
#, c-format
msgid "^1Press ^3%s^1 for another player"
msgstr ""
-#: qcsrc/client/hud.qc:4144
+#: qcsrc/client/hud.qc:4232
#, c-format
msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed"
msgstr ""
-#: qcsrc/client/hud.qc:4146
+#: qcsrc/client/hud.qc:4234
#, c-format
msgid "^1Press ^3%s^1 to observe"
msgstr ""
-#: qcsrc/client/hud.qc:4149
+#: qcsrc/client/hud.qc:4237
#, c-format
msgid "^1Press ^3%s^1 for gamemode info"
msgstr ""
-#: qcsrc/client/hud.qc:4153
+#: qcsrc/client/hud.qc:4241
msgid "^1Wait for your turn to join"
msgstr ""
-#: qcsrc/client/hud.qc:4159
+#: qcsrc/client/hud.qc:4247
msgid "^1Match has already begun"
msgstr ""
-#: qcsrc/client/hud.qc:4161
+#: qcsrc/client/hud.qc:4249
msgid "^1You have no more lives left"
msgstr ""
-#: qcsrc/client/hud.qc:4163 qcsrc/client/hud.qc:4166
+#: qcsrc/client/hud.qc:4251 qcsrc/client/hud.qc:4254
#, c-format
msgid "^1Press ^3%s^1 to join"
msgstr ""
-#: qcsrc/client/hud.qc:4174
+#: qcsrc/client/hud.qc:4262
#, c-format
msgid "^1Game starts in ^3%d^1 seconds"
msgstr ""
-#: qcsrc/client/hud.qc:4181
+#: qcsrc/client/hud.qc:4269
msgid "^2Currently in ^1warmup^2 stage!"
msgstr ""
-#: qcsrc/client/hud.qc:4196
+#: qcsrc/client/hud.qc:4284
#, c-format
msgid "%sPress ^3%s%s to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:4198
+#: qcsrc/client/hud.qc:4286
#, c-format
msgid "%sPress ^3%s%s once you are ready"
msgstr ""
-#: qcsrc/client/hud.qc:4203
+#: qcsrc/client/hud.qc:4291
msgid "^2Waiting for others to ready up to end warmup..."
msgstr ""
-#: qcsrc/client/hud.qc:4205
+#: qcsrc/client/hud.qc:4293
msgid "^2Waiting for others to ready up..."
msgstr ""
-#: qcsrc/client/hud.qc:4211
+#: qcsrc/client/hud.qc:4299
#, c-format
msgid "^2Press ^3%s^2 to end warmup"
msgstr ""
-#: qcsrc/client/hud.qc:4232
+#: qcsrc/client/hud.qc:4320
msgid "Teamnumbers are unbalanced!"
msgstr ""
-#: qcsrc/client/hud.qc:4237
+#: qcsrc/client/hud.qc:4325
#, c-format
msgid " Press ^3%s%s to adjust"
msgstr ""
-#: qcsrc/client/hud.qc:4245
+#: qcsrc/client/hud.qc:4333
msgid "^7Press ^3ESC ^7to show HUD options."
msgstr ""
-#: qcsrc/client/hud.qc:4247
+#: qcsrc/client/hud.qc:4335
msgid "^3Doubleclick ^7a panel for panel-specific options."
msgstr ""
-#: qcsrc/client/hud.qc:4249
+#: qcsrc/client/hud.qc:4337
msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and"
msgstr ""
-#: qcsrc/client/hud.qc:4251
+#: qcsrc/client/hud.qc:4339
msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments."
msgstr ""
-#: qcsrc/client/hud.qc:4289
+#: qcsrc/client/hud.qc:4377
msgid " qu/s"
msgstr ""
-#: qcsrc/client/hud.qc:4293
+#: qcsrc/client/hud.qc:4381
msgid " m/s"
msgstr ""
-#: qcsrc/client/hud.qc:4297
+#: qcsrc/client/hud.qc:4385
msgid " km/h"
msgstr ""
-#: qcsrc/client/hud.qc:4301
+#: qcsrc/client/hud.qc:4389
msgid " mph"
msgstr ""
-#: qcsrc/client/hud.qc:4305
+#: qcsrc/client/hud.qc:4393
msgid " knots"
msgstr ""
-#: qcsrc/client/hud.qc:4968
+#: qcsrc/client/hud.qc:5059
msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n"
msgstr ""
-#: qcsrc/common/mapinfo.qc:1097
+#: qcsrc/client/target_music.qc:93 qcsrc/client/target_music.qc:181
#, c-format
-msgid "%s: %s"
+msgid "Cannot initialize sound %s\n"
msgstr ""
-#: qcsrc/server/w_crylink.qc:666
+#: qcsrc/common/mapinfo.qc:665
#, c-format
-msgid "%s succeeded at self-destructing themself with the Crylink"
+msgid "@!#%'n Tuba Throwing"
msgstr ""
-#: qcsrc/server/w_crylink.qc:671
+#: qcsrc/common/mapinfo.qc:1057
#, c-format
-msgid "%s could not hide from %s's Crylink"
+msgid "%s: %s"
msgstr ""
-#: qcsrc/server/w_crylink.qc:673
-#, c-format
-msgid "%s was too close to %s's Crylink"
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
msgstr ""
-#: qcsrc/server/w_crylink.qc:675
-#, c-format
-msgid "%s took a close look at %s's Crylink"
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
msgstr ""
-#: qcsrc/server/w_hlac.qc:2
-msgid "Heavy Laser Assault Cannon"
+#: qcsrc/common/mapinfo.qh:42
+msgid "Arena"
msgstr ""
-#: qcsrc/server/w_hlac.qc:240 qcsrc/server/w_fireball.qc:423
-#, c-format
-msgid "%s should have used a smaller gun"
+#: qcsrc/common/mapinfo.qh:45
+msgid "Runematch"
msgstr ""
-#: qcsrc/server/w_hlac.qc:242
-#, c-format
-msgid "%s was cut down with a HLAC by %s"
+#: qcsrc/common/mapinfo.qh:48
+msgid "Race"
msgstr ""
-#: qcsrc/server/w_minstanex.qc:2
-msgid "MinstaNex"
+#: qcsrc/common/mapinfo.qh:51
+msgid "Race CTS"
msgstr ""
-#: qcsrc/server/w_minstanex.qc:293 qcsrc/server/w_nex.qc:253
-#: qcsrc/server/w_shotgun.qc:271 qcsrc/server/w_rifle.qc:232
-#: qcsrc/server/w_uzi.qc:318
-#, c-format
-msgid "%s is now thinking with portals"
+#: qcsrc/common/mapinfo.qh:54
+msgid "Team Deathmatch"
msgstr ""
-#: qcsrc/server/w_minstanex.qc:295
-#, c-format
-msgid "%s has been vaporized by %s's minstanex"
+#: qcsrc/common/mapinfo.qh:57
+msgid "Capture the Flag"
msgstr ""
-#: qcsrc/server/w_grenadelauncher.qc:388
-#, c-format
-msgid "%s didn't see their own grenade"
+#: qcsrc/common/mapinfo.qh:60
+msgid "Clan Arena"
msgstr ""
-#: qcsrc/server/w_grenadelauncher.qc:390
-#, c-format
-msgid "%s blew themself up with their grenadelauncher"
+#: qcsrc/common/mapinfo.qh:63
+msgid "Domination"
msgstr ""
-#: qcsrc/server/w_grenadelauncher.qc:396
-#, c-format
-msgid "%s didn't see %s's grenade"
+#: qcsrc/common/mapinfo.qh:66
+msgid "Key Hunt"
msgstr ""
-#: qcsrc/server/w_grenadelauncher.qc:398
-#, c-format
-msgid "%s almost dodged %s's grenade"
+#: qcsrc/common/mapinfo.qh:69
+msgid "Assault"
msgstr ""
-#: qcsrc/server/w_grenadelauncher.qc:400
+#: qcsrc/common/mapinfo.qh:72
+msgid "Onslaught"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:75
+msgid "Nexball"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Freeze Tag"
+msgstr ""
+
+#: qcsrc/common/mapinfo.qh:81
+msgid "Keepaway"
+msgstr ""
+
+#: qcsrc/server/w_rifle.qc:232 qcsrc/server/w_uzi.qc:318
+#: qcsrc/server/w_shotgun.qc:271 qcsrc/server/w_minstanex.qc:295
+#: qcsrc/server/w_nex.qc:256
#, c-format
-msgid "%s ate %s's grenade"
+msgid "%s is now thinking with portals"
msgstr ""
-#: qcsrc/server/w_laser.qc:312
+#: qcsrc/server/w_rifle.qc:239
#, c-format
-msgid "%s lasered themself to hell"
+msgid "%s failed to hide from %s's rifle bullet hail"
msgstr ""
-#: qcsrc/server/w_laser.qc:316
+#: qcsrc/server/w_rifle.qc:241
#, c-format
-msgid "%s was cut in half by %s's gauntlet"
+msgid "%s died in %s's rifle bullet hail"
msgstr ""
-#: qcsrc/server/w_laser.qc:318
+#: qcsrc/server/w_rifle.qc:248
#, c-format
-msgid "%s was lasered to death by %s"
+msgid "%s failed to hide from %s's rifle"
msgstr ""
-#: qcsrc/server/w_nex.qc:255
+#: qcsrc/server/w_rifle.qc:253
#, c-format
-msgid "%s has been vaporized by %s's nex"
+msgid "%s got shot in the head with a rifle by %s"
msgstr ""
-#: qcsrc/server/w_hook.qc:2
-msgid "Grappling Hook"
+#: qcsrc/server/w_rifle.qc:255
+#, c-format
+msgid "%s was sniped with a rifle by %s"
msgstr ""
-#: qcsrc/server/w_hook.qc:286 qcsrc/server/w_porto.qc:296
+#: qcsrc/server/w_uzi.qc:322
#, c-format
-msgid "%s did the impossible"
+msgid "%s was sniped by %s's machine gun"
msgstr ""
-#: qcsrc/server/w_hook.qc:288
+#: qcsrc/server/w_uzi.qc:324
#, c-format
-msgid "%s was caught in %s's hook gravity bomb"
+msgid "%s was riddled full of holes by %s's machine gun"
msgstr ""
-#: qcsrc/server/w_rocketlauncher.qc:507
+#: qcsrc/server/w_rocketlauncher.qc:466
#, c-format
msgid "%s blew themself up with their rocketlauncher"
msgstr ""
-#: qcsrc/server/w_rocketlauncher.qc:511
+#: qcsrc/server/w_rocketlauncher.qc:470
#, c-format
msgid "%s got too close to %s's rocket"
msgstr ""
-#: qcsrc/server/w_rocketlauncher.qc:513
+#: qcsrc/server/w_rocketlauncher.qc:472
#, c-format
msgid "%s almost dodged %s's rocket"
msgstr ""
-#: qcsrc/server/w_rocketlauncher.qc:515
+#: qcsrc/server/w_rocketlauncher.qc:474
#, c-format
msgid "%s ate %s's rocket"
msgstr ""
-#: qcsrc/server/w_porto.qc:298
+#: qcsrc/server/w_porto.qc:386 qcsrc/server/w_hook.qc:286
+#, c-format
+msgid "%s did the impossible"
+msgstr ""
+
+#: qcsrc/server/w_porto.qc:388
#, c-format
msgid "%s felt %s doing the impossible to him"
msgstr ""
-#: qcsrc/server/w_electro.qc:581
+#: qcsrc/server/w_hook.qc:2
+msgid "Grappling Hook"
+msgstr ""
+
+#: qcsrc/server/w_hook.qc:288
+#, c-format
+msgid "%s was caught in %s's hook gravity bomb"
+msgstr ""
+
+#: qcsrc/server/w_electro.qc:589
#, c-format
msgid "%s could not remember where they put their electro plasma"
msgstr ""
-#: qcsrc/server/w_electro.qc:583
+#: qcsrc/server/w_electro.qc:591
#, c-format
msgid "%s played with electro plasma"
msgstr ""
-#: qcsrc/server/w_electro.qc:590
+#: qcsrc/server/w_electro.qc:598
#, c-format
msgid "%s just noticed %s's electro plasma"
msgstr ""
-#: qcsrc/server/w_electro.qc:592
+#: qcsrc/server/w_electro.qc:600
#, c-format
msgid "%s got in touch with %s's electro plasma"
msgstr ""
-#: qcsrc/server/w_electro.qc:597
+#: qcsrc/server/w_electro.qc:605
#, c-format
msgid "%s felt the electrifying air of %s's electro combo"
msgstr ""
-#: qcsrc/server/w_electro.qc:599
+#: qcsrc/server/w_electro.qc:607
#, c-format
msgid "%s got too close to %s's blue electro bolt"
msgstr ""
-#: qcsrc/server/w_electro.qc:601
+#: qcsrc/server/w_electro.qc:609
#, c-format
msgid "%s was blasted by %s's blue electro bolt"
msgstr ""
-#: qcsrc/server/w_hagar.qc:462
+#: qcsrc/server/w_laser.qc:312
#, c-format
-msgid "%s played with tiny hagar rockets"
+msgid "%s lasered themself to hell"
msgstr ""
-#: qcsrc/server/w_hagar.qc:466
+#: qcsrc/server/w_laser.qc:316
#, c-format
-msgid "%s was pummeled with a burst of hagar rockets by %s"
+msgid "%s was cut in half by %s's gauntlet"
msgstr ""
-#: qcsrc/server/w_hagar.qc:468
+#: qcsrc/server/w_laser.qc:318
#, c-format
-msgid "%s was pummeled with hagar rockets by %s"
+msgid "%s was lasered to death by %s"
msgstr ""
#: qcsrc/server/w_shotgun.qc:275
msgid "%s died of %s's great playing on the @!#%%'n Accordeon"
msgstr ""
-#: qcsrc/server/w_minelayer.qc:533
+#: qcsrc/server/w_minstanex.qc:2
+msgid "MinstaNex"
+msgstr ""
+
+#: qcsrc/server/w_minstanex.qc:297
#, c-format
-msgid "%s blew themself up with their minelayer"
+msgid "%s has been vaporized by %s's minstanex"
msgstr ""
-#: qcsrc/server/w_minelayer.qc:535
+#: qcsrc/server/w_crylink.qc:666
#, c-format
-msgid "%s forgot about their mine"
+msgid "%s succeeded at self-destructing themself with the Crylink"
msgstr ""
-#: qcsrc/server/w_minelayer.qc:539
+#: qcsrc/server/w_crylink.qc:671
#, c-format
-msgid "%s got too close to %s's mine"
+msgid "%s could not hide from %s's Crylink"
msgstr ""
-#: qcsrc/server/w_minelayer.qc:541
+#: qcsrc/server/w_crylink.qc:673
#, c-format
-msgid "%s almost dodged %s's mine"
+msgid "%s was too close to %s's Crylink"
msgstr ""
-#: qcsrc/server/w_minelayer.qc:543
+#: qcsrc/server/w_crylink.qc:675
#, c-format
-msgid "%s stepped on %s's mine"
+msgid "%s took a close look at %s's Crylink"
msgstr ""
-#: qcsrc/server/w_rifle.qc:239
+#: qcsrc/server/w_hlac.qc:2
+msgid "Heavy Laser Assault Cannon"
+msgstr ""
+
+#: qcsrc/server/w_hlac.qc:240 qcsrc/server/w_fireball.qc:405
#, c-format
-msgid "%s failed to hide from %s's rifle bullet hail"
+msgid "%s should have used a smaller gun"
msgstr ""
-#: qcsrc/server/w_rifle.qc:241
+#: qcsrc/server/w_hlac.qc:242
#, c-format
-msgid "%s died in %s's rifle bullet hail"
+msgid "%s was cut down with a HLAC by %s"
msgstr ""
-#: qcsrc/server/w_rifle.qc:248
+#: qcsrc/server/w_grenadelauncher.qc:388
#, c-format
-msgid "%s failed to hide from %s's rifle"
+msgid "%s didn't see their own grenade"
msgstr ""
-#: qcsrc/server/w_rifle.qc:253
+#: qcsrc/server/w_grenadelauncher.qc:390
#, c-format
-msgid "%s got shot in the head with a rifle by %s"
+msgid "%s blew themself up with their grenadelauncher"
msgstr ""
-#: qcsrc/server/w_rifle.qc:255
+#: qcsrc/server/w_grenadelauncher.qc:396
#, c-format
-msgid "%s was sniped with a rifle by %s"
+msgid "%s didn't see %s's grenade"
msgstr ""
-#: qcsrc/server/w_uzi.qc:322
+#: qcsrc/server/w_grenadelauncher.qc:398
#, c-format
-msgid "%s was sniped by %s's machine gun"
+msgid "%s almost dodged %s's grenade"
msgstr ""
-#: qcsrc/server/w_uzi.qc:324
+#: qcsrc/server/w_grenadelauncher.qc:400
#, c-format
-msgid "%s was riddled full of holes by %s's machine gun"
+msgid "%s ate %s's grenade"
msgstr ""
-#: qcsrc/server/w_fireball.qc:421
+#: qcsrc/server/w_hagar.qc:462
+#, c-format
+msgid "%s played with tiny hagar rockets"
+msgstr ""
+
+#: qcsrc/server/w_hagar.qc:466
+#, c-format
+msgid "%s was pummeled with a burst of hagar rockets by %s"
+msgstr ""
+
+#: qcsrc/server/w_hagar.qc:468
+#, c-format
+msgid "%s was pummeled with hagar rockets by %s"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:2
+msgid "T.A.G. Seeker"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:661
+#, c-format
+msgid "%s played with tiny seeker rockets"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:665
+#, c-format
+msgid "%s was tagged with a seeker by %s"
+msgstr ""
+
+#: qcsrc/server/w_seeker.qc:667
+#, c-format
+msgid "%s was pummeled with seeker rockets by %s"
+msgstr ""
+
+#: qcsrc/server/w_fireball.qc:403
#, c-format
msgid "%s forgot about some firemine"
msgstr ""
-#: qcsrc/server/w_fireball.qc:430
+#: qcsrc/server/w_fireball.qc:412
#, c-format
msgid "%s tried to catch %s's firemine"
msgstr ""
-#: qcsrc/server/w_fireball.qc:432
+#: qcsrc/server/w_fireball.qc:414
#, c-format
msgid "%s fatefully ignored %s's firemine"
msgstr ""
-#: qcsrc/server/w_fireball.qc:439
+#: qcsrc/server/w_fireball.qc:421
#, c-format
msgid "%s could not hide from %s's fireball"
msgstr ""
-#: qcsrc/server/w_fireball.qc:441
+#: qcsrc/server/w_fireball.qc:423
#, c-format
msgid "%s saw the pretty lights of %s's fireball"
msgstr ""
-#: qcsrc/server/w_fireball.qc:444
+#: qcsrc/server/w_fireball.qc:426
#, c-format
msgid "%s got too close to %s's fireball"
msgstr ""
-#: qcsrc/server/w_fireball.qc:446
+#: qcsrc/server/w_fireball.qc:428
#, c-format
msgid "%s tasted %s's fireball"
msgstr ""
-#: qcsrc/server/w_seeker.qc:2
-msgid "T.A.G. Seeker"
+#: qcsrc/server/w_minelayer.qc:533
+#, c-format
+msgid "%s blew themself up with their minelayer"
msgstr ""
-#: qcsrc/server/w_seeker.qc:661
+#: qcsrc/server/w_minelayer.qc:535
#, c-format
-msgid "%s played with tiny seeker rockets"
+msgid "%s forgot about their mine"
msgstr ""
-#: qcsrc/server/w_seeker.qc:665
+#: qcsrc/server/w_minelayer.qc:539
#, c-format
-msgid "%s was tagged with a seeker by %s"
+msgid "%s got too close to %s's mine"
msgstr ""
-#: qcsrc/server/w_seeker.qc:667
+#: qcsrc/server/w_minelayer.qc:541
#, c-format
-msgid "%s was pummeled with seeker rockets by %s"
+msgid "%s almost dodged %s's mine"
+msgstr ""
+
+#: qcsrc/server/w_minelayer.qc:543
+#, c-format
+msgid "%s stepped on %s's mine"
+msgstr ""
+
+#: qcsrc/server/w_nex.qc:258
+#, c-format
+msgid "%s has been vaporized by %s's nex"
msgstr ""
// gameversion_min = (gameversion / 100) * 100 - 100
// gameversion_max = (gameversion / 100) * 100 + 199
+// changes a cvar and reports it to the server (for the menu to notify the
+// server about changes)
+alias setreport "set \"$1\" \"$2\" ; sendcvar \"$1\""
+
seta cl_firststart "" "how many times the client has been run"
seta cl_startcount 0 "how many times the client has been run"
_cl_name Player
_cl_playermodel models/player/erebus.iqm
_cl_playerskin 0
-seta crosshair 16
-seta crosshair_color "0.6 0.8 1"
-seta crosshair_alpha 0.300000
-seta crosshair_size 0.500000
-seta crosshair_dot 1
-seta crosshair_dot_alpha 1
-seta crosshair_dot_size 0.600000
-seta crosshair_dot_color "1 0 0" "when != 0, use custom color for the crosshair dot"
-seta crosshair_pickup 0.25
-seta crosshair_pickup_speed 4
-seta crosshair_hitindication 0.5
-seta crosshair_hitindication_color "10 -10 -10"
-seta crosshair_hitindication_speed 5
-seta crosshair_per_weapon 0 "when 1, each gun will display a different crosshair"
-seta crosshair_color_per_weapon 1 "when 1, each gun will display the crosshair with a different color"
-seta crosshair_effect_speed -1 "how fast (in seconds) some crosshair effects should take place, 0 = instant, -1 = 2x weapon switch time"
-seta crosshair_effect_scalefade 1 "use scaling and fading for crosshair effects"
-seta crosshair_hittest 1 "do a crosshair hit evaluation; also, the crosshair is scaled by the given number when aiming at an enemy, and blurred when aiming at a team mate"
-seta crosshair_hittest_blur 1 "blur the crosshair if the shot is obstructed"
-seta crosshair_hittest_showimpact 0 "move the crosshair to the actual impact location if obstructed"
-seta crosshair_laser "" "crosshair to display when wielding the laser"
-seta crosshair_laser_color "1 0.35 0.2" "crosshair color to display when wielding the laser"
-seta crosshair_laser_alpha 0.75 "crosshair alpha value to display when wielding the laser"
-seta crosshair_laser_size 0.4 "crosshair size when wielding the laser"
-seta crosshair_shotgun "" "crosshair to display when wielding the shotgun"
-seta crosshair_shotgun_color "0.7 0.7 0.7" "crosshair color to display when wielding the shotgun"
-seta crosshair_shotgun_alpha 1.1 "crosshair alpha value to display when wielding the shotgun"
-seta crosshair_shotgun_size 0.65 "crosshair size when wielding the shotgun"
-seta crosshair_uzi "" "crosshair to display when wielding the machinegun"
-seta crosshair_uzi_color "0.4 0.9 0.35" "crosshair color to display when wielding the machinegun"
-seta crosshair_uzi_alpha 0.9 "crosshair alpha value to display when wielding the machinegun"
-seta crosshair_uzi_size 0.6 "crosshair size when wielding the machinegun"
-seta crosshair_grenadelauncher "" "crosshair to display when wielding the mortar"
-seta crosshair_grenadelauncher_color "1 0.15 0" "crosshair color to display when wielding the mortar"
-seta crosshair_grenadelauncher_alpha 1.15 "crosshair alpha value to display when wielding the mortar"
-seta crosshair_grenadelauncher_size 0.7 "crosshair size when wielding the mortar"
-seta crosshair_minelayer "" "crosshair to display when wielding the mortar"
-seta crosshair_minelayer_color "0.75 0.75 0" "crosshair color to display when wielding the mortar"
-seta crosshair_minelayer_alpha 1.15 "crosshair alpha value to display when wielding the mortar"
-seta crosshair_minelayer_size 0.9 "crosshair size when wielding the mortar"
-seta crosshair_electro "" "crosshair to display when wielding the electro"
-seta crosshair_electro_color "0.35 0.5 1" "crosshair color to display when wielding the electro"
-seta crosshair_electro_alpha 1 "crosshair alpha value to display when wielding the electro"
-seta crosshair_electro_size 0.5 "crosshair size when wielding the electro"
-seta crosshair_crylink "" "crosshair to display when wielding the crylink"
-seta crosshair_crylink_color "0.85 0.25 1" "crosshair color to display when wielding the crylink"
-seta crosshair_crylink_alpha 0.85 "crosshair alpha value to display when wielding the crylink"
-seta crosshair_crylink_size 0.4 "crosshair size when wielding the crylink"
-seta crosshair_nex "" "crosshair to display when wielding the nex gun"
-seta crosshair_nex_color "0 0.9 1" "crosshair color to display when wielding the nex gun"
-seta crosshair_nex_alpha 0.85 "crosshair alpha value to display when wielding the nex gun"
-seta crosshair_nex_size 0.65 "crosshair size when wielding the nex gun"
-seta crosshair_hagar "" "crosshair to display when wielding the hagar"
-seta crosshair_hagar_color "0.85 0.5 0.35" "crosshair color to display when wielding the hagar"
-seta crosshair_hagar_alpha 1 "crosshair alpha value to display when wielding the hagar"
-seta crosshair_hagar_size 0.8 "crosshair size when wielding the hagar"
-seta crosshair_rocketlauncher "" "crosshair to display when wielding the rocketlauncher"
-seta crosshair_rocketlauncher_color "1 0.75 0.2" "crosshair color to display when wielding the rocketlauncher"
-seta crosshair_rocketlauncher_alpha 1 "crosshair alpha value to display when wielding the rocketlauncher"
-seta crosshair_rocketlauncher_size 0.5875 "crosshair size when wielding the rocketlauncher"
-seta crosshair_porto "" "crosshair to display when wielding the porto"
-seta crosshair_porto_color "0.5 1 0.5" "crosshair color to display when wielding the porto"
-seta crosshair_porto_alpha 0.85 "crosshair alpha value to display when wielding the porto"
-seta crosshair_porto_size 0.6 "crosshair size when wielding the porto"
-seta crosshair_minstanex "" "crosshair to display when wielding the minstanex gun"
-seta crosshair_minstanex_color "0.65 0.65 1" "crosshair color to display when wielding the minstanex gun"
-seta crosshair_minstanex_alpha 1 "crosshair alpha value to display when wielding the minstanex gun"
-seta crosshair_minstanex_size 0.4 "crosshair size when wielding the minstanex gun"
-seta crosshair_hook "" "crosshair to display when wielding the hook"
-seta crosshair_hook_color "0.65 1 0.85" "crosshair color to display when wielding the hook"
-seta crosshair_hook_alpha 0.85 "crosshair alpha value to display when wielding the hook"
-seta crosshair_hook_size 0.5 "crosshair size when wielding the hook"
-seta crosshair_hlac "" "crosshair to display when wielding the H.L.A.C"
-seta crosshair_hlac_color "1 0.65 0.2" "crosshair color to display when wielding the H.L.A.C."
-seta crosshair_hlac_alpha 1 "crosshair alpha value to display when wielding the H.L.A.C."
-seta crosshair_hlac_size 0.6 "crosshair size when wielding the H.L.A.C."
-seta crosshair_seeker "" "crosshair to display when wielding the TAG Seeker"
-seta crosshair_seeker_color "1 0.35 0.35" "crosshair color to display when wielding the TAG seeker"
-seta crosshair_seeker_alpha 0.9 "crosshair alpha value to display when wielding the TAG seeker"
-seta crosshair_seeker_size 0.8 "crosshair size when wielding the TAG seeker"
-seta crosshair_rifle "" "crosshair to display when wielding the rifle"
-seta crosshair_rifle_color "0.85 0.5 0.25" "crosshair color to display when wielding the rifle"
-seta crosshair_rifle_alpha 1 "crosshair alpha value to display when wielding the rifle"
-seta crosshair_rifle_size 0.5 "crosshair size when wielding the rifle"
-seta crosshair_tuba "" "crosshair to display when wielding the tuba"
-seta crosshair_tuba_color "0.85 0.5 0.25" "crosshair color to display when wielding the tuba"
-seta crosshair_tuba_alpha 1 "crosshair alpha value to display when wielding the tuba"
-seta crosshair_tuba_size 1 "crosshair size when wielding the tuba"
-seta crosshair_fireball "" "crosshair to display when wielding the fireball"
-seta crosshair_fireball_color "0.2 1.0 0.2" "crosshair color to display when wielding the fireball"
-seta crosshair_fireball_alpha 1 "crosshair alpha value to display when wielding the fireball"
-seta crosshair_fireball_size 1 "crosshair size when wielding the fireball"
-seta crosshair_color_by_health 0 "if enabled, crosshair color will depend on current health"
-
-// ring around crosshair, used for various purposes (such as indicating bullets left in clip, nex charge)
-seta crosshair_ring 1 "main cvar to enable or disable normal crosshair rings"
-seta crosshair_ring_inner 0 "allow inner rings to be drawn too"
-seta crosshair_ring_size 2 "ring size"
-seta crosshair_ring_alpha 0.2 "ring alpha"
-
-seta crosshair_ring_nex 1 "draw a ring showing the current charge of the nexgun"
-seta crosshair_ring_nex_alpha 0.15
-seta crosshair_ring_nex_inner_alpha 0.15
-seta crosshair_ring_nex_inner_color_red 0.8
-seta crosshair_ring_nex_inner_color_green 0
-seta crosshair_ring_nex_inner_color_blue 0
-seta crosshair_ring_nex_currentcharge_scale 30
-seta crosshair_ring_nex_currentcharge_movingavg_rate 0.05
-
-seta crosshair_ring_minelayer 1
-seta crosshair_ring_minelayer_alpha 0.15
-
-seta crosshair_ring_hagar 1
-seta crosshair_ring_hagar_alpha 0.15
-
-seta crosshair_ring_reload 1 "main cvar to enable or disable ammo crosshair rings"
-seta crosshair_ring_reload_size 2.5 "reload ring size"
-seta crosshair_ring_reload_alpha 0.2 "reload ring alpha"
seta cl_reticle 1 "control for toggling whether ANY zoom reticles are shown"
seta cl_reticle_stretch 0 "whether to stretch reticles so they fit the screen (brakes image proportions)"
set g_telefrags_avoid 1 "when teleporters have a random destination, avoid teleporting to locations where a telefrag would happen"
set g_teleport_maxspeed 0 "maximum speed that a player can keep when going through a teleporter (if a misc_teleporter_dest also has a cap the smallest one of these will be used), 0 = don't limit, -1 = keep no speed"
+seta cl_damageeffect 1 "enable weapon damage effects. 1 enables the feature on skeletal models, 2 on any model"
+seta cl_damageeffect_ticrate 0.1 "particle spawn rate"
+seta cl_damageeffect_bones 5 "how many damages to allow on a rigged mesh at once (non-skeletal objects are limited to one)"
+seta cl_damageeffect_distribute 1 "divide particle intensity if multiple damages are present"
+seta cl_damageeffect_lifetime 0.1 "how much a damage effect lasts, based on damage amount"
+seta cl_damageeffect_lifetime_min 3 "minimum lifetime a damage effect may have"
+seta cl_damageeffect_lifetime_max 6 "maximum lifetime a damage effect may have"
+
set g_respawn_ghosts 1 "if 1 dead bodies become ghosts and float away when the player respawns"
set g_respawn_ghosts_speed 5 "the speed with which respawn ghosts float and rotate"
set g_respawn_ghosts_maxtime 6 "maximum amount of time a respawn ghost can last, minimum time is half this value. 0 disables and ghosts fade when the body would"
pausable 0
set g_spawnshieldtime 1 "number of seconds you are invincible after you spawned, this shield is lost after you fire"
set g_antilag 2 "AntiLag (0 = no AntiLag, 1 = verified client side hit scan, 2 = server side hit scan in the past, 3 = unverified client side hit scan)"
-set g_trueaim_minrange 44 "TrueAim minimum range (TrueAim adjusts shots so they hit the crosshair point even though the gun is not at the screen center)"
set g_antilag_nudge 0 "don't touch"
set g_antilag_bullets 1 "Bullets AntiLag (0 = no AntiLag, 1 = server side hit scan in the past) - DO NOT TOUCH (severely changes weapon balance)"
set g_shootfromclient 2 "let client decide if it has the gun left or right; if set to 2, center handedness is allowed; see also cl_gunalign"
set g_freezetag_respawn_waves 0
set g_freezetag_respawn_delay 0
set g_freezetag_weapon_stay 0
-set g_ka_respawn_delay 0
-set g_ka_respawn_waves 0
-set g_ka_weapon_stay 0
+set g_keepaway_respawn_delay 0
+set g_keepaway_respawn_waves 0
+set g_keepaway_weapon_stay 0
// overtime
seta timelimit_overtime 2 "duration in minutes of one added overtime, added to the timelimit"
set g_campaign 0
set g_campaign_forceteam 0 "Forces the player to a given team in campaign mode, 1 = red, 2 = blue, 3 = yellow, 4 = pink"
seta g_campaign_name "xonoticbeta"
-set g_campaign_skill 0
+seta g_campaign_skill -1 // -2 easy -1 medium 0 hard
alias singleplayer_start "g_campaign_index 0; set scmenu_campaign_goto 0"
alias singleplayer_continue "set scmenu_campaign_goto -1"
seta menu_sounds 0 "enables menu sound effects. 1 enables click sounds, 2 also enables hover sounds"
seta menu_tooltips 1 "menu tooltips: 0 disabled, 1 enabled, 2 also shows cvar or console command (when available) changed or executed by the item"
set menu_picmip_bypass 0 "bypass texture quality enforcement based on system resources, not recommended and may cause crashes!"
+set menu_showboxes 0 "show item bounding boxes (debug)"
r_textbrightness 0.2
r_textcontrast 0.8
seta r_subdivisions_tolerance $r_subdivisions_tolerance
seta vid_gl20 $vid_gl20
seta vid_gl13 $vid_gl13
+seta r_drawviewmodel $r_drawviewmodel
+seta v_idlescale $v_idlescale
// ticrate
//sys_ticrate 0.0166667
set g_playerstats_uri ""
set g_playerstats_debug 0 "when 1, player stats are dumped to the console too"
+// autoscreenshots
+set g_max_info_autoscreenshot 3 "how many info_autoscreenshot entities are allowed"
+
// session locking
locksession 1
exec physicsX.cfg
exec turrets.cfg
exec vehicles.cfg
+exec crosshairs.cfg
// load console command aliases and settings
exec commands.cfg
bounce 1.5
liquidfriction 4
velocityjitter 16 16 16
+
+// laser damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_laser
+notunderwater
+count 3
+type smoke
+tex 0 8
+color 0x880000 0xff4400
+size 2 4
+sizeincrease 8
+alpha 128 16 128
+gravity 0
+originjitter 2 2 2
+velocityjitter 0.4 0.4 0.6
+velocitymultiplier 0
+airfriction -0.35
+rotate 0 180 -30 30
+
+// shotgun damage effect, normal blood
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_shotgun
+count 0.6
+type blood
+tex 24 32
+size 2 4
+alpha 256 256 64
+color 0xA8FFFF 0xA8FFFFF
+bounce -1
+airfriction 1
+liquidfriction 4
+velocityjitter 64 64 64
+velocitymultiplier 5
+staincolor 0x808080 0x808080
+staintex 16 24
+//blood mist
+effect damage_shotgun
+count 1
+type alphastatic
+tex 0 8
+size 8 16
+alpha 100 256 400
+color 0x000000 0x420000
+originjitter 1 1 1
+
+// shotgun damage effect, alien blood
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_shotgun_alien
+count 0.6
+type blood
+tex 24 32
+size 2 4
+alpha 256 256 64
+color 0xDC9BCD 0xDC9BCD
+bounce -1
+airfriction 1
+liquidfriction 4
+velocityjitter 64 64 64
+velocitymultiplier 5
+staincolor 0x808080 0x808080
+staintex 16 24
+//blood mist
+effect damage_shotgun_alien
+count 1
+type alphastatic
+tex 0 8
+size 8 16
+alpha 100 256 400
+color 0x000000 0x204010
+originjitter 1 1 1
+
+// shotgun damage effect, robot blood
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_shotgun_robot
+count 0.6
+type blood
+tex 24 32
+size 2 4
+alpha 256 256 64
+color 0xC0D890 0xC0D890
+bounce -1
+airfriction 1
+liquidfriction 4
+velocityjitter 64 64 64
+velocitymultiplier 5
+staincolor 0x808080 0x808080
+staintex 16 24
+//blood mist
+effect damage_shotgun_robot
+count 1
+type alphastatic
+tex 0 8
+size 8 16
+alpha 100 256 400
+color 0x000000 0x301860
+originjitter 1 1 1
+
+// uzi damage effect, normal blood
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_uzi
+count 0.3
+type blood
+tex 24 32
+size 2 4
+alpha 256 256 64
+color 0xA8FFFF 0xA8FFFFF
+bounce -1
+airfriction 1
+liquidfriction 4
+velocityjitter 32 32 32
+velocitymultiplier 5
+staincolor 0x808080 0x808080
+staintex 16 24
+//blood mist
+effect damage_uzi
+count 1
+type alphastatic
+tex 0 8
+size 6 12
+alpha 100 256 400
+color 0x000000 0x420000
+originjitter 0 0 0
+
+// uzi damage effect, alien blood
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_uzi_alien
+count 0.3
+type blood
+tex 24 32
+size 2 4
+alpha 256 256 64
+color 0xDC9BCD 0xDC9BCD
+bounce -1
+airfriction 1
+liquidfriction 4
+velocityjitter 32 32 32
+velocitymultiplier 5
+staincolor 0x808080 0x808080
+staintex 16 24
+//blood mist
+effect damage_uzi_alien
+count 1
+type alphastatic
+tex 0 8
+size 6 12
+alpha 100 256 400
+color 0x000000 0x204010
+originjitter 0 0 0
+
+// uzi damage effect, robot blood
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_uzi_robot
+count 0.3
+type blood
+tex 24 32
+size 2 4
+alpha 256 256 64
+color 0xC0D890 0xC0D890
+bounce -1
+airfriction 1
+liquidfriction 4
+velocityjitter 32 32 32
+velocitymultiplier 5
+staincolor 0x808080 0x808080
+staintex 16 24
+//blood mist
+effect damage_uzi_robot
+count 1
+type alphastatic
+tex 0 8
+size 6 12
+alpha 100 256 400
+color 0x000000 0x301860
+originjitter 0 0 0
+
+// minelayer damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_minelayer
+notunderwater
+count 3
+type smoke
+tex 48 55
+size 4 8
+alpha 512 64 1024
+gravity -0.5
+color 0x8f0d00 0xff5a00
+sizeincrease -15
+originjitter 2 2 2
+velocityjitter 22 22 50
+// smoke
+effect damage_minelayer
+notunderwater
+type alphastatic
+count 2
+tex 0 8
+size 4 8
+sizeincrease 5
+alpha 128 32 128
+color 0x000000 0x111111
+gravity -0.3
+originjitter 4 4 4
+velocityjitter 11 11 50
+// light
+/*effect damage_minelayer
+notunderwater
+trailspacing 8
+lightradius 60
+lightradiusfade 280
+lightcolor 0.7 0.4 0.2*/
+
+// grenadelauncher damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_grenadelauncher
+notunderwater
+count 3
+type smoke
+tex 48 55
+size 4 8
+alpha 512 64 1024
+gravity -0.5
+color 0x8f0d00 0xff5a00
+sizeincrease -15
+originjitter 2 2 2
+velocityjitter 22 22 50
+// smoke
+effect damage_grenadelauncher
+notunderwater
+type alphastatic
+count 2
+tex 0 8
+size 4 8
+sizeincrease 5
+alpha 128 32 128
+color 0x000000 0x111111
+gravity -0.3
+originjitter 4 4 4
+velocityjitter 11 11 50
+// light
+/*effect damage_grenadelauncher
+notunderwater
+trailspacing 8
+lightradius 60
+lightradiusfade 280
+lightcolor 0.7 0.4 0.2*/
+
+// electro damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_electro
+notunderwater
+count 2
+type static
+tex 47 47
+color 0x66ffff 0x2288ff
+size 6 10
+sizeincrease -14
+alpha 48 8 48
+gravity -0.0001
+airfriction 0.2
+liquidfriction 0.8
+originjitter 3 3 3
+velocityjitter 8 8 16
+velocitymultiplier 0
+airfriction -0.5
+rotate 180 360 -30 30
+// plasma smoke
+effect damage_electro
+notunderwater
+count 4
+type smoke
+tex 0 8
+color 0x2244ff 0x002266
+size 4 8
+sizeincrease 10
+alpha 64 16 64
+gravity 0
+originjitter 4 4 4
+velocityjitter 0.4 0.4 0.6
+velocitymultiplier 0
+airfriction -0.35
+rotate 0 180 -30 30
+// bouncing sparks
+effect damage_electro
+count 0.5
+type spark
+tex 66 68
+color 0x003090 0x00CCFF
+size 1 1
+alpha 768 64 256
+gravity 0.2
+airfriction 1
+bounce 1.5
+liquidfriction 0.8
+velocityoffset 0 0 0
+velocityjitter 32 32 32
+// light
+/*effect damage_electro
+notunderwater
+trailspacing 8
+lightradius 50
+lightradiusfade 220
+lightcolor 0.2 0.6 0.8*/
+
+// crylink damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_crylink
+notunderwater
+count 2
+type static
+tex 38 38
+color 0xff44ff 0x9966ff
+size 0.5 1
+sizeincrease -8
+alpha 48 16 48
+gravity -0.0001
+airfriction 0.6
+liquidfriction 0.8
+originjitter 3 3 3
+velocityjitter 10 10 20
+velocitymultiplier 0
+airfriction -0.5
+rotate 180 360 -30 30
+// plasma smoke
+effect damage_crylink
+notunderwater
+count 4
+type smoke
+tex 0 8
+color 0x8844ff 0x662244
+size 5 10
+sizeincrease 6
+alpha 64 16 64
+gravity 0.001
+originjitter 4 4 4
+velocityjitter 0.4 0.4 0.6
+velocitymultiplier 0
+airfriction -0.35
+rotate 0 180 -30 30
+// floating sparks
+effect damage_crylink
+count 0.3
+type spark
+color 0x903090 0xFFD0FF
+size 0.5 0.5
+sizeincrease -5
+alpha 192 192 128
+gravity 0
+airfriction 0.2
+liquidfriction 0.8
+velocityoffset 0 0 0
+velocityjitter 12 12 12
+// light
+/*effect damage_crylink
+notunderwater
+trailspacing 8
+lightradius 50
+lightradiusfade 240
+lightcolor 0.6 0.2 0.8*/
+
+// hlac damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_hlac
+notunderwater
+count 3
+type smoke
+tex 0 8
+color 0x880000 0xff4400
+size 2 4
+sizeincrease 10
+alpha 128 16 128
+gravity 0
+originjitter 4 4 4
+velocityjitter 0.4 0.4 0.6
+velocitymultiplier 0
+airfriction -0.35
+rotate 0 180 -30 30
+
+// nex damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_nex
+count 1
+type static
+tex 47 47
+color 0xffffff 0x88ffff
+size 5 10
+sizeincrease -14
+alpha 64 8 64
+gravity -0.0001
+airfriction 0.1
+liquidfriction 0.6
+originjitter 4 4 4
+velocityjitter 8 8 16
+velocitymultiplier 0
+airfriction -0.5
+rotate 180 360 -30 30
+// plasma smoke
+effect damage_nex
+count 2
+type smoke
+tex 0 8
+color 0x6688ff 0x226688
+size 4 8
+sizeincrease 8
+alpha 64 16 64
+gravity 0
+originjitter 2 2 2
+velocityjitter 0.5 0.5 0.8
+velocitymultiplier 0
+airfriction -0.35
+rotate 0 180 -30 30
+// bouncing sparks
+effect damage_nex
+count 0.2
+type spark
+tex 41 41
+color 0xD9FDFF 0xD9FDFF
+size 1 1
+alpha 255 255 112
+bounce 1.6
+stretchfactor 0.7
+velocityjitter 100 100 300
+velocitymultiplier 3
+airfriction 2
+gravity 1
+// light
+/*effect damage_nex
+trailspacing 8
+lightradius 60
+lightradiusfade 280
+lightcolor 0.6 0.8 0.8*/
+
+// minstanex damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_minstanex
+count 2
+type static
+tex 47 47
+color 0xffffff 0x88ffff
+size 5 10
+sizeincrease -14
+alpha 64 8 64
+gravity -0.0001
+airfriction 0.1
+liquidfriction 0.6
+originjitter 4 4 4
+velocityjitter 8 8 16
+velocitymultiplier 0
+airfriction -0.5
+rotate 180 360 -30 30
+// plasma smoke
+effect damage_minstanex
+count 4
+type smoke
+tex 0 8
+color 0x6688ff 0x226688
+size 4 8
+sizeincrease 8
+alpha 64 16 64
+gravity 0
+originjitter 2 2 2
+velocityjitter 0.5 0.5 0.8
+velocitymultiplier 0
+airfriction -0.35
+rotate 0 180 -30 30
+// bouncing sparks
+effect damage_minstanex
+count 0.2
+type spark
+tex 41 41
+color 0xD9FDFF 0xD9FDFF
+size 1 1
+alpha 255 255 112
+bounce 1.6
+stretchfactor 0.7
+velocityjitter 100 100 300
+velocitymultiplier 3
+airfriction 2
+gravity 1
+// light
+/*effect damage_minstanex
+trailspacing 8
+lightradius 60
+lightradiusfade 240
+lightcolor 0.6 0.8 0.8*/
+
+// sniperrifle damage effect, normal blood
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_rifle
+count 0.3
+type blood
+tex 24 32
+size 2 4
+alpha 256 256 64
+color 0xA8FFFF 0xA8FFFFF
+bounce -1
+airfriction 1
+liquidfriction 4
+velocityjitter 32 32 32
+velocitymultiplier 5
+staincolor 0x808080 0x808080
+staintex 16 24
+//blood mist
+effect damage_rifle
+count 1
+type alphastatic
+tex 0 8
+size 6 12
+alpha 100 256 400
+color 0x000000 0x420000
+originjitter 0 0 0
+
+// sniperrifle damage effect, alien blood
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_rifle_alien
+count 0.3
+type blood
+tex 24 32
+size 2 4
+alpha 256 256 64
+color 0xDC9BCD 0xDC9BCD
+bounce -1
+airfriction 1
+liquidfriction 4
+velocityjitter 32 32 32
+velocitymultiplier 5
+staincolor 0x808080 0x808080
+staintex 16 24
+//blood mist
+effect damage_rifle_alien
+count 1
+type alphastatic
+tex 0 8
+size 6 12
+alpha 100 256 400
+color 0x000000 0x204010
+originjitter 0 0 0
+
+// sniperrifle damage effect, robot blood
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_rifle_robot
+count 0.3
+type blood
+tex 24 32
+size 2 4
+alpha 256 256 64
+color 0xC0D890 0xC0D890
+bounce -1
+airfriction 1
+liquidfriction 4
+velocityjitter 32 32 32
+velocitymultiplier 5
+staincolor 0x808080 0x808080
+staintex 16 24
+//blood mist
+effect damage_rifle_robot
+count 1
+type alphastatic
+tex 0 8
+size 6 12
+alpha 100 256 400
+color 0x000000 0x301860
+originjitter 0 0 0
+
+// seeker damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_seeker
+notunderwater
+count 3
+type smoke
+tex 48 55
+size 4 8
+alpha 512 32 1024
+gravity -0.3
+color 0x8f0c00 0xff2200
+sizeincrease -10
+originjitter 2 2 2
+velocityjitter 22 22 50
+// smoke
+effect damage_seeker
+notunderwater
+type alphastatic
+count 2
+tex 0 8
+size 2 4
+sizeincrease 10
+alpha 128 32 128
+color 0x000000 0x111111
+gravity -0.3
+originjitter 4 4 4
+velocityjitter 11 11 50
+// light
+/*effect damage_seeker
+notunderwater
+trailspacing 8
+lightradius 65
+lightradiusfade 280
+lightcolor 0.7 0.5 0.1*/
+
+// hagar damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_hagar
+notunderwater
+count 3
+type smoke
+tex 48 55
+size 4 8
+alpha 512 32 1024
+gravity -0.3
+color 0x8f0c00 0xff3a00
+sizeincrease -10
+originjitter 2 2 2
+velocityjitter 22 22 50
+// smoke
+effect damage_hagar
+notunderwater
+type alphastatic
+count 2
+tex 0 8
+size 2 4
+sizeincrease 10
+alpha 128 32 128
+color 0x000000 0x111111
+gravity -0.3
+originjitter 4 4 4
+velocityjitter 11 11 50
+// light
+/*effect damage_hagar
+notunderwater
+trailspacing 8
+lightradius 65
+lightradiusfade 280
+lightcolor 0.7 0.5 0.1*/
+
+// fireball damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_fireball
+notunderwater
+count 4
+type smoke
+tex 48 55
+size 5 10
+alpha 256 16 512
+gravity -0.5
+color 0x8f0d00 0xff5a00
+sizeincrease -10
+originjitter 8 8 8
+velocityjitter 22 22 50
+// smoke
+effect damage_fireball
+notunderwater
+type alphastatic
+count 4
+tex 0 8
+size 4 8
+sizeincrease 10
+alpha 128 32 128
+color 0x000000 0x111111
+gravity -0.3
+originjitter 6 6 6
+velocityjitter 11 11 50
+// light
+/*effect damage_fireball
+notunderwater
+trailspacing 8
+lightradius 65
+lightradiusfade 280
+lightcolor 1.0 0.8 0.4*/
+
+// rocketlauncher damage effect
+// used in qcsrc/client/damage.qc: pointparticles(self.team, org, '0 0 0', 1);
+effect damage_rocketlauncher
+notunderwater
+count 3
+type smoke
+tex 48 55
+size 5 10
+alpha 512 64 1024
+gravity -0.7
+color 0x8f0c00 0xff2a00
+sizeincrease -10
+originjitter 4 4 4
+velocityjitter 22 22 30
+// smoke
+effect damage_rocketlauncher
+notunderwater
+type alphastatic
+count 3
+tex 0 8
+size 4 8
+sizeincrease 10
+alpha 128 32 128
+color 0x000000 0x111111
+gravity -0.3
+originjitter 4 4 4
+velocityjitter 11 11 50
+// light
+/*effect damage_rocketlauncher
+notunderwater
+trailspacing 8
+lightradius 60
+lightradiusfade 280
+lightcolor 0.8 0.6 0.2*/
cl_decals_models 0
cl_decals_time 4
cl_particles_quality 1
+cl_damageeffect 1
gl_flashblend 0
gl_picmip -1
-gl_texture_anisotropy 16
mod_q3bsp_nolightmaps 0
r_bloom 1
r_coronas 1
r_drawdecals_drawdistance 500
r_drawparticles_drawdistance 2000
r_glsl_deluxemapping 1
-r_glsl_offsetmapping 1
+r_glsl_offsetmapping 0
+r_glsl_offsetmapping_lod 1
r_glsl_offsetmapping_reliefmapping 0
-r_motionblur 0.5
+r_motionblur 0.4
r_shadow_gloss 1
r_shadow_realtime_dlight 1
r_shadow_realtime_dlight_shadows 0
r_subdivisions_tolerance 3
r_texture_dds_load 1
r_water 1
-r_water_resolutionmultiplier 0.5
-vid_samples 1
-r_viewfbo 2
+r_water_resolutionmultiplier 0.25
menu_sync
cl_decals_models 0
cl_decals_time 2
cl_particles_quality 0.4
+cl_damageeffect 0
gl_flashblend 1
gl_picmip 1
-gl_texture_anisotropy 1
mod_q3bsp_nolightmaps 1
r_bloom 0
r_coronas 1
r_drawparticles_drawdistance 500
r_glsl_deluxemapping 0
r_glsl_offsetmapping 0
+r_glsl_offsetmapping_lod 1
r_glsl_offsetmapping_reliefmapping 0
r_motionblur 0
r_shadow_gloss 0
r_subdivisions_tolerance 8
r_texture_dds_load 1
r_water 0
-r_water_resolutionmultiplier 0.5
-vid_samples 1
-r_viewfbo 0
+r_water_resolutionmultiplier 0.25
menu_sync
cl_decals_models 0
cl_decals_time 2
cl_particles_quality 1
+cl_damageeffect 0
gl_flashblend 0
gl_picmip 0
-gl_texture_anisotropy 1
mod_q3bsp_nolightmaps 0
r_bloom 0
r_coronas 1
r_drawparticles_drawdistance 1000
r_glsl_deluxemapping 0
r_glsl_offsetmapping 0
+r_glsl_offsetmapping_lod 1
r_glsl_offsetmapping_reliefmapping 0
r_motionblur 0
r_shadow_gloss 0
r_subdivisions_tolerance 4
r_texture_dds_load 1
r_water 0
-r_water_resolutionmultiplier 0.5
-vid_samples 1
-r_viewfbo 0
+r_water_resolutionmultiplier 0.25
menu_sync
cl_decals_models 0
cl_decals_time 2
cl_particles_quality 1
+cl_damageeffect 1
gl_flashblend 0
gl_picmip 0
-gl_texture_anisotropy 1
mod_q3bsp_nolightmaps 0
r_bloom 0
r_coronas 1
r_drawparticles_drawdistance 1000
r_glsl_deluxemapping 1
r_glsl_offsetmapping 0
+r_glsl_offsetmapping_lod 1
r_glsl_offsetmapping_reliefmapping 0
r_motionblur 0
r_shadow_gloss 1
r_subdivisions_tolerance 3
r_texture_dds_load 1
r_water 0
-r_water_resolutionmultiplier 0.5
-vid_samples 1
-r_viewfbo 0
+r_water_resolutionmultiplier 0.25
menu_sync
cl_decals_models 0
cl_decals_time 2
cl_particles_quality 0.4
+cl_damageeffect 0
gl_flashblend 1
gl_picmip 1337
-gl_texture_anisotropy 1
mod_q3bsp_nolightmaps 1
r_bloom 0
r_coronas 1
r_drawparticles_drawdistance 250
r_glsl_deluxemapping 0
r_glsl_offsetmapping 0
+r_glsl_offsetmapping_lod 1
r_glsl_offsetmapping_reliefmapping 0
r_motionblur 0
r_shadow_gloss 0
r_subdivisions_tolerance 16
r_texture_dds_load 1
r_water 0
-r_water_resolutionmultiplier 0.5
-vid_samples 1
-r_viewfbo 0
+r_water_resolutionmultiplier 0.25
menu_sync
cl_decals_models 1
cl_decals_time 10
cl_particles_quality 1
+cl_damageeffect 2
gl_flashblend 0
gl_picmip -1
-gl_texture_anisotropy 16
mod_q3bsp_nolightmaps 0
r_bloom 1
r_coronas 1
r_drawparticles_drawdistance 2000
r_glsl_deluxemapping 1
r_glsl_offsetmapping 1
+r_glsl_offsetmapping_lod 0
r_glsl_offsetmapping_reliefmapping 1
-r_motionblur 0.5
+r_motionblur 0.4
r_shadow_gloss 1
r_shadow_realtime_dlight 1
r_shadow_realtime_dlight_shadows 1
r_texture_dds_load 0
r_water 1
r_water_resolutionmultiplier 1
-vid_samples 1
-r_viewfbo 2
menu_sync
cl_decals_models 1
cl_decals_time 10
cl_particles_quality 1
+cl_damageeffect 1
gl_flashblend 0
gl_picmip -1
-gl_texture_anisotropy 16
mod_q3bsp_nolightmaps 0
r_bloom 1
r_coronas 1
r_drawparticles_drawdistance 2000
r_glsl_deluxemapping 1
r_glsl_offsetmapping 1
+r_glsl_offsetmapping_lod 1
r_glsl_offsetmapping_reliefmapping 0
-r_motionblur 0.5
+r_motionblur 0.4
r_shadow_gloss 1
r_shadow_realtime_dlight 1
r_shadow_realtime_dlight_shadows 1
r_shadow_realtime_world 1
-r_shadow_realtime_world_shadows 1
+r_shadow_realtime_world_shadows 0
r_shadow_shadowmapping 1
r_shadow_usenormalmap 1
r_showsurfaces 0
r_texture_dds_load 0
r_water 1
r_water_resolutionmultiplier 0.5
-vid_samples 1
-r_viewfbo 2
menu_sync
-title Luminos
+title Luminos (default)
author sev
// Colors: 'Red Green Blue'
// uses "border" images
// uses "closebutton" images
MARGIN_TOP 8
-MARGIN_BOTTOM 8
+MARGIN_BOTTOM 12
MARGIN_LEFT 16
MARGIN_RIGHT 16
MARGIN_COLUMNS 4
ALPHA_CVARLIST_SAVED 1
ALPHA_CVARLIST_TEMPORARY 0.7
COLOR_CVARLIST_CHANGED '1 0 0'
-COLOR_CVARLIST_REVERTBUTTON '1 0 0'
COLOR_CVARLIST_UNCHANGED '1 1 1'
+COLOR_CVARLIST_CONTROLS '1 0 0'
// item: list box
COLOR_LISTBOX_SELECTED '1 0.4375 0'
COLOR_DIALOG_SINGLEPLAYER '1 1 1'
COLOR_DIALOG_CREDITS '1 1 1'
COLOR_DIALOG_WEAPONS '1 1 1'
-COLOR_DIALOG_WAYPOINTS '1 1 1'
+COLOR_DIALOG_VIEW '1 1 1'
+COLOR_DIALOG_MODEL '1 1 1'
+COLOR_DIALOG_CROSSHAIR '1 1 1'
+COLOR_DIALOG_HUD '1 1 1'
COLOR_DIALOG_SERVERINFO '1 1 1'
COLOR_DIALOG_CVARS '1 0 0'
+COLOR_DIALOG_HUDCONFIRM '1 0 0'
// item: input box
// uses "inputbox" images
-title Default // "WickedX"
+title WickedX
author sev
// Colors: 'Red Green Blue'
// uses "border" images
// uses "closebutton" images
MARGIN_TOP 8
-MARGIN_BOTTOM 8
+MARGIN_BOTTOM 12
MARGIN_LEFT 16
MARGIN_RIGHT 16
MARGIN_COLUMNS 4
ALPHA_CVARLIST_SAVED 1
ALPHA_CVARLIST_TEMPORARY 0.7
COLOR_CVARLIST_CHANGED '0 0.375 0.75'
-COLOR_CVARLIST_REVERTBUTTON '1 0 0'
COLOR_CVARLIST_UNCHANGED '1 1 1'
+COLOR_CVARLIST_CONTROLS '1 0 0'
// item: list box
COLOR_LISTBOX_SELECTED '0.875 0.375 0'
COLOR_DIALOG_SINGLEPLAYER '1 1 1'
COLOR_DIALOG_CREDITS '1 1 1'
COLOR_DIALOG_WEAPONS '1 1 1'
-COLOR_DIALOG_WAYPOINTS '1 1 1'
+COLOR_DIALOG_VIEW '1 1 1'
+COLOR_DIALOG_MODEL '1 1 1'
+COLOR_DIALOG_CROSSHAIR '1 1 1'
+COLOR_DIALOG_HUD '1 1 1'
COLOR_DIALOG_SERVERINFO '1 1 1'
COLOR_DIALOG_CVARS '1 0 0'
+COLOR_DIALOG_HUDCONFIRM '1 0 0'
// item: input box
// uses "inputbox" images
COLOR_DIALOG_SINGLEPLAYER '1 1 1'
COLOR_DIALOG_CREDITS '1 1 1'
COLOR_DIALOG_WEAPONS '1 1 1'
-COLOR_DIALOG_WAYPOINTS '1 1 1'
+COLOR_DIALOG_VIEW '1 1 1'
+COLOR_DIALOG_MODEL '1 1 1'
+COLOR_DIALOG_CROSSHAIR '1 1 1'
+COLOR_DIALOG_HUD '1 1 1'
COLOR_DIALOG_SERVERINFO '1 1 1'
COLOR_DIALOG_CVARS '1 0 0'
+COLOR_DIALOG_HUDCONFIRM '1 0 0'
// nexposee positions of windows (they are the scale transformation
// centers, NOT the actual positions of the windows!)
ALPHA_CREDITS_FUNCTION 1
COLOR_CREDITS_PERSON '0 0 0'
ALPHA_CREDITS_PERSON 1
-ROWS_CREDITS 10
-WIDTH_CREDITS 0.75
+ROWS_CREDITS 20
+WIDTH_CREDITS 0.5
// item: crosshair button
// uses "crosshairbutton" images
ALPHA_CVARLIST_SAVED 1
ALPHA_CVARLIST_TEMPORARY 0.7
COLOR_CVARLIST_CHANGED '1 0 0'
-COLOR_CVARLIST_REVERTBUTTON '1 0 0'
COLOR_CVARLIST_UNCHANGED '1 1 1'
+COLOR_CVARLIST_CONTROLS '1 0 0'
// item: dialog
// uses "border" images
// uses "closebutton" images
MARGIN_TOP 8
-MARGIN_BOTTOM 8
+MARGIN_BOTTOM 12
MARGIN_LEFT 16
MARGIN_RIGHT 16
MARGIN_COLUMNS 4
"weaplast" "previously used"
"weapbest" "best"
"reload" "reload"
-"weapon_group_1" "Laser"
-"weapon_group_2" "Shotgun"
-"weapon_group_3" "Machine Gun"
-"weapon_group_4" "Mortar / Mine Layer"
-"weapon_group_5" "Electro"
-"weapon_group_6" "Crylink / HLAC"
-"weapon_group_7" "Nex / Rifle"
-"weapon_group_8" "Hagar / Seeker"
-"weapon_group_9" "Rocket Launcher / Fireball"
-"weapon_group_0" "Port-O-Launch / Hook"
+"impulse 1" "Laser"
+"impulse 2" "Shotgun"
+"impulse 3" "Machine Gun"
+"impulse 4" "Mortar / Mine Layer"
+"impulse 5" "Electro"
+"impulse 6" "Crylink / HLAC"
+"impulse 7" "Nex / Rifle"
+"impulse 8" "Hagar / Seeker"
+"impulse 9" "Rocket Launcher / Fireball"
+"impulse 14" "Port-O-Launch / Hook"
"" ""
"" "View"
"+zoom" "hold zoom"
"+show_info" "server info"
"toggleconsole" "enter console"
"disconnect" "disconnect"
-"quit" "quit"
+"menu_showquitdialog" "quit"
"" ""
"" "Teamplay"
"messagemode2" "team chat"
"weapbest" "beste"
"reload" "nachladen"
"impulse 1" "Laser"
-"impulse 2" "Shotgun"
-"impulse 3" "Machine Gun"
+"impulse 2" "Schrotgewehr"
+"impulse 3" "Maschinengewehr"
"impulse 4" "Mortar / Mine Layer"
"impulse 5" "Electro"
"impulse 6" "Crylink / HLAC"
-"impulse 7" "Nex / MinstaNex / Rifle"
+"impulse 7" "Nex / MinstaNex / Gewehr"
"impulse 8" "Hagar / Seeker"
"impulse 9" "Rocket Launcher / Fireball"
-"impulse 14" "Port-O-Launch / Hook"
+"impulse 14" "Port-O-Launch / Enterhaken"
"" ""
"" "Anzeige"
"+zoom" "Vergrößern (festhalten)"
"togglezoom" "Vergrößern (umschalten)"
"+showscores" "Tabelle anzeigen"
"screenshot" "Bildschirmfoto"
+"+hud_panel_radar_maximized" "Radar maximieren"
"" ""
"" "Kommunikation"
"messagemode" "Nachricht an alle"
"+show_info" "Serverinfo anzeigen"
"toggleconsole" "Konsole öffnen"
"disconnect" "Verbindung trennen"
-"quit" "Beenden"
+"menu_showquitdialog" "Beenden"
"" ""
"" "Teamplay"
"messagemode2" "Nachricht ans Team"
"team_auto" "Team automatisch wählen"
"menu_showteamselect" "Team auswählen"
+"menu_showsandboxtools" "Sandbox-Menu"
"spec" "Zuschauen"
"dropweapon" "Waffe wegwerfen"
"+use" "Schlüssel oder Flagge wegwerfen"
+"+button8" "Objekt ziehen"
"" ""
"" "Benutzerdefiniert"
"+userbind 1" "$userbind1"
"+show_info" "información del servidor"
"toggleconsole" "entrar en la consola"
"disconnect" "desconectar"
-"quit" "salir"
+"menu_showquitdialog" "salir"
"" ""
"" "Juego en equipo"
"messagemode2" "chat de equipo"
"+show_info" "information serveur"
"toggleconsole" "ouvrir la console"
"disconnect" "se déconnecter"
-"quit" "quitter"
+"menu_showquitdialog" "quitter"
"" ""
"" "Équipe"
"messagemode2" "chat d'équipe"
"+show_info" "kiszolgáló info"
"toggleconsole" "konzolba lépés"
"disconnect" "lekapcsolodás"
-"quit" "kilépés"
+"menu_showquitdialog" "kilépés"
"" ""
"" "Csapatjáték"
"messagemode2" "csapat beszélgetés"
"+show_info" "info del server"
"toggleconsole" "apri console"
"disconnect" "disconnetti"
-"quit" "esci"
+"menu_showquitdialog" "esci"
"" ""
"" "Teamplay"
"messagemode2" "chat di squadra"
"+show_info" "сведения о сервере"
"toggleconsole" "открыть консоль"
"disconnect" "отключиться"
-"quit" "выйти"
+"menu_showquitdialog" "выйти"
"" ""
"" "Командная игра"
"messagemode2" "чат команды"
"+show_info" "відомості про сервер"
"toggleconsole" "увійти в консоль"
"disconnect" "роз'єднатися"
-"quit" "вийти"
+"menu_showquitdialog" "вийти"
"" ""
"" "Командна гра"
"messagemode2" "командний чат"
#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
msgid "Point limit:"
-msgstr "Punktelimit"
+msgstr "Punktelimit:"
#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64
msgid "Player slots:"
#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
msgid "Game settings:"
-msgstr "Spieleinstellungen"
+msgstr "Spieleinstellungen:"
#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
msgid "Allow spectating"
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255
msgid "Special arenas:"
-msgstr "Spezielle Arenen"
+msgstr "Spezielle Arenen:"
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268
msgid "Most weapons"
#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
msgid "Channels:"
-msgstr "Kanäle"
+msgstr "Kanäle:"
#: qcsrc/menu/xonotic/dialog_settings_audio.c:112
msgid "Mono"
#: qcsrc/menu/xonotic/dialog_settings_effects.c:178
msgid "Coronas"
-msgstr "Koronas"
+msgstr "Koronen"
#: qcsrc/menu/xonotic/dialog_settings_effects.c:179
msgid "Use Occlusion Queries"
#: qcsrc/menu/xonotic/dialog_settings_video.c:33
msgid "SZ^Little"
-msgstr "Klein"
+msgstr "Winzig"
#: qcsrc/menu/xonotic/dialog_settings_video.c:34
msgid "SZ^Small"
#: qcsrc/menu/xonotic/serverlist.c:185
msgid "Remove"
-msgstr "Vergessen"
+msgstr "Entfernen"
#: qcsrc/menu/xonotic/serverlist.c:187
msgid "Bookmark"
#: weapons.qc.tmp:10
msgid "Electro"
-msgstr "Electro"
+msgstr "Elektro"
#: weapons.qc.tmp:11
msgid "Hagar"
#: weapons.qc.tmp:12
msgid "Shotgun"
-msgstr "Shotgun"
+msgstr "Schrotgewehr"
#: weapons.qc.tmp:13
#, c-format
#: weapons.qc.tmp:14
msgid "Mine Layer"
-msgstr "Mine Layer"
+msgstr "Minen Leger"
#: weapons.qc.tmp:15
msgid "Rifle"
#: weapons.qc.tmp:16
msgid "Machine Gun"
-msgstr "Machine Gun"
+msgstr "Maschinen Gewehr"
#: weapons.qc.tmp:17
msgid "Fireball"
msgstr ""
"Project-Id-Version: Xonotic 0.1preview\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-09-02 07:51+0200\n"
+"POT-Creation-Date: 2012-01-26 12:24+0100\n"
"PO-Revision-Date: 2011-08-23 18:51-0400\n"
-"Last-Translator: \n"
+"Last-Translator: Calinou <hugohachel@gmail.com>\n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"X-Generator: Lokalize 1.2\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: qcsrc/common/mapinfo.qc:1092 qcsrc/menu/xonotic/skinlist.c:163
+#: qcsrc/common/mapinfo.qc:665
+#, c-format
+msgid "@!#%'n Tuba Throwing"
+msgstr "Lancer de @!#%'n Tuba"
+
+#: qcsrc/common/mapinfo.qc:1057 qcsrc/menu/xonotic/skinlist.c:166
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: qcsrc/menu/gamecommand.qc:47
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
+msgstr "Match à Mort"
+
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
+msgstr "Dernier Survivant"
+
+#: qcsrc/common/mapinfo.qh:42
+msgid "Arena"
+msgstr "Arène Duel"
+
+#: qcsrc/common/mapinfo.qh:45
+msgid "Runematch"
+msgstr "Runematch"
+
+#: qcsrc/common/mapinfo.qh:48
+msgid "Race"
+msgstr "Course"
+
+#: qcsrc/common/mapinfo.qh:51
+msgid "Race CTS"
+msgstr "Course CTS"
+
+#: qcsrc/common/mapinfo.qh:54
+msgid "Team Deathmatch"
+msgstr "Match à Mort Équipe"
+
+#: qcsrc/common/mapinfo.qh:57
+#, fuzzy
+msgid "Capture the Flag"
+msgstr "Capture Du Drapeau"
+
+#: qcsrc/common/mapinfo.qh:60
+msgid "Clan Arena"
+msgstr "Arène Équipes"
+
+#: qcsrc/common/mapinfo.qh:63
+msgid "Domination"
+msgstr "Domination"
+
+#: qcsrc/common/mapinfo.qh:66
+msgid "Key Hunt"
+msgstr "Chasse aux Clés"
+
+#: qcsrc/common/mapinfo.qh:69
+msgid "Assault"
+msgstr "Assaut"
+
+#: qcsrc/common/mapinfo.qh:72
+msgid "Onslaught"
+msgstr "Onslaught"
+
+#: qcsrc/common/mapinfo.qh:75
+msgid "Nexball"
+msgstr "Nexball"
+
+#: qcsrc/common/mapinfo.qh:78
+msgid "Freeze Tag"
+msgstr "Freeze Tag"
+
+#: qcsrc/common/mapinfo.qh:81
+msgid "Keepaway"
+msgstr "Cache-Cache Du Drapeau"
+
+#: qcsrc/menu/command/menu_cmd.qc:41
#, c-format
msgid "error: status is %d\n"
msgstr "erreur: le status est %d\n"
-#: qcsrc/menu/gamecommand.qc:65
+#: qcsrc/menu/command/menu_cmd.qc:64
msgid "Usage: menu_cmd command..., where possible commands are:\n"
msgstr "Utilisation: menu_cmd commande..., les commandes possibles sont:\n"
-#: qcsrc/menu/gamecommand.qc:66
+#: qcsrc/menu/command/menu_cmd.qc:65
msgid " sync - reloads all cvars on the current menu page\n"
msgstr " sync - recharge toutes les variables sur la page actuelle\n"
-#: qcsrc/menu/gamecommand.qc:67
+#: qcsrc/menu/command/menu_cmd.qc:66
msgid " directmenu ITEM - select a menu item as main item\n"
msgstr ""
" directmenu OBJET - sélectionner un objet de menu comme objet principal\n"
-#: qcsrc/menu/gamecommand.qc:193
+#: qcsrc/menu/command/menu_cmd.qc:179
msgid "error creating curl handle\n"
msgstr "erreur de création du curl handle"
-#: qcsrc/menu/gamecommand.qc:239
+#: qcsrc/menu/command/menu_cmd.qc:186
msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
msgstr ""
"Commande invalide. Pour une liste des commandes supportées, tapez menu_cmd "
msgid "custom"
msgstr "personnalisé"
-#: qcsrc/menu/menu.qc:29
+#: qcsrc/menu/menu.qc:37
#, c-format
msgid "^4MQC Build information: ^1%s\n"
msgstr "^4MQC Information de version : %s (français)\n"
-#: qcsrc/menu/xonotic/campaign.c:284
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:134
+#: qcsrc/menu/xonotic/campaign.c:288
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
msgid "???"
msgstr "???"
-#: qcsrc/menu/xonotic/campaign.c:285
+#: qcsrc/menu/xonotic/campaign.c:289
#, c-format
msgid "Level %d: %s"
msgstr "Niveau %d: %s"
#: qcsrc/menu/xonotic/dialog_credits.c:21
#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:269
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:41
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:57
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:61
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:277
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:89
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
msgid "OK"
msgstr "OK"
msgid "Welcome"
msgstr "Bienvenue"
-#: qcsrc/menu/xonotic/dialog_firstrun.c:33
+#: qcsrc/menu/xonotic/dialog_firstrun.c:40
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 "
"pseudonyme pour commencer. Vous pouvez changer ces options plus tard dans "
"les menus."
-#: qcsrc/menu/xonotic/dialog_firstrun.c:38
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
-msgid "Text language:"
-msgstr "Langue écran:"
-
-#: qcsrc/menu/xonotic/dialog_firstrun.c:47
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:40
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
msgid "Name:"
msgstr "Pseudonyme:"
-#: qcsrc/menu/xonotic/dialog_firstrun.c:69
+#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+#: qcsrc/menu/xonotic/dialog_settings_user.c:65
+msgid "Text language:"
+msgstr "Langue écran:"
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+msgid "ALWU2N^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+msgid "ALWU2N^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "ALWU2N^Undecided"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
msgid "Save settings"
msgstr "Sauvegarder"
msgstr "Alignement icônes:"
#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
msgid "Center"
msgstr "Centre"
msgstr "Barre de statut"
#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:33
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:48
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
msgid "Left align"
msgstr "À gauche"
#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
msgid "Right align"
msgstr "À droite"
msgstr "Échanger positions Vitesse/Accélération"
#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:29
msgid "Speed:"
msgstr "Vitesse:"
#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:32
#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:43
#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:82
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:154
-#: qcsrc/menu/xonotic/util.qc:600
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:66
+#: qcsrc/menu/xonotic/util.qc:655
msgid "Alpha:"
msgstr "Opacité:"
msgstr "Nord"
#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61
msgid "Scale:"
msgstr "Échelle:"
msgstr "Effacer après:"
#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36
msgid "Never"
msgstr "Jamais"
msgstr "Icônes d'armes:"
#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45
+#, fuzzy
+msgid "Show only owned weapons"
+msgstr "Montrer les Waypoints de drapeau"
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48
msgid "Show weapon ID as:"
msgstr "Montrer le numéro d'arme:"
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
msgid "SHOWAS^None"
msgstr "Aucun"
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
msgid "Number"
msgstr "Numéro"
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
msgid "Bind"
msgstr "Touche"
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54
msgid "Show Accuracy"
msgstr "Monter la précision"
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
msgid "Show Ammo"
msgstr "Montrer barre de munitions"
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58
msgid "Ammo bar color:"
msgstr "Couleur barre de munitions:"
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64
msgid "Ammo bar alpha:"
msgstr "Opacité barre de munitions:"
msgid "Panel background defaults:"
msgstr "Fond du Panneau par défaut:"
-#: 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:630
msgid "Background:"
msgstr "Arrière-plan:"
#: 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:633
+#: qcsrc/menu/xonotic/util.qc:649 qcsrc/menu/xonotic/util.qc:666
msgid "Disable"
msgstr "Désactiver"
#: 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:638
msgid "Color:"
msgstr "Couleur:"
-#: 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:646
msgid "Border size:"
msgstr "Taille des bords:"
msgid "Team color:"
msgstr "Couleur d'équipe:"
-#: 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:672
msgid "Test team color in configure mode"
msgstr "Afficher la couleur d'équipe en mode configuration"
-#: 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:675
msgid "Padding:"
msgstr "Ajustement:"
msgid "Game type:"
msgstr "Mode de jeu:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46
-msgid "Match settings:"
-msgstr "Paramètres match:"
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
msgid "Time limit:"
msgstr "Limite de temps:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:53
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:61
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
msgid "Use map specified default"
msgstr "Utiliser le paramètre de carte"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
msgid "Point limit:"
msgstr "Limite de points:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
msgid "Player slots:"
msgstr "Nombre de joueurs max.:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
msgid "Number of bots:"
msgstr "Nombre de robots:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
msgid "Bot skill:"
msgstr "Difficulté robot:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
msgid "Botlike"
msgstr "Nul"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
msgid "Beginner"
msgstr "Jeu d'enfant"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
msgid "You will win"
msgstr "Très Facile"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
msgid "You can win"
msgstr "Facile"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
msgid "You might win"
msgstr "Assez Facile"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
msgid "Advanced"
msgstr "Avancé"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
msgid "Expert"
msgstr "Expert"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
msgid "Pro"
msgstr "Professionnel"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
msgid "Assassin"
msgstr "Assassin"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
msgid "Unhuman"
msgstr "Inhumain"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
msgid "Godlike"
msgstr "Dieu"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:88
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
msgid "Mutators..."
msgstr "Spéciales..."
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:97
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:57
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:145
msgid "Advanced settings..."
msgstr "Paramètres avancés..."
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
msgid "Map list:"
msgstr "Liste de cartes:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
msgid "Select all"
msgstr "Tout sélectionner"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
msgid "Select none"
msgstr "Ne rien sélectionner"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
msgid "Start Multiplayer!"
msgstr "Démarrer!"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
msgid "Capture limit:"
msgstr "Limite de captures:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
msgid "Lives:"
msgstr "Vies:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
msgid "Laps:"
msgstr "Tours:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
msgid "Goals:"
msgstr "Buts:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
msgid "Frag limit:"
msgstr "Limite de tués:"
msgid "MinstaGib only"
msgstr "MinstaGib seulement"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
msgid "Title:"
msgstr "Titre:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
msgid "Author:"
msgstr "Auteur:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
msgid "Features:"
msgstr "Fonctions:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
msgid "Game types:"
msgstr "Modes de jeux:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:118
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:314
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
msgid "Close"
msgstr "Fermer"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
msgid "MAP^Play"
msgstr "Jouer"
msgstr "Arène de %s"
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:167
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:173
msgid "Dodging"
msgstr "Esquives"
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:250
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
msgid "MinstaGib"
msgstr "MinstaGib"
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:253
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:261
msgid "NIX"
msgstr "NIX"
#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:205
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:213
msgid "Rocket Flying"
msgstr "Roquettes volantes"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:264
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:210
+msgid "Invincible Projectiles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:272
msgid "No start weapons"
msgstr "Pas d'armes au début"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:189
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
msgid "Low gravity"
msgstr "Gravité basse"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:176
msgid "Cloaked"
msgstr "Joueurs transparents"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
msgid "Hook"
msgstr "Grappin"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:173
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
msgid "Midair"
msgstr "Midair"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:176
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:182
msgid "Vampire"
msgstr "Vampire"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:208
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
msgid "Piñata"
msgstr "Piñata"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:211
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:219
msgid "Weapons stay"
msgstr "Armes infinies"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:180
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:186
msgid "Blood loss"
msgstr "Perte de sang"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:202
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:207
msgid "Jet pack"
msgstr "Jet pack"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
+msgid "No powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
+#, fuzzy
+msgid "Powerups"
+msgstr "Panneau des Pouvoirs"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
msgid "MUT^None"
msgstr "Aucun"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170
msgid "Gameplay mutators:"
msgstr "Spéciales Mode de jeu:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
msgid "Weapon & item mutators:"
msgstr "Spéciales Armes et Objets:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
msgid "Grappling hook"
msgstr "Grappin"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223
msgid "Weapon arenas:"
msgstr "Arènes d'armes:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226
msgid "Regular (no arena)"
msgstr "Régulier (pas d'Arène)"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:239
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:256
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:264
msgid "with laser"
msgstr "avec le laser"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255
msgid "Special arenas:"
msgstr "Arènes Spéciales:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268
msgid "Most weapons"
msgstr "Beaucoup d'armes"
msgstr "Vidéo"
#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28
-msgid "Record demos while playing"
+#, fuzzy
+msgid "Automatically record demos while playing"
msgstr "Auto-enregistrement des Vidéos"
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:32
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:31
#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
msgid "Filter:"
msgstr "Recherche:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:33
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:32
#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:29
-#: qcsrc/menu/xonotic/dialog_settings_input.c:41
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:24
+#: qcsrc/menu/xonotic/dialog_settings_input.c:40
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
msgid "Clear"
msgstr "Effacer"
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45
msgid "Timedemo"
msgstr "Test Performance"
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48
msgid "DEMO^Play"
msgstr "Jouer"
msgstr "Pause"
#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262
msgid "Address:"
msgstr "Adresse:"
msgstr "Info..."
#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:317
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:342
msgid "Join!"
msgstr "Joindre !"
msgid "Server Information"
msgstr "Information Serveur"
-#: 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
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:132
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:133
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:242
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:247
msgid "N/A"
msgstr "N/A"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:158
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:179
#, c-format
-msgid "%d/%d, %d free player slots"
-msgstr "%d/%d, %d Emplacements libres"
+msgid "%d/%d"
+msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172
-#, c-format
-msgid "%d modified settings"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+#: qcsrc/menu/xonotic/util.qc:632 qcsrc/menu/xonotic/util.qc:648
+#: qcsrc/menu/xonotic/util.qc:657 qcsrc/menu/xonotic/util.qc:665
+#: qcsrc/menu/xonotic/util.qc:677
+msgid "Default"
+msgstr "Par défaut"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200
+#, fuzzy, c-format
+msgid "%d modified"
msgstr "paramètres modifiés: %d"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172
-msgid "Official settings"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200
+#, fuzzy
+msgid "Official"
msgstr "Paramètres Officiels"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197
-msgid "N/A (can't connect)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208
+#, fuzzy
+msgid "N/A (auth library missing, can't connect)"
msgstr "N/A (ne peut pas se connecter)"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205
-msgid "not supported (can't connect)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:210
+msgid "N/A (auth library missing)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216
+#, fuzzy
+msgid "Not supported (can't connect)"
msgstr "non supporté (ne peut pas se connecter)"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207
-msgid "not supported (won't encrypt)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218
+#, fuzzy
+msgid "Not supported (won't encrypt)"
msgstr "non supporté (pas de cryptage)"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211
-msgid "supported (will encrypt)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222
+#, fuzzy
+msgid "Supported (will encrypt)"
msgstr "supporté (cryptage)"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213
-msgid "supported (won't encrypt)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224
+#, fuzzy
+msgid "Supported (won't encrypt)"
msgstr "supporté (pas de cryptage)"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217
-msgid "requested (will encrypt)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228
+#, fuzzy
+msgid "Requested (will encrypt)"
msgstr "demandé (cryptage)"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219
-msgid "requested (won't encrypt)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230
+#, fuzzy
+msgid "Requested (won't encrypt)"
msgstr "demandé (pas de cryptage)"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223
-msgid "required (can't connect)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234
+#, fuzzy
+msgid "Required (can't connect)"
msgstr "nécessaire (ne peut pas se connecter)"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225
-msgid "required (will encrypt)"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236
+#, fuzzy
+msgid "Required (will encrypt)"
msgstr "nécessaire (cryptage)"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269
-msgid "Players:"
-msgstr "Joueurs:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:256
+#, fuzzy
+msgid "Hostname:"
+msgstr "Nom d'Hôte"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38
-msgid "Type:"
-msgstr "Type:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270
+#, fuzzy
+msgid "Gametype:"
+msgstr "Mode de jeu:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275
msgid "Map:"
msgstr "Carte:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264
-msgid "Gameplay:"
-msgstr "Mode:"
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274
-msgid "Bots:"
-msgstr "Robots:"
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280
msgid "Mod:"
msgstr "Modification:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285
msgid "Version:"
msgstr "Version:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289
-msgid "Ping:"
-msgstr "Latence:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
+#, fuzzy
+msgid "Settings:"
+msgstr "Préférences"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295
-msgid "CA:"
-msgstr "CA:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:297
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:329
+msgid "Players:"
+msgstr "Joueurs:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301
-msgid "Key:"
-msgstr "Clé:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302
+msgid "Bots:"
+msgstr "Robots:"
#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307
+#, fuzzy
+msgid "Free slots:"
+msgstr "Nombre de joueurs max.:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313
msgid "Encryption:"
msgstr "Cryptage:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318
+msgid "ID:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323
+msgid "Key:"
+msgstr "Clé:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19
msgid "Model:"
msgstr "Personnage:"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88
-msgid "Field of view:"
-msgstr "Champ de vision:"
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92
-msgid "View bobbing:"
-msgstr "Caméra marche:"
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96
-msgid "Zoom factor:"
-msgstr "Facteur de Zoom:"
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100
-msgid "Zoom speed:"
-msgstr "Vitesse de Zoom:"
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:103
-msgid "Weapon settings..."
-msgstr "Paramètres armes..."
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110
-msgid "Crosshair:"
+#, fuzzy
+msgid "No crosshair"
msgstr "Viseur:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:111
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139
-msgid "Per weapon"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90
+#, fuzzy
+msgid "Per weapon crosshair"
msgstr "Par arme"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
+#, fuzzy
+msgid "Custom crosshair"
+msgstr "Viseur:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112
msgid "Crosshair size:"
msgstr "Taille viseur:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:134
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
msgid "Crosshair alpha:"
msgstr "Opacité viseur:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:138
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123
msgid "Crosshair color:"
msgstr "Couleur viseur:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125
+msgid "Per weapon"
+msgstr "Par arme"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127
msgid "By health"
msgstr "Par vie"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:143
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:131
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
msgid "Custom"
msgstr "Personnalisé"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148
-msgid "Enable center dot"
-msgstr "Activer point central"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139
+#, fuzzy
+msgid "Other crosshair settings"
+msgstr "Paramètres match:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151
-msgid "Size:"
-msgstr "Taille:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
+#, fuzzy
+msgid "Model settings"
+msgstr "Sauvegarder"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158
-msgid "Hit test:"
-msgstr "Détection toucher:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
+#, fuzzy
+msgid "View settings"
+msgstr "Sauvegarder"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159
-msgid "HTST^None"
-msgstr "Aucun"
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160
-msgid "TrueAim"
-msgstr "TrueAim"
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161
-msgid "Enemies"
-msgstr "Ennemis"
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164
-msgid "Waypoints setup..."
-msgstr "Paramètres Waypoints..."
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+msgid "Weapon settings"
+msgstr "Paramètres d'armes"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169
-msgid "Enter HUD editor"
-msgstr "Éditer l'interface"
-
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174
-msgid "Force models:"
-msgstr "Forcer personnages:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
+#, fuzzy
+msgid "HUD settings"
+msgstr "Sauvegarder"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175
-msgid "MDL^None"
-msgstr "Aucun"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:203
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:185
+#: qcsrc/menu/xonotic/dialog_settings_input.c:89
+#: qcsrc/menu/xonotic/dialog_settings_user.c:88
+#: qcsrc/menu/xonotic/dialog_settings_video.c:142
+msgid "Apply immediately"
+msgstr "Appliquer maintenant"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176
-msgid "MDL^Custom"
-msgstr "Personnalisé"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
+#, fuzzy
+msgid "Crosshair settings"
+msgstr "Taille viseur:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177
-msgid "MDL^All"
-msgstr "Tout"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
+#, fuzzy
+msgid "Enable center crosshair dot"
+msgstr "Activer point central"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180
-msgid "Disable gore effects"
-msgstr "Désactiver effets gore"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
+#, fuzzy
+msgid "Dot size:"
+msgstr "Taille du Chat:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182
-msgid "Gibs:"
-msgstr "Gibs:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
+#, fuzzy
+msgid "Dot alpha:"
+msgstr "Opacité Waypoints:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184
-msgid "GIBS^None"
-msgstr "Aucun"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
+#, fuzzy
+msgid "Dot color:"
+msgstr "Couleur d'équipe:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185
-msgid "GIBS^Few"
-msgstr "Quelques"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
+#, fuzzy
+msgid "Use normal crosshair color"
+msgstr "Couleur viseur:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186
-msgid "GIBS^Many"
-msgstr "Plusieurs"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
+#, fuzzy
+msgid "Crosshair animations:"
+msgstr "Opacité viseur:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187
-msgid "GIBS^Lots"
-msgstr "Beaucoup"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
+msgid "Smooth effects of crosshairs"
+msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:191
-msgid "Damage splash:"
-msgstr "Effet santé faible:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
+msgid "Use rings to indicate weapon status"
+msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:195
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:173
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:194
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:30
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:41
-#: qcsrc/menu/xonotic/dialog_settings_video.c:109
-msgid "Apply immediately"
-msgstr "Appliquer maintenant"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
+#, fuzzy
+msgid "Hit testing:"
+msgstr "Détection toucher:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5
-msgid "Waypoints"
-msgstr "Waypoints"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
+#, fuzzy
+msgid "HTTST^Disabled"
+msgstr "Désactivé"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23
-msgid "Show base waypoints"
-msgstr "Montrer les Waypoints de drapeau"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
+#, fuzzy
+msgid "HTTST^TrueAim"
+msgstr "TrueAim"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25
-msgid "Waypoint scale:"
-msgstr "Taille des Waypoints:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
+#, fuzzy
+msgid "HTTST^Enemies"
+msgstr "Ennemis"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29
-msgid "Waypoint alpha:"
-msgstr "Opacité Waypoints:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
+msgid "Blur crosshair if the shot is obstructed"
+msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34
-msgid "Show names:"
-msgstr "Montrer les noms:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
+msgid "Animate when hitting an enemy"
+msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37
-msgid "Teammates"
-msgstr "Équipiers"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
+msgid "Animate when picking up an item"
+msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38
-msgid "All players"
-msgstr "Tous les joueurs"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
+#, fuzzy
+msgid "Damage:"
+msgstr "Effet santé faible:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
-msgid "Weapon settings"
-msgstr "Paramètres d'armes"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
+msgid "Overlay:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
+#, fuzzy
+msgid "Factor:"
+msgstr "Facteur de Zoom:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:52
+#, fuzzy
+msgid "Fade rate:"
+msgstr "Temps d'effacement d'une entrée:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:58
+msgid "Waypoints"
+msgstr "Waypoints"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:71
+msgid "Edge offset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:80
+#, fuzzy
+msgid "Show names above players"
+msgstr "Montrer les Images Par Seconde"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
+msgid "Only when near crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
+#, fuzzy
+msgid "Display health and armor"
+msgstr "Échanger positions Santé/Armure"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
+msgid "Enter HUD editor"
+msgstr "Éditer l'interface"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:28
+msgid "In order for the HUD editor to show, you must first be in game."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
+msgid "Do you wish to start a local game to set up the HUD?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
+msgid "HDCNFRM^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
+msgid "HDCNFRM^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
+#, fuzzy
+msgid "Body fading:"
+msgstr "Ajustement:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
+msgid "Gibs:"
+msgstr "Gibs:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
+msgid "GIBS^None"
+msgstr "Aucun"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
+msgid "GIBS^Few"
+msgstr "Quelques"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
+msgid "GIBS^Many"
+msgstr "Plusieurs"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
+msgid "GIBS^Lots"
+msgstr "Beaucoup"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40
+#, fuzzy
+msgid "Playermodel LOD:"
+msgstr "Joueur:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44
+msgid "Force models:"
+msgstr "Forcer personnages:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45
+msgid "MDL^None"
+msgstr "Aucun"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46
+msgid "MDL^Custom"
+msgstr "Personnalisé"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47
+msgid "MDL^All"
+msgstr "Tout"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50
+#, fuzzy
+msgid "Force player models to mine"
+msgstr "Forcer personnages:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52
+msgid "Force player colors to mine"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
+msgid "Field of view:"
+msgstr "Champ de vision:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
+#, fuzzy
+msgid "Zoom:"
+msgstr "Mode de Zoom:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
+#, fuzzy
+msgid "RETICLE^Fullscreen"
+msgstr "Plein écran"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
+msgid "RETICLE^With reticle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
+msgid "ZOOM^Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
+#, fuzzy
+msgid "ZOOM^Speed:"
+msgstr "Vitesse:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
+msgid "ZOOM^Instant"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
+#, fuzzy
+msgid "ZOOM^Sensitivity:"
+msgstr "Sensibilité:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
+msgid "Velocity zoom:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61
+#, fuzzy
+msgid "VZOOM^Disabled"
+msgstr "Désactivé"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
+msgid "VZOOM^Forward only"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
+msgid "VZOOM^All directions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
+msgid "VZOOM^Speed"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
+msgid "Allow passing through walls while spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
+msgid "1st person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
+msgid "Smooth the view when landing from a jump"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
+msgid "Smooth the view while crouching"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
+msgid "View waving while idle"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
+msgid "View bobbing while walking around"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
+msgid "3rd person perspective"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
+#, fuzzy
+msgid "Back distance"
+msgstr "Distance max. particules:"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
+#, fuzzy
+msgid "Up distance"
+msgstr "Distance max.:"
#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
msgid "Weapon priority list:"
msgstr "Liste de priorité armes:"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
msgid "Up"
msgstr "Haut"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
msgid "Down"
msgstr "Bas"
msgid "Auto switch weapons on pickup"
msgstr "Changer d'arme en prenant une arme meilleure"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:45
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
msgid "Draw 1st person weapon model"
msgstr "Afficher l'arme à la première personne"
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
-msgid "Flip view horizontally"
-msgstr "Vue Miroir"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58
+msgid "Gun model swaying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63
+#, fuzzy
+msgid "Gun model bobbing"
+msgstr "<modèle non trouvé>"
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68
+msgid "VWMDL^Scale"
+msgstr ""
#: qcsrc/menu/xonotic/dialog_news.c:4
msgid "News"
msgid "Quit"
msgstr "Quitter"
-#: qcsrc/menu/xonotic/dialog_quit.c:17
+#: qcsrc/menu/xonotic/dialog_quit.c:18
msgid "Are you sure you want to quit?"
msgstr "Voulez-vous vraiment quitter ?"
-#: qcsrc/menu/xonotic/dialog_quit.c:20
+#: qcsrc/menu/xonotic/dialog_quit.c:21
msgid "Yes"
msgstr "Oui"
-#: qcsrc/menu/xonotic/dialog_quit.c:21
+#: qcsrc/menu/xonotic/dialog_quit.c:22
msgid "No"
msgstr "Non"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
+msgid "Sandbox Tools"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:24
+msgid "Spawn"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+#, fuzzy
+msgid "Remove *"
+msgstr "Supprimer"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27
+msgid "Copy *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
+#, fuzzy
+msgid "Paste"
+msgstr "Général:"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:30
+msgid "Bone:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:35
+msgid "Set * as child"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
+msgid "Attach to *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:38
+msgid "Detach from *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:41
+msgid "Visual object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:43
+#, fuzzy
+msgid "Set skin:"
+msgstr "Apparences menu:"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45
+#, fuzzy
+msgid "Set alpha:"
+msgstr "Opacité Waypoints:"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48
+#, fuzzy
+msgid "Set color main:"
+msgstr "Couleur d'équipe:"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50
+#, fuzzy
+msgid "Set color glow:"
+msgstr "Couleur d'équipe:"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:54
+msgid "Set frame:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:58
+msgid "Physical object properties for *:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:60
+msgid "Set material:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:66
+#, fuzzy
+msgid "Set solidity:"
+msgstr "Sensibilité:"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
+msgid "Non-solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
+msgid "Solid"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
+msgid "Set physics:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
+msgid "Static"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
+msgid "Movable"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
+#, fuzzy
+msgid "Physical"
+msgstr "Panneau d'effets physiques"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74
+#, fuzzy
+msgid "Set scale:"
+msgstr "Taille de police:"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:76
+msgid "Set force:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:80
+msgid "Claim *"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:82
+msgid "* object info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
+msgid "* mesh info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
+msgid "* attachment info"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
+#, fuzzy
+msgid "Show help"
+msgstr "Montrer le netgraphe"
+
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
+msgid "* is the object you are facing"
+msgstr ""
+
#: qcsrc/menu/xonotic/dialog_settings.c:4
msgid "Settings"
msgstr "Préférences"
msgstr "Audio"
#: qcsrc/menu/xonotic/dialog_settings.c:22
-#: qcsrc/menu/xonotic/dialog_settings_network.c:4
-msgid "Network"
-msgstr "Réseau"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:4
+msgid "User"
+msgstr ""
#: qcsrc/menu/xonotic/dialog_settings.c:23
#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
msgid "Master:"
msgstr "Général:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:35
msgid "Music:"
msgstr "Musique:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:45
msgid "VOL^Ambient:"
msgstr "Ambiance:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:54
msgid "Info:"
msgstr "Information:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:63
msgid "Items:"
msgstr "Objets:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:72
msgid "Pain:"
msgstr "Douleur:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:81
msgid "Player:"
msgstr "Joueur:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:90
msgid "Shots:"
msgstr "Tirs:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:99
msgid "Voice:"
msgstr "Voix:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
msgid "Weapons:"
msgstr "Armes:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:98
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:156
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "New style sound attenuation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "Mute sounds when not active"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:194
msgid "Frequency:"
msgstr "Fréquence:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:100
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:124
msgid "8 kHz"
msgstr "8 kHz"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:101
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:125
msgid "11.025 kHz"
msgstr "11.025 kHz"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:102
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:126
msgid "16 kHz"
msgstr "16 kHz"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:103
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:127
msgid "22.05 kHz"
msgstr "22.05 kHz"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:128
msgid "24 kHz"
msgstr "24 kHz"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:129
msgid "32 kHz"
msgstr "32 kHz"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:130
msgid "44.1 kHz"
msgstr "44.1 kHz"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:131
msgid "48 kHz"
msgstr "48 kHz"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
msgid "Channels:"
msgstr "Canaux:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:112
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
msgid "Mono"
msgstr "Mono"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:113
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:137
msgid "Stereo"
msgstr "Stéréo"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:138
msgid "2.1"
msgstr "2.1"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:115
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
msgid "4"
msgstr "4"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:140
msgid "5"
msgstr "5"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
msgid "5.1"
msgstr "5.1"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
msgid "6.1"
msgstr "6.1"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
msgid "7.1"
msgstr "7.1"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:146
msgid "Swap Stereo"
msgstr "Échanger les canaux Stéréo"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:127
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:148
msgid "Headphone friendly mode"
msgstr "Mode casque audio"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:131
-msgid "Spatial voices:"
-msgstr "Voix personnages:"
-
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:132
-msgid "VOCS^None"
-msgstr "Aucun"
-
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:133
-msgid "VOCS^Taunts"
-msgstr "Voix"
-
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
-msgid "VOCS^All"
-msgstr "Tout"
-
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:137
-msgid "Taunt range:"
-msgstr "Distance voix:"
-
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:140
-msgid "RNG^Very short"
-msgstr "Très court"
-
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
-msgid "RNG^Short"
-msgstr "Court"
-
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
-msgid "RNG^Normal"
-msgstr "Normal"
-
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
-msgid "RNG^Long"
-msgstr "Long"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:170
+#, fuzzy
+msgid "Hit indication sound"
+msgstr "Son tir réussi"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
-msgid "RNG^Full"
-msgstr "Tout"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:172
+#, fuzzy
+msgid "Chat message sound"
+msgstr "Sons Chat:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:151
-msgid "Automatic taunts"
-msgstr "Voix automatiques"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:174
+msgid "Menu sounds"
+msgstr "Sons du menu"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:160
-msgid "Time warning:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:177
+#, fuzzy
+msgid "Time announcer:"
msgstr "Avertissement temps:"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:162
-msgid "WRN^None"
-msgstr "Aucun"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:179
+#, fuzzy
+msgid "WRN^Disabled"
+msgstr "Désactivé"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:163
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:180
msgid "1 minute"
msgstr "1 minute"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:181
msgid "5 minutes"
msgstr "5 minutes"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:165
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:182
msgid "WRN^Both"
msgstr "Les deux"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:168
-msgid "Hit indicator"
-msgstr "Son tir réussi"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:189
+msgid "Automatic taunts"
+msgstr "Voix automatiques"
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:170
-msgid "Menu sounds"
-msgstr "Sons du menu"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:199
+msgid "Debug info about sounds"
+msgstr ""
#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
msgid "Quality preset:"
msgstr "Extrême"
#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
-msgid "Antialiasing:"
-msgstr "Anticrénelage:"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:64
-msgid "AA^Disabled"
-msgstr "Désactivé"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:103
-msgid "2x"
-msgstr "2x"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:66
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:104
-msgid "4x"
-msgstr "4x"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
msgid "Texture resolution:"
msgstr "Qualité textures:"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
msgid "RES^Leet"
msgstr "Leet"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:74
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:66
msgid "RES^Lowest"
msgstr "Très Bas"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:75
-msgid "RES^Low"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:67
+#, fuzzy
+msgid "RES^Very low"
msgstr "Bas"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:76
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:68
+msgid "RES^Low"
+msgstr "Bas"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:69
msgid "RES^Normal"
msgstr "Normal"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:77
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
msgid "RES^Good"
msgstr "Bon"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:78
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
msgid "RES^Best"
msgstr "Élevé"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:91
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:94
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:84
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:87
msgid "Avoid lossy texture compression"
msgstr "Éviter la compression rapide"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:100
-msgid "Anisotropy:"
-msgstr "Filtrage Anisotrope:"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:102
-msgid "ANISO^Disabled"
-msgstr "Désactivé"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:93
+msgid "Use lightmaps"
+msgstr "Utiliser les lightmaps"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
-msgid "8x"
-msgstr "8x"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:94
+msgid "Deluxe mapping"
+msgstr "Textures Deluxe"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:106
-msgid "16x"
-msgstr "16x"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:96
+msgid "Gloss"
+msgstr "Brillance textures"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:110
-msgid "Particle quality:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:100
+#, fuzzy
+msgid "Particles quality:"
msgstr "Qualité particules:"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:113
-msgid "Particle distance:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:103
+#, fuzzy
+msgid "Particles distance:"
msgstr "Distance max. particules:"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:117
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:106
+#, fuzzy
+msgid "Damage effects:"
+msgstr "Effet d'effacement:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
+#, fuzzy
+msgid "DMGPRTCLS^Disabled"
+msgstr "Désactivé"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
+msgid "DMGPRTCLS^Skeletal"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:110
+#, fuzzy
+msgid "DMGPRTCLS^All"
+msgstr "Tout"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:114
msgid "Decals"
msgstr "Marques impacts"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:118
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:115
msgid "Decals on models"
msgstr "Décalques sur les modèles"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:122
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:119
msgid "Distance:"
msgstr "Distance max.:"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:128
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:125
msgid "Time:"
msgstr "Temps:"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:134
-msgid "Use lightmaps"
-msgstr "Utiliser les lightmaps"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:135
-msgid "Deluxe mapping"
-msgstr "Textures Deluxe"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:137
-msgid "Gloss"
-msgstr "Brillance textures"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:140
-msgid "Offset mapping"
-msgstr "Textures relief"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
-msgid "Relief mapping"
-msgstr "Textures relief avancé"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:145
-msgid "Reflections:"
-msgstr "Réflexions:"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
-msgid "Blurred"
-msgstr "Flou"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:149
-msgid "REFL^Good"
-msgstr "Bon"
-
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:150
-msgid "Sharp"
-msgstr "Net"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:131
+msgid "Coronas"
+msgstr "Brillance Lumière"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:155
-msgid "Show surfaces"
-msgstr "Textures unies"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Use Occlusion Queries"
+msgstr "Utiliser l'Occlusion du rendu"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:134
msgid "No dynamic lighting"
msgstr "Pas de lumières dynamiques"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:159
-msgid "Flash blend approximation"
-msgstr "Lumières dynamiques rapides"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:136
+#, fuzzy
+msgid "Fake corona lighting"
+msgstr "Lumières carte en temps réel"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:161
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
msgid "Realtime dynamic lighting"
msgstr "Lumières dynamiques en temps réel"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:162
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:166
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:139
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:143
msgid "Shadows"
msgstr "Ombres"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:165
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
msgid "Realtime world lighting"
msgstr "Lumières carte en temps réel"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:170
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:147
msgid "Use normal maps"
msgstr "Lumières Deluxe"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:172
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:149
msgid "Soft shadows"
msgstr "Ombres avancées"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:175
-msgid "Coronas"
-msgstr "Brillance Lumière"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+msgid "Show surfaces"
+msgstr "Textures unies"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:176
-msgid "Use Occlusion Queries"
-msgstr "Utiliser l'Occlusion du rendu"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:155
+msgid "Offset mapping"
+msgstr "Textures relief"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Relief mapping"
+msgstr "Textures relief avancé"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:178
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:159
+msgid "LOD"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:162
msgid "Bloom"
msgstr "Effets d'éblouissement"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:180
-msgid "High Dynamic Range (HDR)"
-msgstr "High Dynamic Range (HDR)"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:164
+msgid "Reflections:"
+msgstr "Réflexions:"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:167
+msgid "Blurred"
+msgstr "Flou"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:168
+msgid "REFL^Good"
+msgstr "Bon"
+
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:169
+msgid "Sharp"
+msgstr "Net"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:184
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:174
msgid "Motion blur:"
msgstr "Flou de vitesse:"
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:189
-msgid "Blur and sharpen postprocessing"
-msgstr "Flou et netteté post-processeur"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:179
+msgid "Extra postprocessing effects"
+msgstr ""
#: qcsrc/menu/xonotic/dialog_settings_input.c:26
msgid "Key bindings:"
msgstr "Contrôles:"
-#: qcsrc/menu/xonotic/dialog_settings_input.c:31
+#: qcsrc/menu/xonotic/dialog_settings_input.c:30
msgid "Change key..."
msgstr "Changer touche..."
-#: qcsrc/menu/xonotic/dialog_settings_input.c:35
+#: qcsrc/menu/xonotic/dialog_settings_input.c:34
msgid "Edit..."
msgstr "Éditer..."
-#: qcsrc/menu/xonotic/dialog_settings_input.c:46
-msgid "Sensitivity:"
-msgstr "Sensibilité:"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:45
+#, fuzzy
+msgid "Pressing \"enter console\" key also closes it"
+msgstr "\"ouvrir la console\" ferme aussi la console"
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:47
+msgid "Automatically repeat jumping if holding jump"
+msgstr ""
#: qcsrc/menu/xonotic/dialog_settings_input.c:51
-msgid "UI mouse speed:"
-msgstr "Vitesse souris menus:"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:53
+#: qcsrc/menu/xonotic/dialog_settings_input.c:56
+msgid "Use joystick input"
+msgstr "Utiliser une manette"
-#: qcsrc/menu/xonotic/dialog_settings_input.c:55
-msgid "Mouse filter"
-msgstr "Filtre Souris"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:61
+msgid "Mouse:"
+msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input.c:57
-msgid "Invert mouse"
-msgstr "Inverser souris (axe Y)"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:64
+msgid "Sensitivity:"
+msgstr "Sensibilité:"
-#: qcsrc/menu/xonotic/dialog_settings_input.c:60
-#: qcsrc/menu/xonotic/dialog_settings_input.c:62
-msgid "Use joystick input"
-msgstr "Utiliser une manette"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:68
+msgid "Smooth aiming"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_input.c:71
+#, fuzzy
+msgid "Invert aiming"
+msgstr "Inverser souris (axe Y)"
-#: 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_input.c:75
+#: qcsrc/menu/xonotic/dialog_settings_input.c:77
+#: qcsrc/menu/xonotic/dialog_settings_input.c:80
+#, fuzzy
+msgid "Disable system mouse acceleration"
msgstr "Désactiver l'accélération souris de l'OS"
-#: qcsrc/menu/xonotic/dialog_settings_input.c:69
-msgid "\"enter console\" also closes"
-msgstr "\"ouvrir la console\" ferme aussi la console"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:85
+#, fuzzy
+msgid "Enable built in mouse acceleration"
+msgstr "Désactiver l'accélération souris de l'OS"
#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
msgid "User defined key bind"
msgstr "Annuler"
#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
-msgid "Menu skins:"
+#, fuzzy
+msgid "Network:"
+msgstr "Réseau"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:31
+msgid "56k"
+msgstr "56k"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:32
+msgid "ISDN"
+msgstr "ISDN"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:33
+msgid "Slow ADSL"
+msgstr "ADSL lent"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:34
+msgid "Fast ADSL"
+msgstr "ADSL rapide"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Broadband"
+msgstr "Câble/Fibre optique"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:39
+msgid "Input packets/s:"
+msgstr "Paquets entrants/seconde:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:45
+msgid "Local latency:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:50
+msgid "Client UDP port:"
+msgstr "Port UDP client:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:55
+msgid "Show netgraph"
+msgstr "Montrer le netgraphe"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:59
+msgid "Client-side movement prediction"
+msgstr "Prédiction des mouvements joueur"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:62
+msgid "Movement error compensation"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:66
+msgid "Downloads:"
+msgstr "Téléchargements simultanés:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:69
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:81
+msgid "Maximum:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:73
+msgid "Speed (kB/s):"
+msgstr "Vitesse (Ko/seconde):"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
+msgid "Framerate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
+msgid "MAXFPS^5 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+msgid "MAXFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+msgid "MAXFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+msgid "MAXFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+msgid "MAXFPS^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+msgid "MAXFPS^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+msgid "MAXFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+msgid "MAXFPS^70 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+msgid "MAXFPS^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+msgid "MAXFPS^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+msgid "MAXFPS^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+msgid "MAXFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
+msgid "Target:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:100
+#, fuzzy
+msgid "TRGT^Disabled"
+msgstr "Désactivé"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+msgid "TRGT^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+msgid "TRGT^40 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+msgid "TRGT^50 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+msgid "TRGT^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+msgid "TRGT^100 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+msgid "TRGT^125 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+msgid "TRGT^200 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
+#, fuzzy
+msgid "Idle limit:"
+msgstr "Limite de temps:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:113
+msgid "IDLFPS^10 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+msgid "IDLFPS^20 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+msgid "IDLFPS^30 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+msgid "IDLFPS^60 fps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+msgid "IDLFPS^Unlimited"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
+msgid "Show frames per second"
+msgstr "Montrer les Images Par Seconde"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:125
+msgid "Save processing time for other apps"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:129
+#, fuzzy
+msgid "Menu tooltips:"
msgstr "Apparences menu:"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:47
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:131
+#, fuzzy
+msgid "TLTIP^Disabled"
+msgstr "Désactivé"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+msgid "TLTIP^Standard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+#, fuzzy
+msgid "TLTIP^Advanced"
+msgstr "Avancé"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
msgid "Show current time"
msgstr "Montrer l'heure"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:49
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:139
msgid "Show current date"
msgstr "Montrer la date"
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:51
-msgid "Show frames per second"
-msgstr "Montrer les Images Par Seconde"
-
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:53
-msgid "Minimize input latency"
-msgstr "Minimiser la latence des contrôles"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:141
+#, fuzzy
+msgid "Enable developer mode"
+msgstr "Activer point central"
#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
msgid "Advanced settings"
msgstr "Paramètres avancés"
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31
msgid "Cvar filter:"
msgstr "Recherche de commandes:"
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44
msgid "Setting:"
msgstr "Paramètre:"
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:48
+msgid "Type:"
+msgstr "Type:"
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:52
msgid "Value:"
msgstr "Valeur:"
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:68
msgid "Description:"
msgstr "Description:"
-#: qcsrc/menu/xonotic/dialog_settings_network.c:26
-msgid "Client-side movement prediction"
-msgstr "Prédiction des mouvements joueur"
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:30
-msgid "Show netgraph"
-msgstr "Montrer le netgraphe"
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:33
-msgid "Network speed:"
-msgstr "Vitesse réseau:"
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:35
-msgid "56k"
-msgstr "56k"
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:36
-msgid "ISDN"
-msgstr "ISDN"
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:37
-msgid "Slow ADSL"
-msgstr "ADSL lent"
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:38
-msgid "Fast ADSL"
-msgstr "ADSL rapide"
-
-#: qcsrc/menu/xonotic/dialog_settings_network.c:39
-msgid "Broadband"
-msgstr "Câble/Fibre optique"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:27
+msgid "Menu skins:"
+msgstr "Apparences menu:"
-#: qcsrc/menu/xonotic/dialog_settings_network.c:42
-msgid "Input packets/s:"
-msgstr "Paquets entrants/seconde:"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:31
+#, fuzzy
+msgid "Set skin"
+msgstr "Apparences menu:"
-#: qcsrc/menu/xonotic/dialog_settings_network.c:46
-msgid "HTTP downloads:"
-msgstr "Téléchargements:"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:74
+#, fuzzy
+msgid "Set language"
+msgstr "Langue écran:"
-#: qcsrc/menu/xonotic/dialog_settings_network.c:49
-msgid "Downloads:"
-msgstr "Téléchargements simultanés:"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:79
+#, fuzzy
+msgid "Disable gore effects and harsh language"
+msgstr "Désactiver effets gore"
-#: qcsrc/menu/xonotic/dialog_settings_network.c:53
-msgid "Speed (kB/s):"
-msgstr "Vitesse (Ko/seconde):"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:82
+msgid "Allow player statistics to track your client"
+msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:57
-msgid "Client UDP port:"
-msgstr "Port UDP client:"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:84
+msgid "Allow player statistics to use your nickname"
+msgstr ""
#: qcsrc/menu/xonotic/dialog_settings_video.c:26
msgid "Resolution:"
msgid "Color depth:"
msgstr "Profondeur de couleurs:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:44
+msgid "16bit"
+msgstr ""
+
#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "32bit"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:48
msgid "Full screen"
msgstr "Plein écran"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:46
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
msgid "Vertical Synchronization"
msgstr "Synchronisation verticale"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:49
-msgid "Use OpenGL 2.0 shaders (GLSL)"
-msgstr "Utiliser shader OpenGL 2.0 (GLSL)"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:53
+msgid "Anisotropy:"
+msgstr "Filtrage Anisotrope:"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:52
-msgid "Use GLSL to handle color control"
-msgstr "Utiliser GLSL pour gérer les couleurs"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:55
+msgid "ANISO^Disabled"
+msgstr "Désactivé"
#: qcsrc/menu/xonotic/dialog_settings_video.c:56
-msgid "Vertex Buffer Objects (VBOs)"
-msgstr "Objets en tampon mémoire (VBOs)"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:66
+msgid "2x"
+msgstr "2x"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:57
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "4x"
+msgstr "4x"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:58
+msgid "8x"
+msgstr "8x"
#: qcsrc/menu/xonotic/dialog_settings_video.c:59
-msgid "VBO^Off"
-msgstr "Désactivé"
+msgid "16x"
+msgstr "16x"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:60
-msgid "Vertices, some Tris (compatible)"
-msgstr "Points, quelques Triangles (compatible)"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:62
+msgid "Antialiasing:"
+msgstr "Anticrénelage:"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:63
-msgid "Vertices"
-msgstr "Points"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:65
+msgid "AA^Disabled"
+msgstr "Désactivé"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:64
-msgid "Vertices and Triangles"
-msgstr "Points et Triangles"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "High-quality frame buffer"
+msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+#: qcsrc/menu/xonotic/dialog_settings_video.c:76
msgid "Depth first:"
msgstr "Profondeur d'abord:"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:69
+#: qcsrc/menu/xonotic/dialog_settings_video.c:78
msgid "DF^Disabled"
msgstr "Désactivé"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:70
+#: qcsrc/menu/xonotic/dialog_settings_video.c:79
msgid "DF^World"
msgstr "Monde"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
msgid "DF^All"
msgstr "Tout"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:75
-msgid "Disable multithreaded OpenGL"
-msgstr "Désactiver OpenGL multi-coeurs"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Vertex Buffer Objects (VBOs)"
+msgstr "Objets en tampon mémoire (VBOs)"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:77
-msgid "Wait for GPU to finish each frame"
-msgstr "Attendre le GPU pour finir chaque trame"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "VBO^Off"
+msgstr "Désactivé"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+#: qcsrc/menu/xonotic/dialog_settings_video.c:87
+msgid "Vertices, some Tris (compatible)"
+msgstr "Points, quelques Triangles (compatible)"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:90
+msgid "Vertices"
+msgstr "Points"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Vertices and Triangles"
+msgstr "Points et Triangles"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:94
msgid "Brightness:"
msgstr "Luminosité:"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+#: qcsrc/menu/xonotic/dialog_settings_video.c:97
msgid "Contrast:"
msgstr "Contraste:"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+#: qcsrc/menu/xonotic/dialog_settings_video.c:100
msgid "Gamma:"
msgstr "Gamma:"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
msgid "Contrast boost:"
msgstr "Amélioration contraste:"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:96
+#: qcsrc/menu/xonotic/dialog_settings_video.c:110
msgid "Saturation:"
msgstr "Saturation:"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:102
+#: qcsrc/menu/xonotic/dialog_settings_video.c:116
msgid "LIT^Ambient:"
msgstr "Ambiance:"
-#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+#: qcsrc/menu/xonotic/dialog_settings_video.c:119
msgid "Intensity:"
msgstr "Intensité:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:123
+msgid "Use OpenGL 2.0 shaders (GLSL)"
+msgstr "Utiliser shader OpenGL 2.0 (GLSL)"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:125
+msgid "Use GLSL to handle color control"
+msgstr "Utiliser GLSL pour gérer les couleurs"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:128
+msgid "Wait for GPU to finish each frame"
+msgstr "Attendre le GPU pour finir chaque trame"
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:132
+msgid "Psycho coloring (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:135
+msgid "Trippy vertices (easter egg)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_video.c:138
+msgid "Flip view horizontally"
+msgstr "Vue Miroir"
+
#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
msgid "Singleplayer"
msgstr "Monojoueur"
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:127
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
msgid "Instant action! (random map with bots)"
msgstr "Instant action! (map aléatoire avec bots)"
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:148
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
+msgid "Campaign Difficulty:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:138
+msgid "CSKL^Easy"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:139
+#, fuzzy
+msgid "CSKL^Medium"
+msgstr "Moyen"
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:140
+msgid "CSKL^Hard"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:142
msgid "Start Singleplayer!"
msgstr "Démarrer !"
msgid "spectate"
msgstr "mode spectateur"
-#: qcsrc/menu/xonotic/mainwindow.c:35 qcsrc/menu/xonotic/mainwindow.c:38
+#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
msgid "Do not press this button again!"
msgstr "N'appuyez plus sur ce bouton !"
-#: qcsrc/menu/xonotic/maplist.c:278
+#: qcsrc/menu/xonotic/maplist.c:282
msgid ""
"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
msgstr ""
"Euh? Ne peut pas être joué. Re-filtrage pour éviter des nouveaux problèmes.\n"
-#: qcsrc/menu/xonotic/maplist.c:286
+#: qcsrc/menu/xonotic/maplist.c:290
#, c-format
msgid "%s's Xonotic Server"
msgstr "%s's Xonotic Server"
-#: qcsrc/menu/xonotic/maplist.c:291
+#: qcsrc/menu/xonotic/maplist.c:295
msgid ""
"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
"again.\n"
"Euh? Ne peut pas être joué. Mode de jeu invalide. Re-filtrage pour éviter "
"des nouveaux problèmes.\n"
-#: qcsrc/menu/xonotic/playermodel.c:174
+#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
+#, fuzzy
+msgid "spectator"
+msgstr "mode spectateur"
+
+#: qcsrc/menu/xonotic/playermodel.c:177
msgid "<no model found>"
msgstr "<modèle non trouvé>"
msgid "Bookmark"
msgstr "Marque-page"
-#: qcsrc/menu/xonotic/serverlist.c:527
+#: qcsrc/menu/xonotic/serverlist.c:548
msgid "Ping"
msgstr "Latence"
-#: qcsrc/menu/xonotic/serverlist.c:528
+#: qcsrc/menu/xonotic/serverlist.c:549
msgid "Host name"
msgstr "Nom d'Hôte"
-#: qcsrc/menu/xonotic/serverlist.c:529
+#: qcsrc/menu/xonotic/serverlist.c:550
msgid "Map"
msgstr "Carte"
-#: qcsrc/menu/xonotic/serverlist.c:530
+#: qcsrc/menu/xonotic/serverlist.c:551
msgid "Type"
msgstr "Mode"
-#: qcsrc/menu/xonotic/serverlist.c:531
+#: qcsrc/menu/xonotic/serverlist.c:552
msgid "Players"
msgstr "Joueurs"
msgid "%dx%d"
msgstr "%dx%d"
-#: qcsrc/menu/xonotic/util.qc:270
+#: qcsrc/menu/xonotic/util.qc:276
#, c-format
msgid "Received HTTP request data for an invalid id %d.\n"
msgstr "A reçu la demande HTTP d'ID invalide %d.\n"
-#: qcsrc/menu/xonotic/util.qc:285
+#: qcsrc/menu/xonotic/util.qc:291
#, c-format
msgid "error receiving update notification: status is %d\n"
msgstr ""
"erreur pour recevoir la notification de mise à jour: le statut est %d\n"
-#: qcsrc/menu/xonotic/util.qc:290
+#: qcsrc/menu/xonotic/util.qc:296
msgid "error: received HTML instead of an update notification\n"
msgstr ""
"erreur: a reçu un fichier HTML et non une notification de mise à jour\n"
-#: qcsrc/menu/xonotic/util.qc:295
+#: qcsrc/menu/xonotic/util.qc:301
msgid "error: received carriage returns from update notification server\n"
msgstr ""
"erreur: a reçu un message erroné depuis le serveur de notifications de M.A."
"J.\n"
-#: qcsrc/menu/xonotic/util.qc:316
+#: qcsrc/menu/xonotic/util.qc:322
#, c-format
msgid ""
"Update can be downloaded at:\n"
"La mise à jour peut être téléchargée ici:\n"
"%s\n"
-#: qcsrc/menu/xonotic/util.qc:337
+#: qcsrc/menu/xonotic/util.qc:351
msgid "Autogenerating mapinfo for newly added maps..."
msgstr "Génération des mapinfo pour les nouvelles cartes ajoutées..."
-#: qcsrc/menu/xonotic/util.qc:367
+#: qcsrc/menu/xonotic/util.qc:381
#, c-format
msgid "^1%s TEST BUILD"
msgstr "VERSION DE TEST ^1%s"
-#: qcsrc/menu/xonotic/util.qc:432
+#: qcsrc/menu/xonotic/util.qc:439
#, c-format
msgid "Update to %s now!"
msgstr "Mettez à jour vers %s maintenant !"
-#: qcsrc/menu/xonotic/util.qc:501
+#: qcsrc/menu/xonotic/util.qc:524
msgid ""
"^1ERROR: Texture compression is required but not supported.\n"
"^1Expect visual problems.\n"
"^1ERROR: La texture de compression est nécessaire mais non supportée.\n"
"^1Attendez vous à voir des problèmes de rendu.\n"
-#: qcsrc/menu/xonotic/util.qc:523
-msgid "Arena"
-msgstr "Arène Duel"
+#: qcsrc/menu/xonotic/util.qc:643
+msgid "Use default"
+msgstr "Par défaut"
-#: qcsrc/menu/xonotic/util.qc:524
-msgid "Assault"
-msgstr "Assaut"
+#: qcsrc/menu/xonotic/util.qc:663
+msgid "Team Color:"
+msgstr "Couleur d'équipe:"
-#: qcsrc/menu/xonotic/util.qc:525
-msgid "Capture The Flag"
-msgstr "Capture Du Drapeau"
+#: qcsrc/menu/xonotic/util.qh:50
+msgid "Enable panel"
+msgstr "Activer ce panneau"
-#: qcsrc/menu/xonotic/util.qc:526
-msgid "Clan Arena"
-msgstr "Arène Équipes"
+#: weapons.qc.tmp:1
+msgid "Rifle"
+msgstr "Fusil"
-#: qcsrc/menu/xonotic/util.qc:527
-msgid "Deathmatch"
-msgstr "Match à Mort"
+#: weapons.qc.tmp:2
+msgid "Machine Gun"
+msgstr "Mitraillette"
-#: qcsrc/menu/xonotic/util.qc:528
-msgid "Domination"
-msgstr "Domination"
+#: weapons.qc.tmp:3
+msgid "Rocket Launcher"
+msgstr "Lance-Roquettes"
-#: qcsrc/menu/xonotic/util.qc:529
-msgid "Freeze Tag"
-msgstr "Freeze Tag"
+#: weapons.qc.tmp:4
+msgid "Port-O-Launch"
+msgstr "Lance-O-Port"
-#: qcsrc/menu/xonotic/util.qc:530
-msgid "Keepaway"
-msgstr "Cache-Cache Du Drapeau"
+#: weapons.qc.tmp:5
+msgid "Grappling Hook"
+msgstr "Grappin"
-#: qcsrc/menu/xonotic/util.qc:531
-msgid "Key Hunt"
-msgstr "Chasse aux Clés"
+#: weapons.qc.tmp:6
+msgid "Electro"
+msgstr "Electro"
-#: qcsrc/menu/xonotic/util.qc:532
-msgid "Last Man Standing"
-msgstr "Dernier Survivant"
+#: weapons.qc.tmp:7
+msgid "Laser"
+msgstr "Laser"
-#: qcsrc/menu/xonotic/util.qc:533
-msgid "Nexball"
-msgstr "Nexball"
+#: weapons.qc.tmp:8
+msgid "Shotgun"
+msgstr "Fusil"
-#: qcsrc/menu/xonotic/util.qc:534
-msgid "Onslaught"
-msgstr "Onslaught"
+#: weapons.qc.tmp:9
+#, c-format
+msgid "@!#%'n Tuba"
+msgstr "@!#% Tuba"
-#: qcsrc/menu/xonotic/util.qc:535
-msgid "Race"
-msgstr "Course"
+#: weapons.qc.tmp:10
+msgid "MinstaNex"
+msgstr "MinstaNex"
-#: qcsrc/menu/xonotic/util.qc:536
-msgid "Race CTS"
-msgstr "Course CTS"
+#: weapons.qc.tmp:11
+msgid "Crylink"
+msgstr "Crylink"
-#: qcsrc/menu/xonotic/util.qc:537
-msgid "Runematch"
-msgstr "Runematch"
+#: weapons.qc.tmp:12
+msgid "Heavy Laser Assault Cannon"
+msgstr "Canon Laser Lourd d'Assaut "
-#: qcsrc/menu/xonotic/util.qc:538
-msgid "Team Deathmatch"
-msgstr "Match à Mort Équipe"
+#: weapons.qc.tmp:13
+msgid "Mortar"
+msgstr "Mortier"
-#: qcsrc/menu/xonotic/util.qc:557
-#, c-format
-msgid "@!#%'n Tuba Throwing"
-msgstr "Lancer de @!#%'n Tuba"
+#: weapons.qc.tmp:14
+msgid "Hagar"
+msgstr "Hagar"
-#: 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 "Par défaut"
+#: weapons.qc.tmp:15
+msgid "T.A.G. Seeker"
+msgstr "T.A.G. Chercheur"
-#: qcsrc/menu/xonotic/util.qc:588
-msgid "Use default"
-msgstr "Par défaut"
+#: weapons.qc.tmp:16
+msgid "Fireball"
+msgstr "Boule de Feu"
-#: qcsrc/menu/xonotic/util.qc:608
-msgid "Team Color:"
-msgstr "Couleur d'équipe:"
+#: weapons.qc.tmp:17
+msgid "Mine Layer"
+msgstr "Lance-Mines"
-#: qcsrc/menu/xonotic/util.qh:47
-msgid "Enable panel"
-msgstr "Activer ce panneau"
+#: weapons.qc.tmp:18
+msgid "Nex"
+msgstr "Nex"
-#: qcsrc/server/w_crylink.qc:2
-msgid "Crylink"
-msgstr "Crylink"
+#~ msgid "Powerup sharpen"
+#~ msgstr "Panneau des Pouvoirs"
-#: qcsrc/server/w_crylink.qc:666
-#, c-format
-msgid "%s succeeded at self-destructing themself with the Crylink"
-msgstr "%s a réussi à se suicider avec le Crylink"
+#~ msgid "Damage & water blur"
+#~ msgstr "Flou de d�g�ts:"
-#: qcsrc/server/w_crylink.qc:671
-#, c-format
-msgid "%s could not hide from %s's Crylink"
-msgstr "%s n'a pas pu se cacher du Crylink de %s"
+#~ msgid "%s was riddled full of holes by %s"
+#~ msgstr "%s s'est fait trouer par %s"
-#: qcsrc/server/w_crylink.qc:673
-#, c-format
-msgid "%s was too close to %s's Crylink"
-msgstr "%s a été trop près du Crylink de %s"
+#~ msgid "%s died of %s's great playing on the @!#%%'n Tuba"
+#~ msgstr "%s n'a pas aimé la musique de %s et en est mort"
-#: qcsrc/server/w_crylink.qc:675
-#, c-format
-msgid "%s took a close look at %s's Crylink"
-msgstr "%s a voulu voir se qui se trouvait dans le Crylink de %s"
+#~ msgid "%s hurt his own ears with the @!#%%'n Tuba"
+#~ msgstr "%s s'est fait casser les tympans par son propre tuba"
-#: qcsrc/server/w_electro.qc:2
-msgid "Electro"
-msgstr "Electro"
+#~ msgid "%s was gunned by %s"
+#~ msgstr "%s s'est fait fusiller par %s"
-#: qcsrc/server/w_electro.qc:574
-#, c-format
-msgid "%s could not remember where they put plasma"
-msgstr "%s ne se souvenait pas où il a tiré du plasma"
+#~ 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_electro.qc:576
-#, c-format
-msgid "%s played with plasma"
-msgstr "%s a joué avec du plasma"
+#~ msgid "%s was tagged by %s"
+#~ msgstr "%s s'est fait tagguer par %s"
-#: qcsrc/server/w_electro.qc:583
-#, c-format
-msgid "%s just noticed %s's blue ball"
-msgstr "%s vient de remarquer la boule plasma de %s"
+#~ msgid "%s ate %s's rocket"
+#~ msgstr "%s a mangé la roquette de %s"
-#: qcsrc/server/w_electro.qc:585
-#, c-format
-msgid "%s got in touch with %s's blue ball"
-msgstr "%s s'est fait toucher par la boule plasma de %s"
+#~ msgid "%s almost dodged %s's rocket"
+#~ msgstr "%s a presque esquivé la roquette de %s"
-#: qcsrc/server/w_electro.qc:590
-#, c-format
-msgid "%s felt the electrifying air of %s's combo"
-msgstr "%s se sent électrisé par le combo de %s"
+#~ msgid "%s got too close to %s's rocket"
+#~ msgstr "%s s'est trop approché de la roquette de %s"
-#: qcsrc/server/w_electro.qc:592
-#, c-format
-msgid "%s got too close to %s's blue beam"
-msgstr "%s a été trop près du rayon plasma de %s"
+#~ msgid "%s was sniped by %s"
+#~ msgstr "%s s'est fait descendre au sniper par %s"
-#: qcsrc/server/w_electro.qc:594
-#, c-format
-msgid "%s was blasted by %s's blue beam"
-msgstr "%s a été désintégré à cause du rayon plasma de %s"
+#~ msgid "%s got hit in the head by %s"
+#~ msgstr "%s s'est fait décapiter au sniper par %s"
-#: qcsrc/server/w_fireball.qc:2
-msgid "Fireball"
-msgstr "Boule de Feu"
+#~ msgid "%s failed to hide from %s's rifle"
+#~ msgstr "%s n'a pas réussi à se cacher du sniper de %s"
-#: qcsrc/server/w_fireball.qc:417
-#, c-format
-msgid "%s forgot about some firemine"
-msgstr "%s n'a pas étudié la combustion des boules de feu"
+#~ msgid "%s died in %s's bullet hail"
+#~ msgstr "%s est mort de la nuée de balles de %s"
-#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240
-#, c-format
-msgid "%s should have used a smaller gun"
-msgstr "%s aurait dû utiliser une arme plus petite"
+#~ msgid "%s failed to hide from %s's bullet hail"
+#~ msgstr "%s n'a pas pu se cacher de la nuée de balles de %s"
-#: qcsrc/server/w_fireball.qc:426
-#, c-format
-msgid "%s tried to catch %s's firemine"
-msgstr "%s a pensé que la boule de feu de %s était un ballon de football"
+#~ msgid "%s sniped themself somehow"
+#~ msgstr "%s a oublié le cran de sûreté en chargeant"
-#: qcsrc/server/w_fireball.qc:428
-#, c-format
-msgid "%s fatefully ignored %s's firemine"
-msgstr "%s a ignoré la boule de feu de %s"
+#~ msgid "%s shot themself automatically"
+#~ msgstr "%s s'est suicidé au sniper"
-#: qcsrc/server/w_fireball.qc:435
-#, c-format
-msgid "%s could not hide from %s's fireball"
-msgstr "%s n'a pas réussi à se cacher de la boule de feu de %s"
+#~ msgid "%s felt %s doing the impossible to him"
+#~ msgstr "%s a eu tort de prendre le portail de %s"
-#: qcsrc/server/w_fireball.qc:437
-#, c-format
-msgid "%s saw the pretty lights of %s's fireball"
-msgstr "%s a vu les belles lumières de la boule de feu de %s"
+#~ msgid "%s has been vaporized by %s"
+#~ msgstr "%s s'est fait vaporiser par %s"
-#: qcsrc/server/w_fireball.qc:440
-#, c-format
-msgid "%s got too close to %s's fireball"
-msgstr "%s s'est trop approché de la boule de feu de %s"
+#~ msgid "%s is now thinking with portals"
+#~ msgstr "%s pense maintenant avec les portails"
-#: qcsrc/server/w_fireball.qc:442
-#, c-format
-msgid "%s tasted %s's fireball"
-msgstr "%s a goûté la boule de feu de %s"
+#~ msgid "%s stepped on %s's mine"
+#~ msgstr "%s a marché sur la mine de %s"
-#: qcsrc/server/w_grenadelauncher.qc:2
-msgid "Mortar"
-msgstr "Mortier"
+#~ msgid "%s almost dodged %s's mine"
+#~ msgstr "%s a presque esquivé la mine de %s"
-#: qcsrc/server/w_grenadelauncher.qc:383
-#, c-format
-msgid "%s tried out his own grenade"
-msgstr "%s a mangé sa propre grenade"
+#~ msgid "%s got too close to %s's mine"
+#~ msgstr "%s s'est trop approché de la mine de %s"
-#: qcsrc/server/w_grenadelauncher.qc:385
-#, c-format
-msgid "%s detonated"
-msgstr "%s a fait boum"
+#~ msgid "%s exploded"
+#~ msgstr "%s a explosé"
-#: qcsrc/server/w_grenadelauncher.qc:391
-#, c-format
-msgid "%s didn't see %s's grenade"
-msgstr "%s n'a pas vu la grenade de %s"
+#~ msgid "%s was lasered to death by %s"
+#~ msgstr "%s a été désintégré par le laser de %s"
-#: qcsrc/server/w_grenadelauncher.qc:393
-#, c-format
-msgid "%s almost dodged %s's grenade"
-msgstr "%s a presque réussi à esquiver la grenade de %s"
+#~ 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_grenadelauncher.qc:395
-#, c-format
-msgid "%s ate %s's grenade"
-msgstr "%s a mangé la grenade de %s"
+#~ msgid "%s lasered themself to hell"
+#~ msgstr "%s s'est suicidé au laser"
-#: qcsrc/server/w_hagar.qc:2
-msgid "Hagar"
-msgstr "Hagar"
+#~ msgid "%s has run into %s's gravity bomb"
+#~ msgstr "%s a été emprisonné par la bombe à gravité de %s"
-#: qcsrc/server/w_hagar.qc:395 qcsrc/server/w_seeker.qc:655
-#, c-format
-msgid "%s played with tiny rockets"
-msgstr "%s a joué avec des petits missiles"
+#~ msgid "%s did the impossible"
+#~ msgstr "%s a fait l'impossible"
-#: qcsrc/server/w_hagar.qc:399
-#, c-format
-msgid "%s hoped %s's missiles wouldn't bounce"
-msgstr "%s a pensé que les petits missiles de %s ne rebondissaient pas"
+#~ msgid "%s was cut down by %s"
+#~ msgstr "%s s'est fait couper par %s"
-#: qcsrc/server/w_hagar.qc:401 qcsrc/server/w_seeker.qc:661
-#, c-format
-msgid "%s was pummeled by %s"
-msgstr "%s a trop mangé de mini-missiles de la part de %s"
+#~ msgid "%s was pummeled by %s"
+#~ msgstr "%s a trop mangé de mini-missiles de la part de %s"
-#: qcsrc/server/w_hlac.qc:2
-msgid "Heavy Laser Assault Cannon"
-msgstr "Canon Laser Lourd d'Assaut "
+#~ msgid "%s hoped %s's missiles wouldn't bounce"
+#~ msgstr "%s a pensé que les petits missiles de %s ne rebondissaient pas"
-#: qcsrc/server/w_hlac.qc:242
-#, c-format
-msgid "%s was cut down by %s"
-msgstr "%s s'est fait couper par %s"
+#~ msgid "%s played with tiny rockets"
+#~ msgstr "%s a joué avec des petits missiles"
-#: qcsrc/server/w_hook.qc:2
-msgid "Grappling Hook"
-msgstr "Grappin"
+#~ msgid "%s ate %s's grenade"
+#~ msgstr "%s a mangé la grenade de %s"
-#: 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"
+#~ msgid "%s almost dodged %s's grenade"
+#~ msgstr "%s a presque réussi à esquiver la grenade de %s"
-#: qcsrc/server/w_hook.qc:268
-#, c-format
-msgid "%s has run into %s's gravity bomb"
-msgstr "%s a été emprisonné par la bombe à gravité de %s"
+#~ msgid "%s didn't see %s's grenade"
+#~ msgstr "%s n'a pas vu la grenade de %s"
-#: qcsrc/server/w_laser.qc:2
-msgid "Laser"
-msgstr "Laser"
+#~ msgid "%s detonated"
+#~ msgstr "%s a fait boum"
-#: qcsrc/server/w_laser.qc:311
-#, c-format
-msgid "%s lasered themself to hell"
-msgstr "%s s'est suicidé au laser"
+#~ msgid "%s tried out his own grenade"
+#~ msgstr "%s a mangé sa propre grenade"
-#: 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"
+#~ msgid "%s tasted %s's fireball"
+#~ msgstr "%s a goûté la boule de feu de %s"
-#: 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"
+#~ msgid "%s got too close to %s's fireball"
+#~ msgstr "%s s'est trop approché de la boule de feu de %s"
-#: qcsrc/server/w_minelayer.qc:2
-msgid "Mine Layer"
-msgstr "Lance-Mines"
+#~ msgid "%s saw the pretty lights of %s's fireball"
+#~ msgstr "%s a vu les belles lumières de la boule de feu de %s"
-#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501
-#, c-format
-msgid "%s exploded"
-msgstr "%s a explosé"
+#~ msgid "%s could not hide from %s's fireball"
+#~ msgstr "%s n'a pas réussi à se cacher de la boule de feu de %s"
-#: 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"
+#~ msgid "%s fatefully ignored %s's firemine"
+#~ msgstr "%s a ignoré la boule de feu de %s"
-#: qcsrc/server/w_minelayer.qc:529
-#, c-format
-msgid "%s almost dodged %s's mine"
-msgstr "%s a presque esquivé la mine de %s"
+#~ msgid "%s tried to catch %s's firemine"
+#~ msgstr "%s a pensé que la boule de feu de %s était un ballon de football"
-#: qcsrc/server/w_minelayer.qc:531
-#, c-format
-msgid "%s stepped on %s's mine"
-msgstr "%s a marché sur la mine de %s"
+#~ msgid "%s should have used a smaller gun"
+#~ msgstr "%s aurait dû utiliser une arme plus petite"
-#: qcsrc/server/w_minstanex.qc:2
-msgid "MinstaNex"
-msgstr "MinstaNex"
+#~ msgid "%s forgot about some firemine"
+#~ msgstr "%s n'a pas étudié la combustion des boules de feu"
-#: qcsrc/server/w_minstanex.qc:293 qcsrc/server/w_nex.qc:253
-#: qcsrc/server/w_shotgun.qc:215 qcsrc/server/w_uzi.qc:317
-#, c-format
-msgid "%s is now thinking with portals"
-msgstr "%s pense maintenant avec les portails"
+#~ msgid "%s was blasted by %s's blue beam"
+#~ msgstr "%s a été désintégré à cause du rayon plasma de %s"
-#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:255
-#, c-format
-msgid "%s has been vaporized by %s"
-msgstr "%s s'est fait vaporiser par %s"
+#~ 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_nex.qc:2
-msgid "Nex"
-msgstr "Nex"
+#~ msgid "%s felt the electrifying air of %s's combo"
+#~ msgstr "%s se sent électrisé par le combo de %s"
-#: qcsrc/server/w_porto.qc:2
-msgid "Port-O-Launch"
-msgstr "Lance-O-Port"
+#~ 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_porto.qc:298
-#, c-format
-msgid "%s felt %s doing the impossible to him"
-msgstr "%s a eu tort de prendre le portail de %s"
+#~ msgid "%s just noticed %s's blue ball"
+#~ msgstr "%s vient de remarquer la boule plasma de %s"
-#: qcsrc/server/w_rifle.qc:2
-msgid "Rifle"
-msgstr "Fusil"
+#~ msgid "%s played with plasma"
+#~ msgstr "%s a joué avec du plasma"
-#: qcsrc/server/w_rifle.qc:233
-#, c-format
-msgid "%s shot themself automatically"
-msgstr "%s s'est suicidé au sniper"
+#~ msgid "%s could not remember where they put plasma"
+#~ msgstr "%s ne se souvenait pas où il a tiré du plasma"
-#: qcsrc/server/w_rifle.qc:235
-#, c-format
-msgid "%s sniped themself somehow"
-msgstr "%s a oublié le cran de sûreté en chargeant"
+#~ msgid "%s took a close look at %s's Crylink"
+#~ msgstr "%s a voulu voir se qui se trouvait dans le Crylink de %s"
-#: qcsrc/server/w_rifle.qc:242
-#, c-format
-msgid "%s failed to hide from %s's bullet hail"
-msgstr "%s n'a pas pu se cacher de la nuée de balles de %s"
+#~ msgid "%s was too close to %s's Crylink"
+#~ msgstr "%s a été trop près du Crylink de %s"
-#: qcsrc/server/w_rifle.qc:244
-#, c-format
-msgid "%s died in %s's bullet hail"
-msgstr "%s est mort de la nuée de balles de %s"
+#~ msgid "%s could not hide from %s's Crylink"
+#~ msgstr "%s n'a pas pu se cacher du Crylink de %s"
-#: qcsrc/server/w_rifle.qc:251
-#, c-format
-msgid "%s failed to hide from %s's rifle"
-msgstr "%s n'a pas réussi à se cacher du sniper de %s"
+#~ msgid "%s succeeded at self-destructing themself with the Crylink"
+#~ msgstr "%s a réussi à se suicider avec le Crylink"
-#: qcsrc/server/w_rifle.qc:256
-#, c-format
-msgid "%s got hit in the head by %s"
-msgstr "%s s'est fait décapiter au sniper par %s"
+#~ msgid "Disable multithreaded OpenGL"
+#~ msgstr "Désactiver OpenGL multi-coeurs"
-#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321
-#, c-format
-msgid "%s was sniped by %s"
-msgstr "%s s'est fait descendre au sniper par %s"
+#~ msgid "HTTP downloads:"
+#~ msgstr "Téléchargements:"
-#: qcsrc/server/w_rocketlauncher.qc:2
-msgid "Rocket Launcher"
-msgstr "Lance-Roquettes"
+#~ msgid "Network speed:"
+#~ msgstr "Vitesse réseau:"
-#: qcsrc/server/w_rocketlauncher.qc:505
-#, c-format
-msgid "%s got too close to %s's rocket"
-msgstr "%s s'est trop approché de la roquette de %s"
+#~ msgid "Minimize input latency"
+#~ msgstr "Minimiser la latence des contrôles"
-#: qcsrc/server/w_rocketlauncher.qc:507
-#, c-format
-msgid "%s almost dodged %s's rocket"
-msgstr "%s a presque esquivé la roquette de %s"
+#~ msgid "Mouse filter"
+#~ msgstr "Filtre Souris"
-#: qcsrc/server/w_rocketlauncher.qc:509
-#, c-format
-msgid "%s ate %s's rocket"
-msgstr "%s a mangé la roquette de %s"
+#~ msgid "UI mouse speed:"
+#~ msgstr "Vitesse souris menus:"
-#: qcsrc/server/w_seeker.qc:2
-msgid "T.A.G. Seeker"
-msgstr "T.A.G. Chercheur"
+#~ msgid "Blur and sharpen postprocessing"
+#~ msgstr "Flou et netteté post-processeur"
-#: qcsrc/server/w_seeker.qc:659
-#, c-format
-msgid "%s was tagged by %s"
-msgstr "%s s'est fait tagguer par %s"
+#~ msgid "High Dynamic Range (HDR)"
+#~ msgstr "High Dynamic Range (HDR)"
-#: qcsrc/server/w_shotgun.qc:2
-msgid "Shotgun"
-msgstr "Fusil"
+#~ msgid "Flash blend approximation"
+#~ msgstr "Lumières dynamiques rapides"
-#: qcsrc/server/w_shotgun.qc:219
-#, 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"
+#~ msgid "WRN^None"
+#~ msgstr "Aucun"
-#: qcsrc/server/w_shotgun.qc:221
-#, c-format
-msgid "%s was gunned by %s"
-msgstr "%s s'est fait fusiller par %s"
+#~ msgid "RNG^Full"
+#~ msgstr "Tout"
-#: qcsrc/server/w_tuba.qc:2
-#, c-format
-msgid "@!#%'n Tuba"
-msgstr "@!#% Tuba"
+#~ msgid "RNG^Long"
+#~ msgstr "Long"
-#: qcsrc/server/w_tuba.qc:252
-#, c-format
-msgid "%s hurt his own ears with the @!#%%'n Tuba"
-msgstr "%s s'est fait casser les tympans par son propre tuba"
+#~ msgid "RNG^Normal"
+#~ msgstr "Normal"
-#: qcsrc/server/w_tuba.qc:256
-#, c-format
-msgid "%s died of %s's great playing on the @!#%%'n Tuba"
-msgstr "%s n'a pas aimé la musique de %s et en est mort"
+#~ msgid "RNG^Short"
+#~ msgstr "Court"
-#: qcsrc/server/w_uzi.qc:2
-msgid "Machine Gun"
-msgstr "Mitraillette"
+#~ msgid "RNG^Very short"
+#~ msgstr "Très court"
-#: qcsrc/server/w_uzi.qc:323
-#, c-format
-msgid "%s was riddled full of holes by %s"
-msgstr "%s s'est fait trouer par %s"
+#~ msgid "Taunt range:"
+#~ msgstr "Distance voix:"
-#~ msgid "Damage & water blur"
-#~ msgstr "Flou de d�g�ts:"
+#~ msgid "VOCS^All"
+#~ msgstr "Tout"
-#~ msgid "Powerup sharpen"
-#~ msgstr "Panneau des Pouvoirs"
+#~ msgid "VOCS^Taunts"
+#~ msgstr "Voix"
+
+#~ msgid "VOCS^None"
+#~ msgstr "Aucun"
+
+#~ msgid "Spatial voices:"
+#~ msgstr "Voix personnages:"
+
+#~ msgid "All players"
+#~ msgstr "Tous les joueurs"
+
+#~ msgid "Teammates"
+#~ msgstr "Équipiers"
+
+#~ msgid "Show names:"
+#~ msgstr "Montrer les noms:"
+
+#~ msgid "Waypoint scale:"
+#~ msgstr "Taille des Waypoints:"
+
+#~ msgid "Waypoints setup..."
+#~ msgstr "Paramètres Waypoints..."
+
+#~ msgid "HTST^None"
+#~ msgstr "Aucun"
+
+#~ msgid "Size:"
+#~ msgstr "Taille:"
+
+#~ msgid "Weapon settings..."
+#~ msgstr "Paramètres armes..."
+
+#~ msgid "Zoom speed:"
+#~ msgstr "Vitesse de Zoom:"
+
+#~ msgid "View bobbing:"
+#~ msgstr "Caméra marche:"
+
+#~ msgid "CA:"
+#~ msgstr "CA:"
+
+#~ msgid "Ping:"
+#~ msgstr "Latence:"
+
+#~ msgid "Gameplay:"
+#~ msgstr "Mode:"
+
+#~ msgid "%d/%d, %d free player slots"
+#~ msgstr "%d/%d, %d Emplacements libres"
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-12-25 22:57+0100\n"
+"POT-Creation-Date: 2012-01-26 12:24+0100\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"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: qcsrc/menu/xonotic/dialog_firstrun.c:4
-msgid "Welcome"
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
+msgid "Engine Info Panel"
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/dialog_hudpanel_engineinfo.c:22
+msgid "Engine info:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_firstrun.c:38
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
-msgid "Text language:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:25
+msgid "Use an averaging algorithm for fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_firstrun.c:47
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:40
-msgid "Name:"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
+msgid "Singleplayer"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_firstrun.c:69
-msgid "Save settings"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
+msgid "Instant action! (random map with bots)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4
-msgid "Ammo Panel"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
+#: qcsrc/menu/xonotic/campaign.c:288
+msgid "???"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:22
-msgid "Ammunition display:"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
+msgid "Campaign Difficulty:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:25
-msgid "Show only current ammo type"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:138
+msgid "CSKL^Easy"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:28
-msgid "Align icon:"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:139
+msgid "CSKL^Medium"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29
-#: 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_centerprint.c:36
-msgid "Left"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:140
+msgid "CSKL^Hard"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30
-#: 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_centerprint.c:38
-msgid "Right"
+#: qcsrc/menu/xonotic/dialog_singleplayer.c:142
+msgid "Start Singleplayer!"
msgstr ""
-#: qcsrc/menu/xonotic/mainwindow.c:35 qcsrc/menu/xonotic/mainwindow.c:38
-msgid "Do not press this button again!"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6
+msgid "Crosshair settings"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:276
-#, c-format
-msgid "Received HTTP request data for an invalid id %d.\n"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28
+msgid "Enable center crosshair dot"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:291
-#, c-format
-msgid "error receiving update notification: status is %d\n"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31
+msgid "Dot size:"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:296
-msgid "error: received HTML instead of an update notification\n"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36
+msgid "Dot alpha:"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:301
-msgid "error: received carriage returns from update notification server\n"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41
+msgid "Dot color:"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:322
-#, c-format
-msgid ""
-"Update can be downloaded at:\n"
-"%s\n"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43
+msgid "Use normal crosshair color"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:351
-msgid "Autogenerating mapinfo for newly added maps..."
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:131
+msgid "Custom"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:381
-#, c-format
-msgid "^1%s TEST BUILD"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54
+msgid "Crosshair animations:"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:439
-#, c-format
-msgid "Update to %s now!"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57
+msgid "Smooth effects of crosshairs"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:524
-msgid ""
-"^1ERROR: Texture compression is required but not supported.\n"
-"^1Expect visual problems.\n"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61
+msgid "Use rings to indicate weapon status"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:546
-msgid "Arena"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67
+msgid "Hit testing:"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:547
-msgid "Assault"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69
+msgid "HTTST^Disabled"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:548
-msgid "Capture The Flag"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70
+msgid "HTTST^TrueAim"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:549
-msgid "Clan Arena"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71
+msgid "HTTST^Enemies"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:550
-msgid "Deathmatch"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76
+msgid "Blur crosshair if the shot is obstructed"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:551
-msgid "Domination"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81
+msgid "Animate when hitting an enemy"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:552
-msgid "Freeze Tag"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85
+msgid "Animate when picking up an item"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:553
-msgid "Keepaway"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:91
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:113
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:56
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:277
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:89
+#: qcsrc/menu/xonotic/dialog_credits.c:21
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
+msgid "OK"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:554
-msgid "Key Hunt"
+#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128
+msgid "spectator"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:555
-msgid "Last Man Standing"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153
+msgid "View settings"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:556
-msgid "Nexball"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28
+msgid "Field of view:"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:557
-msgid "Onslaught"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31
+msgid "Zoom:"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:558
-msgid "Race"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33
+msgid "RETICLE^Fullscreen"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:559
-msgid "Race CTS"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34
+msgid "RETICLE^With reticle"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:560
-msgid "Runematch"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38
+msgid "ZOOM^Factor:"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:561
-msgid "Team Deathmatch"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42
+msgid "ZOOM^Speed:"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:580
-#, c-format
-msgid "@!#%'n Tuba Throwing"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52
+msgid "ZOOM^Instant"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:598 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23
-msgid "Background:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56
+msgid "ZOOM^Sensitivity:"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:600 qcsrc/menu/xonotic/util.qc:616
-#: qcsrc/menu/xonotic/util.qc:625 qcsrc/menu/xonotic/util.qc:633
-#: qcsrc/menu/xonotic/util.qc:645
-msgid "Default"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59
+msgid "Velocity zoom:"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:601 qcsrc/menu/xonotic/util.qc:617
-#: qcsrc/menu/xonotic/util.qc:634 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_multiplayer_playersetup_view.c:61
+msgid "VZOOM^Disabled"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:606 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77
-msgid "Color:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62
+msgid "VZOOM^Forward only"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:611
-msgid "Use default"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63
+msgid "VZOOM^All directions"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:614 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35
-msgid "Border size:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67
+msgid "VZOOM^Speed"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:623 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:156
-msgid "Alpha:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72
+msgid "Allow passing through walls while spectating"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:631
-msgid "Team Color:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75
+msgid "1st person perspective"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:640 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58
-msgid "Test team color in configure mode"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79
+msgid "Smooth the view when landing from a jump"
msgstr ""
-#: qcsrc/menu/xonotic/util.qc:643 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61
-msgid "Padding:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83
+msgid "Smooth the view while crouching"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:4
-#: qcsrc/menu/xonotic/dialog_settings.c:19
-msgid "Video"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87
+msgid "View waving while idle"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:26
-msgid "Resolution:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91
+msgid "View bobbing while walking around"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:29
-msgid "Font/UI size:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96
+msgid "3rd person perspective"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:31
-msgid "SZ^Unreadable"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100
+msgid "Back distance"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:32
-msgid "SZ^Tiny"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106
+msgid "Up distance"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:33
-msgid "SZ^Little"
+#: qcsrc/menu/xonotic/util.qc:276
+#, c-format
+msgid "Received HTTP request data for an invalid id %d.\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:34
-msgid "SZ^Small"
+#: qcsrc/menu/xonotic/util.qc:291
+#, c-format
+msgid "error receiving update notification: status is %d\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:35
-msgid "SZ^Medium"
+#: qcsrc/menu/xonotic/util.qc:296
+msgid "error: received HTML instead of an update notification\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:36
-msgid "SZ^Large"
+#: qcsrc/menu/xonotic/util.qc:301
+msgid "error: received carriage returns from update notification server\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:37
-msgid "SZ^Huge"
+#: qcsrc/menu/xonotic/util.qc:322
+#, c-format
+msgid ""
+"Update can be downloaded at:\n"
+"%s\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:38
-msgid "SZ^Gigantic"
+#: qcsrc/menu/xonotic/util.qc:351
+msgid "Autogenerating mapinfo for newly added maps..."
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:39
-msgid "SZ^Colossal"
+#: qcsrc/menu/xonotic/util.qc:381
+#, c-format
+msgid "^1%s TEST BUILD"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:42
-msgid "Color depth:"
+#: qcsrc/menu/xonotic/util.qc:439
+#, c-format
+msgid "Update to %s now!"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:45
-msgid "Full screen"
+#: qcsrc/menu/xonotic/util.qc:524
+msgid ""
+"^1ERROR: Texture compression is required but not supported.\n"
+"^1Expect visual problems.\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:46
-msgid "Vertical Synchronization"
+#: qcsrc/menu/xonotic/util.qc:630 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23
+msgid "Background:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:48
-msgid "Use OpenGL 2.0 shaders (GLSL)"
+#: qcsrc/menu/xonotic/util.qc:632 qcsrc/menu/xonotic/util.qc:648
+#: qcsrc/menu/xonotic/util.qc:657 qcsrc/menu/xonotic/util.qc:665
+#: qcsrc/menu/xonotic/util.qc:677
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:193
+msgid "Default"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:51
-msgid "Use GLSL to handle color control"
+#: qcsrc/menu/xonotic/util.qc:633 qcsrc/menu/xonotic/util.qc:649
+#: qcsrc/menu/xonotic/util.qc:666 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_settings_video.c:55
-msgid "Vertex Buffer Objects (VBOs)"
+#: qcsrc/menu/xonotic/util.qc:638 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77
+msgid "Color:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:58
-msgid "VBO^Off"
+#: qcsrc/menu/xonotic/util.qc:643
+msgid "Use default"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:59
-msgid "Vertices, some Tris (compatible)"
+#: qcsrc/menu/xonotic/util.qc:646 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35
+msgid "Border size:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:62
-msgid "Vertices"
+#: qcsrc/menu/xonotic/util.qc:655 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:43
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:66
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:32
+msgid "Alpha:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:63
-msgid "Vertices and Triangles"
+#: qcsrc/menu/xonotic/util.qc:663
+msgid "Team Color:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:66
-msgid "Depth first:"
+#: qcsrc/menu/xonotic/util.qc:672 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58
+msgid "Test team color in configure mode"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:68
-msgid "DF^Disabled"
+#: qcsrc/menu/xonotic/util.qc:675 qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61
+msgid "Padding:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:69
-msgid "DF^World"
+#: qcsrc/menu/xonotic/dialog_news.c:4
+msgid "News"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:70
-msgid "DF^All"
+#: qcsrc/menu/xonotic/dialog_news.c:18
+msgid "http://www.xonotic.org/team/blog/"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:73
-msgid "Wait for GPU to finish each frame"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
+msgid "Weapons Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:76
-msgid "Brightness:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:24
+msgid "Fade out after:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:79
-msgid "Contrast:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26
+msgid "Never"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:82
-msgid "Gamma:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:28
+#, c-format
+msgid "%ds"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:87
-msgid "Contrast boost:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:32
+msgid "Fade effect:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:92
-msgid "Saturation:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:35
+msgid "EF^None"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:98
-msgid "LIT^Ambient:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
+msgid "Slide"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:101
-msgid "Intensity:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
+msgid "Alpha"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_video.c:105
-#: qcsrc/menu/xonotic/dialog_settings_input.c:74
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:175
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:30
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:41
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:195
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:197
-msgid "Apply immediately"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
+msgid "EF^Both"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
-msgid "Advanced settings"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:42
+msgid "Weapon icons:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23
-msgid "Cvar filter:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45
+msgid "Show only owned weapons"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:24
-#: qcsrc/menu/xonotic/dialog_settings_input.c:41
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:29
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:33
-msgid "Clear"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48
+msgid "Show weapon ID as:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34
-msgid "Setting:"
-msgstr ""
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
+msgid "SHOWAS^None"
+msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:257
-msgid "Type:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
+msgid "Number"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42
-msgid "Value:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
+msgid "Bind"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56
-msgid "Description:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54
+msgid "Show Accuracy"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:61
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:57
-#: qcsrc/menu/xonotic/dialog_credits.c:21
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:35
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:89
-#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:277
-msgid "OK"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
+msgid "Show Ammo"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
-msgid "Powerups Panel"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58
+msgid "Ammo bar color:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:22
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:22
-msgid "Enable status bar"
+#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64
+msgid "Ammo bar alpha:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:24
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:24
-msgid "Status bar alignment:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
+msgid "Server Information"
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_multiplayer_join_serverinfo.c:132
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:133
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:242
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:247
+msgid "N/A"
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_multiplayer_join_serverinfo.c:179
+#, c-format
+msgid "%d/%d"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:37
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:37
-msgid "Icon alignment:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200
+msgid "Official"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:45
-msgid "Flip strength and shield positions"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200
+#, c-format
+msgid "%d modified"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
-msgid "Physics Panel"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208
+msgid "N/A (auth library missing, can't connect)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:22
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:21
-#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:21
-msgid "Panel disabled"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:210
+msgid "N/A (auth library missing)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
-msgid "Panel enabled"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216
+msgid "Not supported (can't connect)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
-msgid "Panel enabled even observing"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218
+msgid "Not supported (won't encrypt)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
-msgid "Panel enabled only in Race/CTS"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222
+msgid "Supported (will encrypt)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:31
-msgid "Status bar"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224
+msgid "Supported (won't encrypt)"
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_multiplayer_join_serverinfo.c:228
+msgid "Requested (will encrypt)"
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_multiplayer_join_serverinfo.c:230
+msgid "Requested (won't encrypt)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
-msgid "Inward align"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234
+msgid "Required (can't connect)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
-msgid "Outward align"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236
+msgid "Required (will encrypt)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:40
-msgid "Flip speed/acceleration positions"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:256
+msgid "Hostname:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44
-msgid "Speed:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
+msgid "Address:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
-msgid "Include vertical speed"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270
+msgid "Gametype:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:56
-msgid "Speed unit:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275
+msgid "Map:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:58
-msgid "qu/s"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280
+msgid "Mod:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
-msgid "m/s"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285
+msgid "Version:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
-msgid "km/h"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290
+msgid "Settings:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
-msgid "mph"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:297
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:329
+msgid "Players:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
-msgid "knots"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302
+msgid "Bots:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
-msgid "Show"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307
+msgid "Free slots:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
-msgid "Top speed"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313
+msgid "Encryption:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:73
-msgid "Acceleration:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318
+msgid "ID:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
-msgid "Include vertical acceleration"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323
+msgid "Key:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
-msgid "Weapon settings"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
+msgid "Close"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
-msgid "Weapon priority list:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:342
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
+msgid "Join!"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34
-msgid "Up"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147
+msgid "Model settings"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37
-msgid "Down"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28
+msgid "Body fading:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
-msgid "Use priority list for weapon cycling"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31
+msgid "Gibs:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
-msgid "Auto switch weapons on pickup"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33
+msgid "GIBS^None"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:45
-msgid "Draw 1st person weapon model"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34
+msgid "GIBS^Few"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50
-#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
-msgid "Center"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35
+msgid "GIBS^Many"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55
-msgid "Flip view horizontally"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36
+msgid "GIBS^Lots"
msgstr ""
-#: qcsrc/menu/xonotic/serverlist.c:185
-msgid "Remove"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40
+msgid "Playermodel LOD:"
msgstr ""
-#: qcsrc/menu/xonotic/serverlist.c:187
-msgid "Bookmark"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44
+msgid "Force models:"
msgstr ""
-#: qcsrc/menu/xonotic/serverlist.c:548
-msgid "Ping"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45
+msgid "MDL^None"
msgstr ""
-#: qcsrc/menu/xonotic/serverlist.c:549
-msgid "Host name"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46
+msgid "MDL^Custom"
msgstr ""
-#: qcsrc/menu/xonotic/serverlist.c:550
-msgid "Map"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47
+msgid "MDL^All"
msgstr ""
-#: qcsrc/menu/xonotic/serverlist.c:551
-msgid "Type"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50
+msgid "Force player models to mine"
msgstr ""
-#: qcsrc/menu/xonotic/serverlist.c:552
-msgid "Players"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52
+msgid "Force player colors to mine"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
-msgid "User defined key bind"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:4
+#: qcsrc/menu/xonotic/dialog_settings.c:22
+msgid "User"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
-msgid "Command when pressed:"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:27
+msgid "Menu skins:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
-msgid "Command when released:"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:31
+msgid "Set skin"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
-msgid "Save"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:65
+#: qcsrc/menu/xonotic/dialog_firstrun.c:68
+msgid "Text language:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
-msgid "Cancel"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:74
+msgid "Set language"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
-msgid "Score Panel"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:79
+msgid "Disable gore effects and harsh language"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
-msgid "Score:"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:82
+msgid "Allow player statistics to track your client"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
-msgid "Rankings:"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:84
+msgid "Allow player statistics to use your nickname"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:60
-msgid "Off"
+#: qcsrc/menu/xonotic/dialog_settings_user.c:88
+#: qcsrc/menu/xonotic/dialog_settings_video.c:142
+#: qcsrc/menu/xonotic/dialog_settings_input.c:89
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:185
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:203
+msgid "Apply immediately"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
-msgid "And me"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159
+msgid "Weapon settings"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
-msgid "Pure"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29
+msgid "Weapon priority list:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input.c:4
-#: qcsrc/menu/xonotic/dialog_settings.c:18
-msgid "Input"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33
+msgid "Up"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input.c:26
-msgid "Key bindings:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36
+msgid "Down"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input.c:31
-msgid "Change key..."
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41
+msgid "Use priority list for weapon cycling"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input.c:35
-msgid "Edit..."
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43
+msgid "Auto switch weapons on pickup"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input.c:46
-msgid "Sensitivity:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46
+msgid "Draw 1st person weapon model"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input.c:51
-msgid "UI mouse speed:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:33
+msgid "Left align"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input.c:55
-msgid "Mouse filter"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37
+msgid "Center"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input.c:57
-msgid "Invert mouse"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34
+msgid "Right align"
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_multiplayer_playersetup_weapons.c:58
+msgid "Gun model swaying"
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_multiplayer_playersetup_weapons.c:63
+msgid "Gun model bobbing"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input.c:69
-msgid "\"enter console\" also closes"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68
+msgid "VWMDL^Scale"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_input.c:72
-msgid "Holding jump key keeps jumping"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
+msgid "Panel HUD Setup"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
-msgid "Vote Panel"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:21
+msgid "Panel background defaults:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:22
-msgid "Alpha after voting:"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:50
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:89
+msgid "Team color:"
msgstr ""
-#: qcsrc/menu/xonotic/slider_decibels.c:50
-msgid "VOL^OFF"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:68
+msgid "HUD Dock:"
msgstr ""
-#: qcsrc/menu/xonotic/slider_decibels.c:52
-msgid "VOL^MAX"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:70
+msgid "DOCK^Disabled"
msgstr ""
-#: qcsrc/menu/xonotic/slider_decibels.c:53
-#, c-format
-msgid "%s dB"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
+msgid "DOCK^Small"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_news.c:4
-msgid "News"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
+msgid "DOCK^Medium"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_news.c:18
-msgid "http://www.xonotic.org/team/blog/"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
+msgid "DOCK^Large"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_quit.c:4
-msgid "Quit"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:96
+msgid "Grid settings:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_quit.c:17
-msgid "Are you sure you want to quit?"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:99
+msgid "Snap panels to grid"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_quit.c:20
-msgid "Yes"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:102
+msgid "Grid size:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_quit.c:21
-msgid "No"
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
+msgid "X:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:109
+msgid "Y:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:117
+msgid "Exit setup"
+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"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81
+msgid "Title:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87
+msgid "Author:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93
+msgid "Features:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98
+msgid "Game types:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124
+msgid "MAP^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/campaign.c:289
+#, c-format
+msgid "Level %d: %s"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
+msgid "Health/Armor Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:22
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:22
+msgid "Enable status bar"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:24
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:24
+msgid "Status bar alignment:"
+msgstr ""
+
+#: 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_centerprint.c:36
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:28
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:40
+msgid "Left"
+msgstr ""
+
+#: 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_centerprint.c:38
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:30
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41
+msgid "Right"
+msgstr ""
+
+#: 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/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/dialog_hudpanel_healtharmor.c:37
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:37
+msgid "Icon alignment:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:45
+msgid "Flip health and armor positions"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
+msgid "Demo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28
+msgid "Automatically record demos while playing"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:31
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
+msgid "Filter:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:32
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:29
+#: qcsrc/menu/xonotic/dialog_settings_input.c:40
+msgid "Clear"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45
+msgid "Timedemo"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48
+msgid "DEMO^Play"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169
+msgid "HUD settings"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40
+msgid "Damage:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43
+msgid "Overlay:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47
+msgid "Factor:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:52
+msgid "Fade rate:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:58
+msgid "Waypoints"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46
+msgid "Scale:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:71
+msgid "Edge offset:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:80
+msgid "Show names above players"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83
+msgid "Only when near crosshair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86
+msgid "Display health and armor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4
+msgid "Enter HUD editor"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
+msgid "Pressed Keys Panel"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:21
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:21
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:22
+msgid "Panel disabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
+msgid "Panel enabled when spectating"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
+msgid "Panel always enabled"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:30
+msgid "Forced aspect:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:5
+msgid "Team Selection"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:41
+msgid "join 'best' team (auto-select)"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:45
+msgid "red"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:46
+msgid "blue"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:47
+msgid "yellow"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:48
+msgid "pink"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_teamselect.c:51
+msgid "spectate"
+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"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
+#, c-format
+msgid "%s Arena"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:173
+msgid "Dodging"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
+msgid "MinstaGib"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:261
+msgid "NIX"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:213
+msgid "Rocket Flying"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:210
+msgid "Invincible Projectiles"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:272
+msgid "No start weapons"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
+msgid "Low gravity"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:176
+msgid "Cloaked"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
+msgid "Hook"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
+msgid "Midair"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:182
+msgid "Vampire"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
+msgid "Piñata"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:219
+msgid "Weapons stay"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:186
+msgid "Blood loss"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:207
+msgid "Jet pack"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
+msgid "No powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
+msgid "Powerups"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
+msgid "MUT^None"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170
+msgid "Gameplay mutators:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
-msgid "Mod Icons Panel"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201
+msgid "Weapon & item mutators:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4
-msgid "Panel HUD Setup"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
+msgid "Grappling hook"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:21
-msgid "Panel background defaults:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223
+msgid "Weapon arenas:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:50
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:89
-msgid "Team color:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226
+msgid "Regular (no arena)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:68
-msgid "HUD Dock:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:264
+msgid "with laser"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:70
-msgid "DOCK^Disabled"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255
+msgid "Special arenas:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71
-msgid "DOCK^Small"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268
+msgid "Most weapons"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72
-msgid "DOCK^Medium"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
+msgid "Advanced server settings"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73
-msgid "DOCK^Large"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
+msgid "Game settings:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:96
-msgid "Grid settings:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
+msgid "Allow spectating"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:99
-msgid "Snap panels to grid"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
+msgid "Spawn shield:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:102
-msgid "Grid size:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
+msgid "Game speed:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103
-msgid "X:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
+msgid "Teamplay settings:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:109
-msgid "Y:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
+msgid "Friendly fire scale:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:117
-msgid "Exit setup"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
+msgid "Virtual friendly fire (effect only)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
-msgid "Radar Panel"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
+msgid "Friendly fire penalty:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
-msgid "Panel enabled in teamgames"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
+msgid "Virtual penalty (effect only)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:23
-#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:23
-msgid "Panel always enabled"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
+msgid "Teams:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:29
-msgid "Radar:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
+msgid "Map voting:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:36
-msgid "Rotation:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
+msgid "No voting"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:38
-msgid "Forward"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
+msgid "2 choices"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
-msgid "West"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
+msgid "3 choices"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
-msgid "South"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
+msgid "4 choices"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
-msgid "East"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
+msgid "5 choices"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
-msgid "North"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
+msgid "6 choices"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46
-msgid "Scale:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
+msgid "7 choices"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:50
-msgid "Zoom mode:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
+msgid "8 choices"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:52
-msgid "Zoomed in"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
+msgid "9 choices"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
-msgid "Zoomed out"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
+msgid "Simple majority wins vcall"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
-msgid "Always zoomed"
+#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
+msgid "Chat Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
-msgid "Never zoomed"
+#: 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_audio.c:4
#: qcsrc/menu/xonotic/dialog_settings.c:21
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:4
msgid "Audio"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
-msgid "Master:"
+#: qcsrc/menu/xonotic/dialog_settings.c:23
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
+msgid "Misc"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:33
-msgid "Music:"
+#: qcsrc/menu/xonotic/playermodel.c:177
+msgid "<no model found>"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:41
-msgid "VOL^Ambient:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4
+msgid "Score Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:48
-msgid "Info:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22
+msgid "Score:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:55
-msgid "Items:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25
+msgid "Rankings:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:62
-msgid "Pain:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26
+msgid "Off"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:69
-msgid "Player:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27
+msgid "And me"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:76
-msgid "Shots:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28
+msgid "Pure"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:83
-msgid "Voice:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4
+msgid "Mod Icons Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:91
-msgid "Weapons:"
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5
+msgid "Advanced settings"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:98
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:158
-msgid "Frequency:"
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31
+msgid "Cvar filter:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:100
-msgid "8 kHz"
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44
+msgid "Setting:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:101
-msgid "11.025 kHz"
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:48
+msgid "Type:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:52
+msgid "Value:"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:68
+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/dialog_multiplayer_playersetup_hudconfirm.c:28
+msgid "In order for the HUD editor to show, you must first be in game."
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30
+msgid "Do you wish to start a local game to set up the HUD?"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33
+msgid "HDCNFRM^Yes"
+msgstr ""
+
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36
+msgid "HDCNFRM^No"
+msgstr ""
+
+#: qcsrc/menu/xonotic/mainwindow.c:39 qcsrc/menu/xonotic/mainwindow.c:42
+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/dialog_settings_audio.c:102
-msgid "16 kHz"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:32
+msgid "SZ^Tiny"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:103
-msgid "22.05 kHz"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:33
+msgid "SZ^Little"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:104
-msgid "24 kHz"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:34
+msgid "SZ^Small"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:105
-msgid "32 kHz"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:35
+msgid "SZ^Medium"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:106
-msgid "44.1 kHz"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:36
+msgid "SZ^Large"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:107
-msgid "48 kHz"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:37
+msgid "SZ^Huge"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:110
-msgid "Channels:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:38
+msgid "SZ^Gigantic"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:112
-msgid "Mono"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:39
+msgid "SZ^Colossal"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:113
-msgid "Stereo"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:42
+msgid "Color depth:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:114
-msgid "2.1"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:44
+msgid "16bit"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:115
-msgid "4"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:45
+msgid "32bit"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:116
-msgid "5"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:48
+msgid "Full screen"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
-msgid "5.1"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:49
+msgid "Vertical Synchronization"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:118
-msgid "6.1"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:53
+msgid "Anisotropy:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
-msgid "7.1"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:55
+msgid "ANISO^Disabled"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:123
-msgid "Swap Stereo"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:56
+#: qcsrc/menu/xonotic/dialog_settings_video.c:66
+msgid "2x"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:127
-msgid "Headphone friendly mode"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:57
+#: qcsrc/menu/xonotic/dialog_settings_video.c:67
+msgid "4x"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:131
-msgid "New style sound attenuation"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:58
+msgid "8x"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:133
-msgid "Spatial voices:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:59
+msgid "16x"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
-msgid "VOCS^None"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:62
+msgid "Antialiasing:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:135
-msgid "VOCS^Taunts"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:65
+msgid "AA^Disabled"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
-msgid "VOCS^All"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:71
+msgid "High-quality frame buffer"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
-msgid "Taunt range:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:76
+msgid "Depth first:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
-msgid "RNG^Very short"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:78
+msgid "DF^Disabled"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
-msgid "RNG^Short"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:79
+msgid "DF^World"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:144
-msgid "RNG^Normal"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:80
+msgid "DF^All"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:145
-msgid "RNG^Long"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:83
+msgid "Vertex Buffer Objects (VBOs)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:146
-msgid "RNG^Full"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:86
+msgid "VBO^Off"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:153
-msgid "Automatic taunts"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:87
+msgid "Vertices, some Tris (compatible)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:162
-msgid "Time warning:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:90
+msgid "Vertices"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:164
-msgid "WRN^None"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:91
+msgid "Vertices and Triangles"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:165
-msgid "1 minute"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:94
+msgid "Brightness:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:166
-msgid "5 minutes"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:97
+msgid "Contrast:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:167
-msgid "WRN^Both"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:100
+msgid "Gamma:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:170
-msgid "Hit indicator"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:105
+msgid "Contrast boost:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_audio.c:172
-msgid "Menu sounds"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:110
+msgid "Saturation:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_credits.c:5
-msgid "Credits"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:116
+msgid "LIT^Ambient:"
msgstr ""
-#: qcsrc/menu/xonotic/slider_resolution.c:65
-#, c-format
-msgid "%dx%d"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:119
+msgid "Intensity:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6
-msgid "Advanced server settings"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:123
+msgid "Use OpenGL 2.0 shaders (GLSL)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25
-msgid "Game settings:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:125
+msgid "Use GLSL to handle color control"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28
-msgid "Allow spectating"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:128
+msgid "Wait for GPU to finish each frame"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31
-msgid "Spawn shield:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:132
+msgid "Psycho coloring (easter egg)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36
-msgid "Game speed:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:135
+msgid "Trippy vertices (easter egg)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40
-msgid "Teamplay settings:"
+#: qcsrc/menu/xonotic/dialog_settings_video.c:138
+msgid "Flip view horizontally"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43
-msgid "Friendly fire scale:"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
+msgid "Sandbox Tools"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47
-msgid "Virtual friendly fire (effect only)"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60
+msgid "Model:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50
-msgid "Friendly fire penalty:"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:24
+msgid "Spawn"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54
-msgid "Virtual penalty (effect only)"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
+msgid "Remove *"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57
-msgid "Teams:"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27
+msgid "Copy *"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66
-msgid "Map voting:"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
+msgid "Paste"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68
-msgid "No voting"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:30
+msgid "Bone:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69
-msgid "2 choices"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:35
+msgid "Set * as child"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70
-msgid "3 choices"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
+msgid "Attach to *"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71
-msgid "4 choices"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:38
+msgid "Detach from *"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72
-msgid "5 choices"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:41
+msgid "Visual object properties for *:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73
-msgid "6 choices"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:43
+msgid "Set skin:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74
-msgid "7 choices"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45
+msgid "Set alpha:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75
-msgid "8 choices"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48
+msgid "Set color main:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76
-msgid "9 choices"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50
+msgid "Set color glow:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79
-msgid "Simple majority wins vcall"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:54
+msgid "Set frame:"
msgstr ""
-#: qcsrc/menu/xonotic/skinlist.c:105
-msgid "<TITLE>"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:58
+msgid "Physical object properties for *:"
msgstr ""
-#: qcsrc/menu/xonotic/skinlist.c:106
-msgid "<AUTHOR>"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:60
+msgid "Set material:"
msgstr ""
-#: qcsrc/menu/xonotic/skinlist.c:163 qcsrc/common/mapinfo.qc:1097
-#, c-format
-msgid "%s: %s"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:66
+msgid "Set solidity:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
-msgid "Join"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
+msgid "Non-solid"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:32
-msgid "Filter:"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
+msgid "Solid"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
-msgid "SRVS^Empty"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
+msgid "Set physics:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
-msgid "SRVS^Full"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
+msgid "Static"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
-msgid "Pause"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
+msgid "Movable"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56
-msgid "Address:"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
+msgid "Physical"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
-msgid "Info..."
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74
+msgid "Set scale:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:320
-msgid "Join!"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:76
+msgid "Set force:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4
-msgid "Weapons Panel"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:80
+msgid "Claim *"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:24
-msgid "Fade out after:"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:82
+msgid "* object info"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26
-msgid "Never"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
+msgid "* mesh info"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:28
-#, c-format
-msgid "%ds"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
+msgid "* attachment info"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:32
-msgid "Fade effect:"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
+msgid "Show help"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:35
-msgid "EF^None"
+#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
+msgid "* is the object you are facing"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36
-msgid "Slide"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4
+msgid "Join"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:37
-msgid "Alpha"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36
+msgid "SRVS^Empty"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38
-msgid "EF^Both"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40
+msgid "SRVS^Full"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:42
-msgid "Weapon icons:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44
+msgid "Pause"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45
-msgid "Show only owned weapons"
+#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67
+msgid "Info..."
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48
-msgid "Show weapon ID as:"
+#: qcsrc/menu/xonotic/dialog_credits.c:5
+msgid "Credits"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49
-msgid "SHOWAS^None"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
+msgid "Network:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50
-msgid "Number"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:29
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44
+msgid "Speed:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51
-msgid "Bind"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:31
+msgid "56k"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54
-msgid "Show Accuracy"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:32
+msgid "ISDN"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55
-msgid "Show Ammo"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:33
+msgid "Slow ADSL"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58
-msgid "Ammo bar color:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:34
+msgid "Fast ADSL"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64
-msgid "Ammo bar alpha:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:35
+msgid "Broadband"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:4
-msgid "Singleplayer"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:39
+msgid "Input packets/s:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:116
-msgid "Instant action! (random map with bots)"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:45
+msgid "Local latency:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:123
-#: qcsrc/menu/xonotic/campaign.c:284
-msgid "???"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:50
+msgid "Client UDP port:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_singleplayer.c:137
-msgid "Start Singleplayer!"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:55
+msgid "Show netgraph"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5
-msgid "Map Information"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:59
+msgid "Client-side movement prediction"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
-msgid "Full item placement"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:62
+msgid "Movement error compensation"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49
-msgid "MinstaGib only"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:66
+msgid "Downloads:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78
-msgid "Title:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:69
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:81
+msgid "Maximum:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84
-msgid "Author:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:73
+msgid "Speed (kB/s):"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90
-msgid "Features:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:78
+msgid "Framerate:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95
-msgid "Game types:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:83
+msgid "MAXFPS^5 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:118
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:317
-msgid "Close"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:84
+msgid "MAXFPS^10 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121
-msgid "MAP^Play"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:85
+msgid "MAXFPS^20 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
-msgid "Timer Panel"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:86
+msgid "MAXFPS^30 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:22
-msgid "Timer:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:87
+msgid "MAXFPS^40 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:25
-msgid "Show elapsed time"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:88
+msgid "MAXFPS^50 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings.c:4
-msgid "Settings"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:89
+msgid "MAXFPS^60 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings.c:20
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:4
-msgid "Effects"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:90
+msgid "MAXFPS^70 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings.c:22
-#: qcsrc/menu/xonotic/dialog_settings_network.c:4
-msgid "Network"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:91
+msgid "MAXFPS^100 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings.c:23
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:4
-msgid "Misc"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:92
+msgid "MAXFPS^125 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
-msgid "Multiplayer"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:93
+msgid "MAXFPS^200 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
-msgid "Servers"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:94
+msgid "MAXFPS^Unlimited"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
-msgid "Create"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:98
+msgid "Target:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
-msgid "Demos"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:100
+msgid "TRGT^Disabled"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
-msgid "Player Setup"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:101
+msgid "TRGT^30 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4
-msgid "Pressed Keys Panel"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:102
+msgid "TRGT^40 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22
-msgid "Panel enabled when spectating"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:103
+msgid "TRGT^50 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:30
-msgid "Forced aspect:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:104
+msgid "TRGT^60 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
-msgid "Game type:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:105
+msgid "TRGT^100 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46
-msgid "Match settings:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:106
+msgid "TRGT^125 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49
-msgid "Time limit:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:107
+msgid "TRGT^200 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:53
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:61
-msgid "Use map specified default"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:111
+msgid "Idle limit:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:56
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
-msgid "Point limit:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:113
+msgid "IDLFPS^10 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64
-msgid "Player slots:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:114
+msgid "IDLFPS^20 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67
-msgid "Number of bots:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:115
+msgid "IDLFPS^30 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71
-msgid "Bot skill:"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:116
+msgid "IDLFPS^60 fps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
-msgid "Botlike"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:117
+msgid "IDLFPS^Unlimited"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
-msgid "Beginner"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:122
+msgid "Show frames per second"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
-msgid "You will win"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:125
+msgid "Save processing time for other apps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
-msgid "You can win"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:129
+msgid "Menu tooltips:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
-msgid "You might win"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:131
+msgid "TLTIP^Disabled"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:62
-msgid "Advanced"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:132
+msgid "TLTIP^Standard"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
-msgid "Expert"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:133
+msgid "TLTIP^Advanced"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
-msgid "Pro"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:137
+msgid "Show current time"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
-msgid "Assassin"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:139
+msgid "Show current date"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83
-msgid "Unhuman"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:141
+msgid "Enable developer mode"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84
-msgid "Godlike"
+#: qcsrc/menu/xonotic/dialog_settings_misc.c:145
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96
+msgid "Advanced settings..."
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:88
-msgid "Mutators..."
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
+msgid "Notification Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:97
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:68
-msgid "Advanced settings..."
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:22
+msgid "Notifications:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104
-msgid "Map list:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:25
+msgid "Also print notifications to the console"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110
-msgid "Select all"
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:28
+msgid "Flip notify order"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113
-msgid "Select none"
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:31
+msgid "Entry lifetime:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119
-msgid "Start Multiplayer!"
+#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:35
+msgid "Entry fadetime:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
-msgid "Capture limit:"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5
+msgid "User defined key bind"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
-msgid "Lives:"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:39
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:37
+#: qcsrc/menu/xonotic/dialog_firstrun.c:46
+msgid "Name:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
-msgid "Laps:"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42
+msgid "Command when pressed:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
-msgid "Goals:"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45
+msgid "Command when released:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164
-msgid "Frag limit:"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48
+msgid "Save"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5
-msgid "Waypoints"
+#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51
+msgid "Cancel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23
-msgid "Show base waypoints"
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4
+msgid "Vote Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25
-msgid "Waypoint scale:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:22
+msgid "Alpha after voting:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29
-msgid "Waypoint alpha:"
+#: qcsrc/menu/xonotic/util.qh:50
+msgid "Enable panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:33
-msgid "Show names above players"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:19
+msgid "Create"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4
-msgid "Health/Armor Panel"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34
+msgid "Game type:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:45
-msgid "Flip health and armor positions"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48
+msgid "Time limit:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:26
-msgid "Menu skins:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:52
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:60
+msgid "Use map specified default"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:47
-msgid "Show current time"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:55
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:155
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:156
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:161
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:162
+msgid "Point limit:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:49
-msgid "Show current date"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63
+msgid "Player slots:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:51
-msgid "Show frames per second"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66
+msgid "Number of bots:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:53
-msgid "Minimize input latency"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69
+msgid "Bot skill:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:59
-msgid "Menu Tooltips:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72
+msgid "Botlike"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_misc.c:61
-msgid "Standard"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73
+msgid "Beginner"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:26
-msgid "Client-side movement prediction"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74
+msgid "You will win"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:30
-msgid "Show netgraph"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75
+msgid "You can win"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:33
-msgid "Network speed:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76
+msgid "You might win"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:35
-msgid "56k"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77
+msgid "Advanced"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:36
-msgid "ISDN"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78
+msgid "Expert"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:37
-msgid "Slow ADSL"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79
+msgid "Pro"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:38
-msgid "Fast ADSL"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80
+msgid "Assassin"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:39
-msgid "Broadband"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81
+msgid "Unhuman"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:42
-msgid "Input packets/s:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82
+msgid "Godlike"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:46
-msgid "HTTP downloads:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87
+msgid "Mutators..."
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:49
-msgid "Downloads:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103
+msgid "Map list:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:53
-msgid "Speed (kB/s):"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109
+msgid "Select all"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_network.c:57
-msgid "Client UDP port:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112
+msgid "Select none"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4
-msgid "Engine Info Panel"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118
+msgid "Start Multiplayer!"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:22
-msgid "Engine info:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153
+msgid "Capture limit:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:25
-msgid "Use an averaging algorithm for fps"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157
+msgid "Lives:"
msgstr ""
-#: qcsrc/menu/xonotic/campaign.c:285
-#, c-format
-msgid "Level %d: %s"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158
+msgid "Laps:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5
-msgid "Server Information"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159
+msgid "Goals:"
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:186
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:192
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:202
-msgid "N/A"
+#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163
+msgid "Frag limit:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:161
-#, c-format
-msgid "%d/%d, %d free player slots"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4
+msgid "Radar Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:175
-msgid "Official settings"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22
+msgid "Panel enabled in teamgames"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:175
-#, c-format
-msgid "%d modified settings"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:29
+msgid "Radar:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200
-msgid "N/A (can't connect)"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:36
+msgid "Rotation:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208
-msgid "not supported (can't connect)"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:38
+msgid "Forward"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:210
-msgid "not supported (won't encrypt)"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39
+msgid "West"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:214
-msgid "supported (will encrypt)"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40
+msgid "South"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216
-msgid "supported (won't encrypt)"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41
+msgid "East"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:220
-msgid "requested (will encrypt)"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42
+msgid "North"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222
-msgid "requested (won't encrypt)"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:50
+msgid "Zoom mode:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:226
-msgid "required (can't connect)"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:52
+msgid "Zoomed in"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228
-msgid "required (will encrypt)"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53
+msgid "Zoomed out"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:272
-msgid "Players:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54
+msgid "Always zoomed"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262
-msgid "Map:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55
+msgid "Never zoomed"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:267
-msgid "Gameplay:"
+#: qcsrc/menu/xonotic/maplist.c:282
+msgid ""
+"Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:277
-msgid "Bots:"
+#: qcsrc/menu/xonotic/maplist.c:290
+#, c-format
+msgid "%s's Xonotic Server"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:282
-msgid "Mod:"
+#: qcsrc/menu/xonotic/maplist.c:295
+msgid ""
+"Huh? Can't play this (invalid game type). Refiltering so this won't happen "
+"again.\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:287
-msgid "Version:"
+#: qcsrc/menu/xonotic/slider_resolution.c:65
+#, c-format
+msgid "%dx%d"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:292
-msgid "Ping:"
+#: qcsrc/menu/xonotic/dialog_quit.c:4
+msgid "Quit"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:298
-msgid "CA:"
+#: qcsrc/menu/xonotic/dialog_quit.c:18
+msgid "Are you sure you want to quit?"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:304
-msgid "Key:"
+#: qcsrc/menu/xonotic/dialog_quit.c:21
+msgid "Yes"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:310
-msgid "Encryption:"
+#: qcsrc/menu/xonotic/dialog_quit.c:22
+msgid "No"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
-msgid "Quality preset:"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:26
+msgid "Key bindings:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
-msgid "PRE^OMG!"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:30
+msgid "Change key..."
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
-msgid "PRE^Low"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:34
+msgid "Edit..."
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
-msgid "PRE^Medium"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:45
+msgid "Pressing \"enter console\" key also closes it"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
-msgid "PRE^Normal"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:47
+msgid "Automatically repeat jumping if holding jump"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
-msgid "PRE^High"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:51
+#: qcsrc/menu/xonotic/dialog_settings_input.c:53
+#: qcsrc/menu/xonotic/dialog_settings_input.c:56
+msgid "Use joystick input"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
-msgid "PRE^Ultra"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:61
+msgid "Mouse:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
-msgid "PRE^Ultimate"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:64
+msgid "Sensitivity:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
-msgid "Geometry detail:"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:68
+msgid "Smooth aiming"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
-msgid "DET^Lowest"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:71
+msgid "Invert aiming"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
-msgid "DET^Low"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:75
+#: qcsrc/menu/xonotic/dialog_settings_input.c:77
+#: qcsrc/menu/xonotic/dialog_settings_input.c:80
+msgid "Disable system mouse acceleration"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
-msgid "DET^Normal"
+#: qcsrc/menu/xonotic/dialog_settings_input.c:85
+msgid "Enable built in mouse acceleration"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
-msgid "DET^Good"
+#: qcsrc/menu/xonotic/cvarlist.c:85
+msgid "will be saved to config.cfg"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
-msgid "DET^Best"
+#: qcsrc/menu/xonotic/cvarlist.c:87
+msgid "will not be saved"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
-msgid "DET^Insane"
+#: qcsrc/menu/xonotic/cvarlist.c:89
+msgid "private"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
-msgid "Antialiasing:"
+#: qcsrc/menu/xonotic/cvarlist.c:91
+msgid "engine setting"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:64
-msgid "AA^Disabled"
+#: qcsrc/menu/xonotic/cvarlist.c:93
+msgid "read only"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:106
-msgid "2x"
+#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
+msgid "Winner"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:66
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:107
-msgid "4x"
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4
+msgid "Timer Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
-msgid "High-quality frame buffer"
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:22
+msgid "Timer:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:73
-msgid "Texture resolution:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:25
+msgid "Show elapsed time"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:76
-msgid "RES^Leet"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:21
+msgid "Player Setup"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:77
-msgid "RES^Lowest"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88
+msgid "No crosshair"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:78
-msgid "RES^Low"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90
+msgid "Per weapon crosshair"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:79
-msgid "RES^Normal"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93
+msgid "Custom crosshair"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:80
-msgid "RES^Good"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112
+msgid "Crosshair size:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:81
-msgid "RES^Best"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117
+msgid "Crosshair alpha:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:94
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:97
-msgid "Avoid lossy texture compression"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123
+msgid "Crosshair color:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:103
-msgid "Anisotropy:"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125
+msgid "Per weapon"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:105
-msgid "ANISO^Disabled"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127
+msgid "By health"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
-msgid "8x"
+#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139
+msgid "Other crosshair settings"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
-msgid "16x"
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
+msgid "Info Messages Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:113
-msgid "Particle quality:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:22
+msgid "Info messages:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:116
-msgid "Particle distance:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:25
+msgid "Flip align"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:120
-msgid "Decals"
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:4
+msgid "Multiplayer"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:121
-msgid "Decals on models"
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:18
+msgid "Servers"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:125
-msgid "Distance:"
+#: qcsrc/menu/xonotic/dialog_multiplayer.c:20
+msgid "Demos"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:131
-msgid "Time:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
+msgid "Race Timer Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:137
-msgid "Use lightmaps"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4
+msgid "Physics Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
-msgid "Deluxe mapping"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23
+msgid "Panel enabled"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:140
-msgid "Gloss"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24
+msgid "Panel enabled even observing"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:143
-msgid "Offset mapping"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25
+msgid "Panel enabled only in Race/CTS"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:145
-msgid "Relief mapping"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:31
+msgid "Status bar"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:148
-msgid "Reflections:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35
+msgid "Inward align"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:151
-msgid "Blurred"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36
+msgid "Outward align"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:152
-msgid "REFL^Good"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:40
+msgid "Flip speed/acceleration positions"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
-msgid "Sharp"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45
+msgid "Include vertical speed"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:158
-msgid "Show surfaces"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:56
+msgid "Speed unit:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:160
-msgid "No dynamic lighting"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:58
+msgid "qu/s"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:162
-msgid "Flash blend approximation"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59
+msgid "m/s"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:164
-msgid "Realtime dynamic lighting"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60
+msgid "km/h"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:165
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:169
-msgid "Shadows"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61
+msgid "mph"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:168
-msgid "Realtime world lighting"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62
+msgid "knots"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:173
-msgid "Use normal maps"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64
+msgid "Show"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:175
-msgid "Soft shadows"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67
+msgid "Top speed"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:178
-msgid "Coronas"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:73
+msgid "Acceleration:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:179
-msgid "Use Occlusion Queries"
+#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74
+msgid "Include vertical acceleration"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:181
-msgid "High Dynamic Range (HDR)"
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
+msgid "Centerprint"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:185
-msgid "Motion blur:"
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:23
+msgid "Message duration:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_settings_effects.c:190
-msgid "Blur and sharpen postprocessing"
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:27
+msgid "Fade time:"
msgstr ""
-#: qcsrc/menu/xonotic/cvarlist.c:85
-msgid "will be saved to config.cfg"
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:31
+msgid "Flip messages order"
msgstr ""
-#: qcsrc/menu/xonotic/cvarlist.c:87
-msgid "will not be saved"
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:33
+msgid "Text alignment:"
msgstr ""
-#: qcsrc/menu/xonotic/cvarlist.c:89
-msgid "private"
+#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:41
+msgid "Font scale:"
msgstr ""
-#: qcsrc/menu/xonotic/cvarlist.c:91
-msgid "engine setting"
+#: qcsrc/menu/xonotic/dialog_firstrun.c:4
+msgid "Welcome"
msgstr ""
-#: qcsrc/menu/xonotic/cvarlist.c:93
-msgid "read only"
+#: qcsrc/menu/xonotic/dialog_firstrun.c:40
+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/playermodel.c:174
-msgid "<no model found>"
+#: qcsrc/menu/xonotic/dialog_firstrun.c:77
+msgid "Allow player statistics to use your nickname at stats.xonotic.org?"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4
-msgid "Chat Panel"
+#: qcsrc/menu/xonotic/dialog_firstrun.c:81
+msgid "ALWU2N^Yes"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:22
-msgid "Chat entries:"
+#: qcsrc/menu/xonotic/dialog_firstrun.c:82
+msgid "ALWU2N^No"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:25
-msgid "Chat size:"
+#: qcsrc/menu/xonotic/dialog_firstrun.c:83
+msgid "ALWU2N^Undecided"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:29
-msgid "Chat lifetime:"
+#: qcsrc/menu/xonotic/dialog_firstrun.c:87
+msgid "Save settings"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:33
-msgid "Chat beep sound"
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4
+msgid "Powerups Panel"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4
-msgid "Race Timer Panel"
+#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:45
+msgid "Flip strength and shield positions"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4
-msgid "Sandbox Tools"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:38
+msgid "Quality preset:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63
-msgid "Model:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:41
+msgid "PRE^OMG!"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:24
-msgid "Spawn"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:42
+msgid "PRE^Low"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25
-msgid "Remove *"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:43
+msgid "PRE^Medium"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27
-msgid "Copy *"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:44
+msgid "PRE^Normal"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28
-msgid "Paste"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:45
+msgid "PRE^High"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:30
-msgid "Bone:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:46
+msgid "PRE^Ultra"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:35
-msgid "Set * as child"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:48
+msgid "PRE^Ultimate"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36
-msgid "Attach to *"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:52
+msgid "Geometry detail:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:38
-msgid "Detach from *"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:54
+msgid "DET^Lowest"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:41
-msgid "Visual object properties for *:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:55
+msgid "DET^Low"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:43
-msgid "Set skin:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:56
+msgid "DET^Normal"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45
-msgid "Set alpha:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:57
+msgid "DET^Good"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48
-msgid "Set color main:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:58
+msgid "DET^Best"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50
-msgid "Set color glow:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:59
+msgid "DET^Insane"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:54
-msgid "Set frame:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:62
+msgid "Texture resolution:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:58
-msgid "Physical object properties for *:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:65
+msgid "RES^Leet"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:60
-msgid "Set material:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:66
+msgid "RES^Lowest"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:66
-msgid "Set solidity:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:67
+msgid "RES^Very low"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67
-msgid "Non-solid"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:68
+msgid "RES^Low"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68
-msgid "Solid"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:69
+msgid "RES^Normal"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69
-msgid "Set physics:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:70
+msgid "RES^Good"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70
-msgid "Static"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:71
+msgid "RES^Best"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71
-msgid "Movable"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:84
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:87
+msgid "Avoid lossy texture compression"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72
-msgid "Physical"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:93
+msgid "Use lightmaps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74
-msgid "Set scale:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:94
+msgid "Deluxe mapping"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:76
-msgid "Set force:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:96
+msgid "Gloss"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:80
-msgid "Claim *"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:100
+msgid "Particles quality:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:82
-msgid "* object info"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:103
+msgid "Particles distance:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83
-msgid "* mesh info"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:106
+msgid "Damage effects:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84
-msgid "* attachment info"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:108
+msgid "DMGPRTCLS^Disabled"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85
-msgid "Show help"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:109
+msgid "DMGPRTCLS^Skeletal"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86
-msgid "* is the object you are facing"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:110
+msgid "DMGPRTCLS^All"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:87
-msgid "Force player models to mine"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:114
+msgid "Decals"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90
-msgid "Field of view:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:115
+msgid "Decals on models"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:94
-msgid "View bobbing:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:119
+msgid "Distance:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98
-msgid "Zoom factor:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:125
+msgid "Time:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:102
-msgid "Zoom speed:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:131
+msgid "Coronas"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:105
-msgid "Weapon settings..."
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:132
+msgid "Use Occlusion Queries"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112
-msgid "Crosshair:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:134
+msgid "No dynamic lighting"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:113
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:141
-msgid "Per weapon"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:136
+msgid "Fake corona lighting"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132
-msgid "Crosshair size:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:138
+msgid "Realtime dynamic lighting"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136
-msgid "Crosshair alpha:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:139
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:143
+msgid "Shadows"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140
-msgid "Crosshair color:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:142
+msgid "Realtime world lighting"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:142
-msgid "By health"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:147
+msgid "Use normal maps"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:145
-msgid "Custom"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:149
+msgid "Soft shadows"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:150
-msgid "Enable center dot"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:153
+msgid "Show surfaces"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153
-msgid "Size:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:155
+msgid "Offset mapping"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160
-msgid "Hit test:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:157
+msgid "Relief mapping"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161
-msgid "HTST^None"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:159
+msgid "LOD"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:162
-msgid "TrueAim"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:162
+msgid "Bloom"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:163
-msgid "Enemies"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:164
+msgid "Reflections:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:166
-msgid "Waypoints setup..."
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:167
+msgid "Blurred"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:171
-msgid "Enter HUD editor"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:168
+msgid "REFL^Good"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176
-msgid "Force models:"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:169
+msgid "Sharp"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177
-msgid "MDL^None"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:174
+msgid "Motion blur:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:178
-msgid "MDL^Custom"
+#: qcsrc/menu/xonotic/dialog_settings_effects.c:179
+msgid "Extra postprocessing effects"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:179
-msgid "MDL^All"
+#: qcsrc/menu/xonotic/skinlist.c:105
+msgid "<TITLE>"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182
-msgid "Disable gore effects"
+#: qcsrc/menu/xonotic/skinlist.c:106
+msgid "<AUTHOR>"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184
-msgid "Gibs:"
+#: qcsrc/menu/xonotic/skinlist.c:166 qcsrc/common/mapinfo.qc:1057
+#, c-format
+msgid "%s: %s"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186
-msgid "GIBS^None"
+#: qcsrc/menu/xonotic/serverlist.c:185
+msgid "Remove"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187
-msgid "GIBS^Few"
+#: qcsrc/menu/xonotic/serverlist.c:187
+msgid "Bookmark"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:188
-msgid "GIBS^Many"
+#: qcsrc/menu/xonotic/serverlist.c:548
+msgid "Ping"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:189
-msgid "GIBS^Lots"
+#: qcsrc/menu/xonotic/serverlist.c:549
+msgid "Host name"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:193
-msgid "Damage splash:"
+#: qcsrc/menu/xonotic/serverlist.c:550
+msgid "Map"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4
-msgid "Notification Panel"
+#: qcsrc/menu/xonotic/serverlist.c:551
+msgid "Type"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:22
-msgid "Notifications:"
+#: qcsrc/menu/xonotic/serverlist.c:552
+msgid "Players"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:25
-msgid "Also print notifications to the console"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:27
+msgid "Master:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:28
-msgid "Flip notify order"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:35
+msgid "Music:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:31
-msgid "Entry lifetime:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:45
+msgid "VOL^Ambient:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:35
-msgid "Entry fadetime:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:54
+msgid "Info:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4
-msgid "Centerprint"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:63
+msgid "Items:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:23
-msgid "Message duration:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:72
+msgid "Pain:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:27
-msgid "Fade time:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:81
+msgid "Player:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:31
-msgid "Flip messages order"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:90
+msgid "Shots:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:33
-msgid "Text alignment:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:99
+msgid "Voice:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:41
-msgid "Font scale:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:109
+msgid "Weapons:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4
-msgid "Demo"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:117
+msgid "New style sound attenuation"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28
-msgid "Record demos while playing"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:119
+msgid "Mute sounds when not active"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43
-msgid "Timedemo"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:122
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:194
+msgid "Frequency:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46
-msgid "DEMO^Play"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:124
+msgid "8 kHz"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4
-msgid "Winner"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:125
+msgid "11.025 kHz"
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/dialog_settings_audio.c:126
+msgid "16 kHz"
msgstr ""
-#: qcsrc/menu/xonotic/maplist.c:286
-#, c-format
-msgid "%s's Xonotic Server"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:127
+msgid "22.05 kHz"
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/dialog_settings_audio.c:128
+msgid "24 kHz"
msgstr ""
-#: qcsrc/menu/xonotic/util.qh:48
-msgid "Enable panel"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:129
+msgid "32 kHz"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:4
-msgid "Info Messages Panel"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:130
+msgid "44.1 kHz"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:22
-msgid "Info messages:"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:131
+msgid "48 kHz"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_hudpanel_infomessages.c:25
-msgid "Flip align"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:134
+msgid "Channels:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_teamselect.c:5
-msgid "Team Selection"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:136
+msgid "Mono"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_teamselect.c:41
-msgid "join 'best' team (auto-select)"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:137
+msgid "Stereo"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_teamselect.c:45
-msgid "red"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:138
+msgid "2.1"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_teamselect.c:46
-msgid "blue"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:139
+msgid "4"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_teamselect.c:47
-msgid "yellow"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:140
+msgid "5"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_teamselect.c:48
-msgid "pink"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:141
+msgid "5.1"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_teamselect.c:51
-msgid "spectate"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:142
+msgid "6.1"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7
-msgid "Mutators"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:143
+msgid "7.1"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:33
-msgid "All Weapons Arena"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:146
+msgid "Swap Stereo"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:35
-msgid "Most Weapons Arena"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:148
+msgid "Headphone friendly mode"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:56
-#, c-format
-msgid "%s Arena"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:170
+msgid "Hit indication sound"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:68
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:173
-msgid "Dodging"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:172
+msgid "Chat message sound"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:70
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:258
-msgid "MinstaGib"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:174
+msgid "Menu sounds"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:72
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:261
-msgid "NIX"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:177
+msgid "Time announcer:"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:74
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:213
-msgid "Rocket Flying"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:179
+msgid "WRN^Disabled"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:76
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:210
-msgid "Invincible Projectiles"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:180
+msgid "1 minute"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:272
-msgid "No start weapons"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:181
+msgid "5 minutes"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:82
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:195
-msgid "Low gravity"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:182
+msgid "WRN^Both"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:176
-msgid "Cloaked"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:189
+msgid "Automatic taunts"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86
-msgid "Hook"
+#: qcsrc/menu/xonotic/dialog_settings_audio.c:199
+msgid "Debug info about sounds"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:88
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:179
-msgid "Midair"
+#: qcsrc/menu/command/menu_cmd.qc:41
+#, c-format
+msgid "error: status is %d\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:90
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:182
-msgid "Vampire"
+#: qcsrc/menu/command/menu_cmd.qc:64
+msgid "Usage: menu_cmd command..., where possible commands are:\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:92
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:216
-msgid "Piñata"
+#: qcsrc/menu/command/menu_cmd.qc:65
+msgid " sync - reloads all cvars on the current menu page\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:94
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:219
-msgid "Weapons stay"
+#: qcsrc/menu/command/menu_cmd.qc:66
+msgid " directmenu ITEM - select a menu item as main item\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:96
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:186
-msgid "Blood loss"
+#: qcsrc/menu/command/menu_cmd.qc:179
+msgid "error creating curl handle\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:207
-msgid "Jet pack"
+#: qcsrc/menu/command/menu_cmd.qc:186
+msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100
-msgid "No powerups"
+#: qcsrc/menu/menu.qc:37
+#, c-format
+msgid "^4MQC Build information: ^1%s\n"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102
-msgid "Powerups"
+#: qcsrc/menu/item/listbox.c:300
+#, c-format
+msgid "Item %d"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104
-msgid "MUT^None"
+#: qcsrc/menu/item/gecko.c:49
+msgid "Browser not initialized!"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170
-msgid "Gameplay mutators:"
+#: 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/xonotic/dialog_multiplayer_create_mutators.c:201
-msgid "Weapon & item mutators:"
+#: qcsrc/menu/item/slider.c:64
+#, c-format
+msgid "%d (%s)"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204
-msgid "Grappling hook"
+#: qcsrc/menu/item/textslider.c:29 qcsrc/menu/item/textslider.c:31
+msgid "custom"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223
-msgid "Weapon arenas:"
+#: qcsrc/common/mapinfo.qc:665
+#, c-format
+msgid "@!#%'n Tuba Throwing"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226
-msgid "Regular (no arena)"
+#: qcsrc/common/mapinfo.qh:36
+msgid "Deathmatch"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:264
-msgid "with laser"
+#: qcsrc/common/mapinfo.qh:39
+msgid "Last Man Standing"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255
-msgid "Special arenas:"
+#: qcsrc/common/mapinfo.qh:42
+msgid "Arena"
msgstr ""
-#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268
-msgid "Most weapons"
+#: qcsrc/common/mapinfo.qh:45
+msgid "Runematch"
msgstr ""
-#: qcsrc/menu/gamecommand.qc:47
-#, c-format
-msgid "error: status is %d\n"
+#: qcsrc/common/mapinfo.qh:48
+msgid "Race"
msgstr ""
-#: qcsrc/menu/gamecommand.qc:70
-msgid "Usage: menu_cmd command..., where possible commands are:\n"
+#: qcsrc/common/mapinfo.qh:51
+msgid "Race CTS"
msgstr ""
-#: qcsrc/menu/gamecommand.qc:71
-msgid " sync - reloads all cvars on the current menu page\n"
+#: qcsrc/common/mapinfo.qh:54
+msgid "Team Deathmatch"
msgstr ""
-#: qcsrc/menu/gamecommand.qc:72
-msgid " directmenu ITEM - select a menu item as main item\n"
+#: qcsrc/common/mapinfo.qh:57
+msgid "Capture the Flag"
msgstr ""
-#: qcsrc/menu/gamecommand.qc:185
-msgid "error creating curl handle\n"
+#: qcsrc/common/mapinfo.qh:60
+msgid "Clan Arena"
msgstr ""
-#: qcsrc/menu/gamecommand.qc:192
-msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n"
+#: qcsrc/common/mapinfo.qh:63
+msgid "Domination"
msgstr ""
-#: qcsrc/menu/menu.qc:37
-#, c-format
-msgid "^4MQC Build information: ^1%s\n"
+#: qcsrc/common/mapinfo.qh:66
+msgid "Key Hunt"
msgstr ""
-#: qcsrc/menu/item/textslider.c:29 qcsrc/menu/item/textslider.c:31
-msgid "custom"
+#: qcsrc/common/mapinfo.qh:69
+msgid "Assault"
msgstr ""
-#: qcsrc/menu/item/slider.c:64
-#, c-format
-msgid "%d (%s)"
+#: qcsrc/common/mapinfo.qh:72
+msgid "Onslaught"
msgstr ""
-#: qcsrc/menu/item/label.c:63
-#, c-format
-msgid "NOTE: label text %s too wide for label, condensed by factor %f\n"
+#: qcsrc/common/mapinfo.qh:75
+msgid "Nexball"
msgstr ""
-#: qcsrc/menu/item/listbox.c:300
-#, c-format
-msgid "Item %d"
+#: qcsrc/common/mapinfo.qh:78
+msgid "Freeze Tag"
msgstr ""
-#: qcsrc/menu/item/gecko.c:49
-msgid "Browser not initialized!"
+#: qcsrc/common/mapinfo.qh:81
+msgid "Keepaway"
msgstr ""
#: weapons.qc.tmp:1
-msgid "Crylink"
+msgid "Rifle"
msgstr ""
#: weapons.qc.tmp:2
-msgid "Heavy Laser Assault Cannon"
+msgid "Machine Gun"
msgstr ""
#: weapons.qc.tmp:3
-msgid "MinstaNex"
+msgid "Rocket Launcher"
msgstr ""
#: weapons.qc.tmp:4
-msgid "Mortar"
+msgid "Port-O-Launch"
msgstr ""
#: weapons.qc.tmp:5
-msgid "Laser"
+msgid "Grappling Hook"
msgstr ""
#: weapons.qc.tmp:6
-msgid "Nex"
+msgid "Electro"
msgstr ""
#: weapons.qc.tmp:7
-msgid "Grappling Hook"
+msgid "Laser"
msgstr ""
#: weapons.qc.tmp:8
-msgid "Rocket Launcher"
+msgid "Shotgun"
msgstr ""
#: weapons.qc.tmp:9
-msgid "Port-O-Launch"
+#, c-format
+msgid "@!#%'n Tuba"
msgstr ""
#: weapons.qc.tmp:10
-msgid "Electro"
+msgid "MinstaNex"
msgstr ""
#: weapons.qc.tmp:11
-msgid "Hagar"
+msgid "Crylink"
msgstr ""
#: weapons.qc.tmp:12
-msgid "Shotgun"
+msgid "Heavy Laser Assault Cannon"
msgstr ""
#: weapons.qc.tmp:13
-#, c-format
-msgid "@!#%'n Tuba"
+msgid "Mortar"
msgstr ""
#: weapons.qc.tmp:14
-msgid "Mine Layer"
+msgid "Hagar"
msgstr ""
#: weapons.qc.tmp:15
-msgid "Rifle"
+msgid "T.A.G. Seeker"
msgstr ""
#: weapons.qc.tmp:16
-msgid "Machine Gun"
+msgid "Fireball"
msgstr ""
#: weapons.qc.tmp:17
-msgid "Fireball"
+msgid "Mine Layer"
msgstr ""
#: weapons.qc.tmp:18
-msgid "T.A.G. Seeker"
+msgid "Nex"
msgstr ""
PERL ?= perl
FTEQCCFLAGS_WATERMARK ?= -DWATERMARK='"$(shell git describe)"' -DCVAR_POPCON
-FTEQCCFLAGS ?= -Werror -Wno-Q302 -O3 -Ono-c -Ono-cs -fno-fastarrays $(FTEQCCFLAGS_EXTRA) $(FTEQCCFLAGS_WATERMARK)
+FTEQCCFLAGS ?= -Werror -Wno-Q302 -O3 -fno-fastarrays $(FTEQCCFLAGS_EXTRA) $(FTEQCCFLAGS_WATERMARK)
FTEQCCFLAGS_PROGS ?=
FTEQCCFLAGS_MENU ?=
.float csqcmodel_isdead; // used by shownames and miscfunctions (float getplayerisdead(float) {}) to know when a player is dead
#define player_currententnum (spectatee_status > 0 ? spectatee_status : player_localnum + 1)
+
+float g_balance_porto_secondary;
hagar_maxrockets = ReadByte();
g_trueaim_minrange = ReadCoord();
+ g_balance_porto_secondary = ReadByte();
if(!postinit)
PostInit();
if(activeweapon != WEP_PORTO || spectatee_status || gametype == MAPINFO_TYPE_NEXBALL)
return;
+ if(g_balance_porto_secondary)
+ return;
if(intermission == 1)
return;
if(intermission == 2)
makevectors(view_angles);
- if(autocvar_cl_velocityzoom)
+ if(autocvar_cl_velocityzoom && autocvar_cl_velocityzoom_type) // _type = 0 disables velocity zoom too
{
switch(autocvar_cl_velocityzoom_type)
{
CSQC_common_hud();
// crosshair goes VERY LAST
- if(!scoreboard_active && !camera_active && intermission != 2 && spectatee_status != -1 && hud == HUD_NORMAL) {
+ if(!scoreboard_active && !camera_active && intermission != 2 && spectatee_status != -1 && hud == HUD_NORMAL)
+ {
+ if not(autocvar_crosshair_enabled) // main toggle for crosshair rendering
+ return;
+
string wcross_style;
float wcross_alpha, wcross_resolution;
wcross_style = autocvar_crosshair;
{
vector wcross_color_old;
wcross_color_old = wcross_color;
- if(autocvar_crosshair_dot_color != "0")
+
+ if((autocvar_crosshair_dot_color_custom) && (autocvar_crosshair_dot_color != "0"))
wcross_color = stov(autocvar_crosshair_dot_color);
+
CROSSHAIR_DRAW(wcross_resolution * autocvar_crosshair_dot_size, "gfx/crosshairdot.tga", f * autocvar_crosshair_dot_alpha);
// FIXME why don't we use wcross_alpha here?
wcross_color = wcross_color_old;
var float autocvar_cl_vehicle_spiderbot_cross_alpha = 0.6;
var float autocvar_cl_vehicle_spiderbot_cross_size = 1;
float autocvar_cl_velocityzoom;
-float autocvar_cl_velocityzoom_type;
+var float autocvar_cl_velocityzoom_type = 3;
float autocvar_cl_velocityzoom_speed;
float autocvar_cl_velocityzoom_time;
string autocvar_cl_weaponpriority;
float autocvar_crosshair_dot;
float autocvar_crosshair_dot_alpha;
string autocvar_crosshair_dot_color;
+var float autocvar_crosshair_dot_color_custom = 1;
float autocvar_crosshair_dot_size;
float autocvar_crosshair_effect_scalefade;
float autocvar_crosshair_effect_speed;
+var float autocvar_crosshair_enabled = 1;
float autocvar_crosshair_hitindication;
string autocvar_crosshair_hitindication_color;
float autocvar_crosshair_hitindication_speed;
var float autocvar_cl_eventchase_speed = 1.3;
float autocvar_cl_lerpexcess;
string autocvar__togglezoom;
+float autocvar_cl_damageeffect;
+float autocvar_cl_damageeffect_ticrate;
+float autocvar_cl_damageeffect_bones;
+float autocvar_cl_damageeffect_distribute;
+float autocvar_cl_damageeffect_lifetime;
+float autocvar_cl_damageeffect_lifetime_min;
+float autocvar_cl_damageeffect_lifetime_max;
float autocvar_cl_playerdetailreduction;
float autocvar_cl_loddistance1 = 1024;
float autocvar_cl_loddistance2 = 4096;
}
Movetype_Physics_MatchTicrate(autocvar_cl_casings_ticrate, autocvar_cl_casings_sloppy);
+ if(wasfreed(self))
+ return; // deleted by touch function
self.renderflags = 0;
self.alpha = bound(0, self.cnt - time, 1);
+void DamageEffect_Think()
+{
+ // if particle distribution is enabled, slow ticrate by total number of damages
+ if(autocvar_cl_damageeffect_distribute)
+ self.nextthink = time + autocvar_cl_damageeffect_ticrate * self.owner.total_damages;
+ else
+ self.nextthink = time + autocvar_cl_damageeffect_ticrate;
+
+ if(time >= self.cnt || !self.owner || !self.owner.modelindex || !self.owner.drawmask)
+ {
+ // time is up or the player got gibbed / disconnected
+ self.owner.total_damages = max(0, self.owner.total_damages - 1);
+ remove(self);
+ return;
+ }
+ if(self.state && !self.owner.csqcmodel_isdead)
+ {
+ // if the player was dead but is now alive, it means he respawned
+ // if so, clear his damage effects, or damages from his dead body will be copied back
+ self.owner.total_damages = max(0, self.owner.total_damages - 1);
+ remove(self);
+ return;
+ }
+ self.state = self.owner.csqcmodel_isdead;
+#ifdef COMPAT_XON050_ENGINE
+ if(self.owner.isplayermodel && (self.owner.entnum == player_localentnum || self.owner.entnum == spectatee_status) && !autocvar_chase_active)
+#else
+ if(self.owner.isplayermodel && (self.owner.entnum == player_localentnum) && !autocvar_chase_active)
+#endif
+ return; // if we aren't using a third person camera, hide our own effects
+
+ // now generate the particles
+ vector org;
+ org = gettaginfo(self, 0); // origin at attached location
+ pointparticles(self.team, org, '0 0 0', 1);
+}
+
+void DamageEffect(vector hitorg, float dmg, float type, float specnum)
+{
+ // particle effects for players and objects damaged by weapons (eg: flames coming out of victims shot with rockets)
+
+ float life, nearestbone;
+ string specstr, effectname;
+ entity e;
+
+ if(!autocvar_cl_damageeffect || autocvar_cl_gentle || autocvar_cl_gentle_damage)
+ return;
+ if(!self || !self.modelindex || !self.drawmask)
+ return;
+
+ // if this is a rigged mesh, the effect will show on the bone where damage was dealt
+ // we do this by choosing the skeletal bone closest to the impact, and attaching our entity to it
+ // if there's no skeleton, object origin will automatically be selected
+ FOR_EACH_TAG(self)
+ {
+ if(!tagnum)
+ continue; // skip empty bones
+ // blacklist bones positioned outside the mesh, or the effect will be floating
+ // TODO: Do we have to do it this way? Why do these bones exist at all?
+ if(gettaginfo_name == "master" || gettaginfo_name == "knee_L" || gettaginfo_name == "knee_R" || gettaginfo_name == "leg_L" || gettaginfo_name == "leg_R")
+ continue; // player model bone blacklist
+
+ // now choose the bone closest to impact origin
+ if(vlen(hitorg - gettaginfo(self, tagnum)) <= vlen(hitorg - gettaginfo(self, nearestbone)))
+ nearestbone = tagnum;
+ }
+ gettaginfo(self, nearestbone); // set gettaginfo_name
+
+ // return if we reached our damage effect limit or damages are disabled
+ // TODO: When the limit is reached, it would be better if the oldest damage was removed instead of not adding a new one
+ if(nearestbone)
+ {
+ if(self.total_damages >= autocvar_cl_damageeffect_bones)
+ return; // allow multiple damages on skeletal models
+ }
+ else
+ {
+ if(autocvar_cl_damageeffect < 2 || self.total_damages)
+ return; // allow a single damage on non-skeletal models
+ }
+
+ life = bound(autocvar_cl_damageeffect_lifetime_min, dmg * autocvar_cl_damageeffect_lifetime, autocvar_cl_damageeffect_lifetime_max);
+ specstr = species_prefix(specnum);
+ type = DEATH_WEAPONOF(type);
+ e = get_weaponinfo(type);
+
+ effectname = strcat("damage_", e.netname);
+
+ // if damage was dealt with a bullet weapon, our effect is blood
+ // since blood is species dependent, include the species tag
+ if(type == WEP_SHOTGUN || type == WEP_UZI || type == WEP_RIFLE)
+ {
+ if(self.isplayermodel)
+ {
+ effectname = strcat(effectname, "_", specstr);
+ effectname = substring(effectname, 0, strlen(effectname) - 1); // remove the _ symbol at the end of the species tag
+ }
+ else
+ return; // objects don't bleed
+ }
+
+ e = spawn();
+ setmodel(e, "null"); // necessary to attach and read origin // samual: FIXME: this is weird, is there some better way to do this?
+ setattachment(e, self, gettaginfo_name); // attach to the given bone
+ e.classname = "damage";
+ e.owner = self;
+ e.cnt = time + life;
+ e.team = particleeffectnum(effectname);
+ e.think = DamageEffect_Think;
+ e.nextthink = time;
+ self.total_damages += 1;
+}
+
void Ent_DamageInfo(float isNew)
{
- float dmg, rad, edge, thisdmg, forcemul;
+ float dmg, rad, edge, thisdmg, forcemul, species;
vector force, thisforce;
entity oldself;
rad = ReadByte();
edge = ReadByte();
force = decompressShortVector(ReadShort());
+ species = ReadByte();
if not(isNew)
return;
if(self.event_damage)
self.event_damage(thisdmg, w_deathtype, w_org, thisforce);
+
+ DamageEffect(w_org, thisdmg, w_deathtype, species);
}
self = oldself;
if(DEATH_ISVEHICLE(w_deathtype))
{
- traceline(w_org - normalize(force) * 16, w_org + normalize(force) * 16, MOVE_NOMONSTERS, world);
- if(trace_plane_normal != '0 0 0')
- w_backoff = trace_plane_normal;
- else
- w_backoff = -1 * normalize(w_org - (w_org + normalize(force) * 16));
-
- setorigin(self, w_org + w_backoff * 2); // for sound() calls
-
- switch(w_deathtype)
- {
- case DEATH_VHCRUSH:
- break;
-
- case DEATH_SBMINIGUN:
- string _snd;
- _snd = strcat("weapons/ric", ftos(1 + rint(random() * 2)), ".waw");
- sound(self, CH_SHOTS, _snd, VOL_BASE, ATTN_NORM);
- pointparticles(particleeffectnum("spiderbot_minigun_impact"), self.origin, w_backoff * 1000, 1);
- break;
- case DEATH_SBROCKET:
- sound(self, CH_SHOTS, "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, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN);
- pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1);
- break;
-
- case DEATH_WAKIGUN:
- sound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
- pointparticles(particleeffectnum("wakizashi_gun_impact"), self.origin, w_backoff * 1000, 1);
- break;
- case DEATH_WAKIROCKET:
- sound(self, CH_SHOTS, "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, CH_SHOTS, "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, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
- pointparticles(particleeffectnum("raptor_cannon_impact"), self.origin, w_backoff * 1000, 1);
- break;
- case DEATH_RAPTOR_BOMB_SPLIT:
- float i;
- vector ang, vel;
- for(i = 1; i < 4; ++i)
- {
- vel = normalize(w_org - (w_org + normalize(force) * 16)) + randomvec() * 128;
- ang = vectoangles(vel);
- RaptorCBShellfragToss(w_org, vel, ang + '0 0 1' * (120 * i));
- }
-
-
- sound(self, CH_SHOTS, "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, CH_SHOTS, "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, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN);
- pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1);
- break;
- }
+ traceline(w_org - normalize(force) * 16, w_org + normalize(force) * 16, MOVE_NOMONSTERS, world);
+ if(trace_plane_normal != '0 0 0')
+ w_backoff = trace_plane_normal;
+ else
+ w_backoff = -1 * normalize(w_org - (w_org + normalize(force) * 16));
+
+ setorigin(self, w_org + w_backoff * 2); // for sound() calls
+
+ switch(w_deathtype)
+ {
+ case DEATH_VHCRUSH:
+ break;
+
+ // spiderbot
+ case DEATH_SBMINIGUN:
+ string _snd;
+ _snd = strcat("weapons/ric", ftos(1 + rint(random() * 2)), ".waw");
+ sound(self, CH_SHOTS, _snd, VOL_BASE, ATTN_NORM);
+ pointparticles(particleeffectnum("spiderbot_minigun_impact"), self.origin, w_backoff * 1000, 1);
+ break;
+ case DEATH_SBROCKET:
+ sound(self, CH_SHOTS, "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, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN);
+ pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1);
+ break;
+
+ case DEATH_WAKIGUN:
+ sound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
+ pointparticles(particleeffectnum("wakizashi_gun_impact"), self.origin, w_backoff * 1000, 1);
+ break;
+ case DEATH_WAKIROCKET:
+ sound(self, CH_SHOTS, "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, CH_SHOTS, "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, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_NORM);
+ pointparticles(particleeffectnum("raptor_cannon_impact"), self.origin, w_backoff * 1000, 1);
+ break;
+ case DEATH_RAPTOR_BOMB_SPLIT:
+ float i;
+ vector ang, vel;
+ for(i = 1; i < 4; ++i)
+ {
+ vel = normalize(w_org - (w_org + normalize(force) * 16)) + randomvec() * 128;
+ ang = vectoangles(vel);
+ RaptorCBShellfragToss(w_org, vel, ang + '0 0 1' * (120 * i));
+ }
+ sound(self, CH_SHOTS, "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, CH_SHOTS, "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, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN);
+ pointparticles(particleeffectnum("explosion_big"), self.origin, w_backoff * 1000, 1);
+ break;
+ }
}
if(DEATH_ISTURRET(w_deathtype))
- {
- string _snd;
- traceline(w_org - normalize(force) * 16, w_org + normalize(force) * 16, MOVE_NOMONSTERS, world);
- if(trace_plane_normal != '0 0 0')
- w_backoff = trace_plane_normal;
- else
- w_backoff = -1 * normalize(w_org - (w_org + normalize(force) * 16));
-
- setorigin(self, w_org + w_backoff * 2); // for sound() calls
-
- switch(w_deathtype)
- {
- case DEATH_TURRET_EWHEEL:
- sound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN);
- pointparticles(particleeffectnum("laser_impact"), self.origin, w_backoff * 1000, 1);
- break;
-
- case DEATH_TURRET_FLAC:
- pointparticles(particleeffectnum("hagar_explode"), w_org, '0 0 0', 1);
- _snd = strcat("weapons/hagexp", ftos(1 + rint(random() * 2)), ".waw");
- sound(self, CH_SHOTS, _snd, VOL_BASE, ATTN_NORM);
- break;
-
- case DEATH_TURRET_MLRS:
- case DEATH_TURRET_HK:
- case DEATH_TURRET_WALKER_ROCKET:
- case DEATH_TURRET_HELLION:
- sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN);
- pointparticles(particleeffectnum("rocket_explode"), self.origin, w_backoff * 1000, 1);
- break;
-
- case DEATH_TURRET_MACHINEGUN:
- case DEATH_TURRET_WALKER_GUN:
- _snd = strcat("weapons/ric", ftos(1 + rint(random() * 2)), ".waw");
- sound(self, CH_SHOTS, _snd, VOL_BASE, ATTN_NORM);
- pointparticles(particleeffectnum("machinegun_impact"), self.origin, w_backoff * 1000, 1);
- break;
-
- case DEATH_TURRET_PLASMA:
- sound(self, CH_SHOTS, "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, CH_SHOTS, "weapons/ric1.wav", VOL_BASE, ATTN_MIN);
- pointparticles(particleeffectnum("TE_SPARK"), self.origin, w_backoff * 1000, 1);
- break;
-
- case DEATH_TURRET_PHASER:
- break;
-
- case DEATH_TURRET_TESLA:
- te_smallflash(self.origin);
- break;
-
- }
+ {
+ string _snd;
+ traceline(w_org - normalize(force) * 16, w_org + normalize(force) * 16, MOVE_NOMONSTERS, world);
+ if(trace_plane_normal != '0 0 0')
+ w_backoff = trace_plane_normal;
+ else
+ w_backoff = -1 * normalize(w_org - (w_org + normalize(force) * 16));
+
+ setorigin(self, w_org + w_backoff * 2); // for sound() calls
+
+ switch(w_deathtype)
+ {
+ case DEATH_TURRET_EWHEEL:
+ sound(self, CH_SHOTS, "weapons/laserimpact.wav", VOL_BASE, ATTN_MIN);
+ pointparticles(particleeffectnum("laser_impact"), self.origin, w_backoff * 1000, 1);
+ break;
+
+ case DEATH_TURRET_FLAC:
+ pointparticles(particleeffectnum("hagar_explode"), w_org, '0 0 0', 1);
+ _snd = strcat("weapons/hagexp", ftos(1 + rint(random() * 2)), ".waw");
+ sound(self, CH_SHOTS, _snd, VOL_BASE, ATTN_NORM);
+ break;
+
+ case DEATH_TURRET_MLRS:
+ case DEATH_TURRET_HK:
+ case DEATH_TURRET_WALKER_ROCKET:
+ case DEATH_TURRET_HELLION:
+ sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_MIN);
+ pointparticles(particleeffectnum("rocket_explode"), self.origin, w_backoff * 1000, 1);
+ break;
+
+ case DEATH_TURRET_MACHINEGUN:
+ case DEATH_TURRET_WALKER_GUN:
+ _snd = strcat("weapons/ric", ftos(1 + rint(random() * 2)), ".waw");
+ sound(self, CH_SHOTS, _snd, VOL_BASE, ATTN_NORM);
+ pointparticles(particleeffectnum("machinegun_impact"), self.origin, w_backoff * 1000, 1);
+ break;
+
+ case DEATH_TURRET_PLASMA:
+ sound(self, CH_SHOTS, "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, CH_SHOTS, "weapons/ric1.wav", VOL_BASE, ATTN_MIN);
+ pointparticles(particleeffectnum("TE_SPARK"), self.origin, w_backoff * 1000, 1);
+ break;
+
+ case DEATH_TURRET_PHASER:
+ break;
+
+ case DEATH_TURRET_TESLA:
+ te_smallflash(self.origin);
+ break;
+
+ }
}
// TODO spawn particle effects and sounds based on w_deathtype
--- /dev/null
+.float total_damages; // number of effects which currently are attached to a player
\ No newline at end of file
// TODO remove some gibs according to cl_nogibs
gib = RubbleNew("gib");
+ gib.classname = "gib";
gib.move_movetype = MOVETYPE_BOUNCE;
gib.gravity = 1;
gib.solid = SOLID_CORPSE;
autocvars.qh
+damage.qh
+
../csqcmodellib/interpolate.qh
teamradar.qh
hud.qh
string MapInfo_ListAllAllowedMaps(float pFlagsRequired, float pFlagsForbidden);
// gets a gametype from a string
+string _MapInfo_GetDefaultEx(float t);
float MapInfo_Type_FromString(string t);
string MapInfo_Type_ToString(float t);
string MapInfo_Type_ToText(float t);
tokenize_console("foo bar");
if(strcat(argv(0), substring("foo bar", 4, 7 - argv_start_index(1))) == "barbar")
error("fteqcc bug introduced with revision 3178 detected. Please upgrade fteqcc to a later revision, downgrade fteqcc to revision 3177, or pester Spike until he fixes it. You can set _allow_unacceptable_compiler_bugs 1 to skip this check, but expect stuff to be horribly broken then.");
+
+ string s = "";
+ if not(s)
+ error("The empty string counts as false. We do not want that!");
}
float compressShotOrigin(vector v)
}
#endif
+#ifndef MENUQC
+.float skeleton_bones_index;
+void Skeleton_SetBones(entity e)
+{
+ // set skeleton_bones to the total number of bones on the model
+ if(e.skeleton_bones_index == e.modelindex)
+ return; // same model, nothing to update
+
+ float skelindex;
+ skelindex = skel_create(e.modelindex);
+ e.skeleton_bones = skel_get_numbones(skelindex);
+ skel_delete(skelindex);
+ e.skeleton_bones_index = e.modelindex;
+}
+#endif
+
string to_execute_next_frame;
void execute_next_frame()
{
// generic shutdown handler
void Shutdown();
+#ifndef MENUQC
+.float skeleton_bones;
+void Skeleton_SetBones(entity e);
+// loops through the tags of model v using counter tagnum
+#define FOR_EACH_TAG(v) float tagnum; Skeleton_SetBones(v); for(tagnum = 0; tagnum < v.skeleton_bones; tagnum++, gettaginfo(v, tagnum))
+#endif
#ifdef SVQC
void WriteApproxPastTime(float dst, float t);
#endif
//description:
//like MOVETYPE_FLY, but does all traces with MOVE_WORLDONLY, and is ignored by MOVETYPE_PUSH. Should only be combined with SOLID_NOT and SOLID_TRIGGER.
+//DP_PRECACHE_PIC_FLAGS
+//idea: divVerent
+//darkplaces implementation: divVerent
+//constant definitions:
+float PRECACHE_PIC_FROMWAD = 1; // this one actually is part of EXT_CSQC
+float PRECACHE_PIC_NOTPERSISTENT = 2; // picture may get deallocated when unused
+float PRECACHE_PIC_MIPMAP = 8; // mipmap the texture for possibly better downscaling at memory expense
+//notes: these constants are given as optional second argument to precache_pic()
+
//DP_QC_TRACE_MOVETYPE_WORLDONLY
//idea: LordHavoc
//darkplaces implementation: LordHavoc
const float RF_FULLBRIGHT = 256;
const float RF_NOSHADOW = 512;
float RF_DYNAMICMODELLIGHT = 8192;
+
+float gettaginfo_parent;
+string gettaginfo_name;
+vector gettaginfo_offset;
+vector gettaginfo_forward;
+vector gettaginfo_right;
+vector gettaginfo_up;
//////////////////////////////////////////////////
float iscachedpic(string name) = #451;
-string precache_pic(string name) = #452;
+string precache_pic(string name, ...) = #452;
void freepic(string name) = #453;
float drawcharacter(vector position, float character, vector scale, vector rgb, float alpha, float flag) = #454;
float(string s1, string s2) strcasecmp = #229;
float(string s1, string s2, float len) strncasecmp = #230;
+//DP_PRECACHE_PIC_FLAGS
+//idea: divVerent
+//darkplaces implementation: divVerent
+//constant definitions:
+float PRECACHE_PIC_FROMWAD = 1; // this one actually is part of EXT_CSQC
+float PRECACHE_PIC_NOTPERSISTENT = 2; // picture may get deallocated when unused
+float PRECACHE_PIC_MIPMAP = 8; // mipmap the texture for possibly better downscaling at memory expense
+//notes: these constants are given as optional second argument to precache_pic()
+
//DP_QC_CRC16
//idea: div0
//darkplaces implementation: div0
#include "xonotic/dialog_settings_video.c"
#include "xonotic/dialog_settings_effects.c"
#include "xonotic/dialog_settings_audio.c"
-#include "xonotic/dialog_settings_network.c"
+#include "xonotic/dialog_settings_user.c"
#include "xonotic/dialog_settings_misc.c"
#include "xonotic/dialog_multiplayer.c"
#include "xonotic/dialog_multiplayer_playersetup.c"
#include "xonotic/dialog_singleplayer_winner.c"
#include "xonotic/dialog_credits.c"
#include "xonotic/credits.c"
+#include "xonotic/dialog_multiplayer_playersetup_crosshair.c"
+#include "xonotic/dialog_multiplayer_playersetup_hud.c"
+#include "xonotic/dialog_multiplayer_playersetup_hudconfirm.c"
+#include "xonotic/dialog_multiplayer_playersetup_model.c"
+#include "xonotic/dialog_multiplayer_playersetup_view.c"
#include "xonotic/dialog_multiplayer_playersetup_weapons.c"
#include "xonotic/weaponslist.c"
-#include "xonotic/dialog_multiplayer_playersetup_waypoint.c"
#include "xonotic/dialog_multiplayer_demo.c"
#include "xonotic/demolist.c"
#include "xonotic/colorpicker.c"
return precache_pic(pic);
}
+string draw_PreloadPictureWithFlags(string pic, float f)
+{
+ pic = draw_UseSkinFor(pic);
+ return precache_pic(pic, f);
+}
+
void draw_Picture(vector theOrigin, string pic, vector theSize, vector theColor, float theAlpha)
{
if(theSize_x == 0 || theSize_y <= 0) // no default sizing please
void draw_drawMousePointer(vector where);
string draw_PreloadPicture(string pic);
+string draw_PreloadPictureWithFlags(string pic, float f);
void draw_ButtonPicture(vector theOrigin, string pic, vector theSize, vector theColor, float theAlpha);
void draw_VertButtonPicture(vector theOrigin, string pic, vector theSize, vector theColor, float theAlpha);
void draw_BorderPicture(vector theOrigin, string pic, vector theSize, vector theColor, float theAlpha, vector theBorderSize);
me.size = absSize;
}
+float autocvar_menu_showboxes;
void Item_draw(entity me)
{
+ if(autocvar_menu_showboxes)
+ {
+ vector rgb = '1 0 1';
+ float a = fabs(autocvar_menu_showboxes);
+
+ // don't draw containers and border images
+ if(me.instanceOfContainer || me.instanceOfBorderImage)
+ {
+ rgb = '0 0 0';
+ a = 0;
+ }
+
+#if 0
+ // hack to detect multi drawing
+ float r = random() * 3;
+ if(r >= 2)
+ rgb = '1 0 0';
+ else if(r >= 1)
+ rgb = '0 1 0';
+ else
+ rgb = '0 0 1';
+#endif
+ if(autocvar_menu_showboxes < 0)
+ {
+ draw_Fill('0 0 0', '0.5 0.5 0', rgb, a);
+ draw_Fill('0.5 0.5 0', '0.5 0.5 0', rgb, a);
+ }
+ if(autocvar_menu_showboxes > 0)
+ {
+ draw_Fill('0 0 0', '1 1 0', rgb, a);
+ }
+ }
}
void Item_showNotify(entity me)
draw_fontscale = df;
}
}
+ else
+ {
+ SUPER(BorderImage).draw(me);
+ }
}
#endif
draw_alpha = save;
- SUPER(Button).draw(me);
-
if(me.clickTime > 0 && me.clickTime <= frametime)
{
// keyboard click timer expired? Fire the event then.
me.onClick(me, me.onClickEntity);
}
me.clickTime -= frametime;
+
+ SUPER(Button).draw(me);
}
#endif
}
else
me.srcSuffix = (me.checked ? "1" : "0");
- SUPER(CheckBox).draw(me);
me.pressed = s;
+ SUPER(CheckBox).draw(me);
}
#endif
e.draw(e);
me.leaveSubitem(me);
}
+
+ SUPER(Container).draw(me);
}
void Container_focusLeave(entity me)
fontsize_z = 0.0;
draw_Text( '0 0 0', _("Browser not initialized!"), fontsize, '1 1 1', 1.0, 0 );
}
+ SUPER(Gecko).draw(me);
}
float Gecko_keyDown(entity me, float scan, float ascii, float shift)
void Image_draw(entity me)
{
draw_Picture(me.imgOrigin, me.src, me.imgSize, me.color, 1);
+ SUPER(Image).draw(me);
}
void Image_updateAspect(entity me)
{
}
else
draw_Text(me.realOrigin - eX * me.scrollPos, me.text, me.realFontSize, '1 1 1', 1, 0);
- // skipping SUPER(InputBox).draw(me);
+
if(!me.focused || (time - me.lastChangeTime) < floor(time - me.lastChangeTime) + 0.5)
draw_Text(me.realOrigin + eX * (cursorPosInWidths - me.scrollPos), CURSOR, me.realFontSize, '1 1 1', 1, 0);
draw_ClearClip();
+
+ // skipping SUPER(InputBox).draw(me);
+ Item_draw(me);
}
void InputBox_showNotify(entity me)
draw_fontscale = dfs;
}
+
+ SUPER(Label).draw(me);
}
#endif
me.drawListBoxItem(me, i, absSize, (me.selectedItem == i));
}
draw_ClearClip();
+
+ draw_shift = oldshift;
+ draw_scale = oldscale;
+ SUPER(ListBox).draw(me);
}
void ListBox_clickListBoxItem(entity me, float i, vector where)
// needs to be done so early because of the constants they create
RegisterWeapons();
RegisterGametypes();
+
+ float ddsload = cvar("r_texture_dds_load");
+ float texcomp = cvar("gl_texturecompression");
+ updateCompression();
+ if(ddsload != cvar("r_texture_dds_load") || texcomp != cvar("gl_texturecompression"))
+ localcmd("\nr_restart\n");
}
float MENU_ASPECT = 1.25; // 1280x1024
SKINVECTOR(COLOR_DIALOG_SINGLEPLAYER, '1 1 0.7');
SKINVECTOR(COLOR_DIALOG_CREDITS, '0.7 0.7 1');
SKINVECTOR(COLOR_DIALOG_WEAPONS, '1 0.7 0.7');
- SKINVECTOR(COLOR_DIALOG_WAYPOINTS, '0.7 0.7 1');
+ SKINVECTOR(COLOR_DIALOG_VIEW, '1 0.7 0.7');
+ SKINVECTOR(COLOR_DIALOG_MODEL, '1 0.7 0.7');
+ SKINVECTOR(COLOR_DIALOG_CROSSHAIR, '1 0.7 0.7');
+ SKINVECTOR(COLOR_DIALOG_HUD, '1 0.7 0.7');
SKINVECTOR(COLOR_DIALOG_SERVERINFO, '0.7 0.7 1');
SKINVECTOR(COLOR_DIALOG_CVARS, '1 0 0');
+ SKINVECTOR(COLOR_DIALOG_HUDCONFIRM, '1 0 0');
// nexposee positions of windows (they are the scale transformation
// centers, NOT the actual positions of the windows!)
SKINFLOAT(ALPHA_CVARLIST_SAVED, 1);
SKINFLOAT(ALPHA_CVARLIST_TEMPORARY, 0.7);
SKINVECTOR(COLOR_CVARLIST_CHANGED, '1 1 0.4');
- SKINVECTOR(COLOR_CVARLIST_REVERTBUTTON, '1 0 0');
SKINVECTOR(COLOR_CVARLIST_UNCHANGED, '1 1 1');
+ SKINVECTOR(COLOR_CVARLIST_CONTROLS, '1 0 0');
// item: dialog
SKINSTRING(GFX_DIALOGBORDER, "border");
METHOD(XonoticColorpickerString, mouseRelease, float(entity, vector))
METHOD(XonoticColorpickerString, mouseDrag, float(entity, vector))
ATTRIB(XonoticColorpickerString, cvarName, string, string_null)
+ METHOD(XonoticColorPickerString, loadCvars, void(entity))
+ METHOD(XonoticColorPickerString, saveCvars, void(entity))
ATTRIB(XonoticColorpickerString, prevcoords, vector, '0 0 0')
ATTRIB(XonoticColorpickerString, image, string, SKINGFX_COLORPICKER)
ATTRIB(XonoticColorpickerString, imagemargin, vector, SKINMARGIN_COLORPICKER)
{
me.cvarName = theCvar;
me.configureImage(me, me.image);
- if(cvar_string(theCvar) != "")
- me.prevcoords = color_hslimage(stov(cvar_string(theCvar)), me.imagemargin);
- else // use default
- me.prevcoords = color_hslimage(stov(cvar_string(theDefaultCvar)), me.imagemargin);
+ if(theCvar)
+ {
+ me.cvarName = theCvar;
+ me.tooltip = getZonedTooltipForIdentifier(theCvar);
+ me.loadCvars(me);
+ }
+}
+
+void XonoticColorPickerString_loadCvars(entity me)
+{
+ if not(me.cvarName)
+ return;
+
+ if(substring(me.cvarName, -1, 1) == "_")
+ {
+ me.prevcoords = color_hslimage(
+ eX * cvar(strcat(me.cvarName, "red")) +
+ eY * cvar(strcat(me.cvarName, "green")) +
+ eZ * cvar(strcat(me.cvarName, "blue")),
+ me.imagemargin);
+ }
+ else
+ me.prevcoords = color_hslimage(stov(cvar_string(me.cvarName)), me.imagemargin);
+}
+
+void XonoticColorPickerString_saveCvars(entity me)
+{
+ if not(me.cvarName)
+ return;
+
+ if(substring(me.cvarName, -1, 1) == "_")
+ {
+ vector v = hslimage_color(me.prevcoords, me.imagemargin);
+ cvar_set(strcat(me.cvarName, "red"), ftos(v_x));
+ cvar_set(strcat(me.cvarName, "green"), ftos(v_y));
+ cvar_set(strcat(me.cvarName, "blue"), ftos(v_z));
+ }
+ else
+ cvar_set(me.cvarName, sprintf("%v", hslimage_color(me.prevcoords, me.imagemargin)));
}
float XonoticColorpickerString_mousePress(entity me, vector coords)
if(coords_y <= 1 - margin_y)
{
me.prevcoords = coords;
+ me.saveCvars(me);
}
return 1;
sz = globalToBoxSize(sz, draw_scale);
if(!me.disabled)
- {
- cvar_set(me.cvarName, sprintf("%v", hslimage_color(me.prevcoords, me.imagemargin)));
draw_Picture(me.imgOrigin + me.prevcoords - 0.5 * sz, strcat(me.src, "_selected"), sz, '1 1 1', 1);
- }
+
draw_alpha = save;
}
#endif
draw_Picture('0.5 0.5 0' - 0.5 * sz, me.src3, sz, rgb, a);
if(cvar("crosshair_dot"))
- {
- if(cvar_string("crosshair_dot_color") != "0")
- rgb = stov(cvar_string("crosshair_dot_color"));
+ {
+ if(cvar("crosshair_dot_color_custom") && (cvar_string("crosshair_dot_color") != "0"))
+ rgb = stov(cvar_string("crosshair_dot_color"));
+
draw_Picture('0.5 0.5 0' - 0.5 * sz * cvar("crosshair_dot_size"), me.src4, sz * cvar("crosshair_dot_size"), rgb, a * cvar("crosshair_dot_alpha"));
- }
+ }
}
#endif
#ifdef INTERFACE
CLASS(XonoticDemoList) EXTENDS(XonoticListBox)
- METHOD(XonoticDemoList, configureXonoticDemoList, void(entity))
- ATTRIB(XonoticDemoList, rowsPerItem, float, 1)
- METHOD(XonoticDemoList, resizeNotify, void(entity, vector, vector, vector, vector))
- METHOD(XonoticDemoList, drawListBoxItem, void(entity, float, vector, float))
- METHOD(XonoticDemoList, getDemos, void(entity))
- METHOD(XonoticDemoList, startDemo, void(entity))
- METHOD(XonoticDemoList, demoName, string(entity, float))
- METHOD(XonoticDemoList, clickListBoxItem, void(entity, float, vector))
- METHOD(XonoticDemoList, keyDown, float(entity, float, float, float))
- METHOD(XonoticDemoList, destroy, void(entity))
- METHOD(XonoticDemoList, showNotify, void(entity))
- ATTRIB(XonoticDemoList, listDemo, float, -1)
- ATTRIB(XonoticDemoList, realFontSize, vector, '0 0 0')
- ATTRIB(XonoticDemoList, columnNameOrigin, float, 0)
- ATTRIB(XonoticDemoList, columnNameSize, float, 0)
- ATTRIB(XonoticDemoList, realUpperMargin, float, 0)
- ATTRIB(XonoticDemoList, origin, vector, '0 0 0')
- ATTRIB(XonoticDemoList, itemAbsSize, vector, '0 0 0')
- ATTRIB(XonoticDemoList, lastClickedDemo, float, -1)
- ATTRIB(XonoticDemoList, lastClickedTime, float, 0)
- ATTRIB(XonoticDemoList, filterString, string, string_null)
+ METHOD(XonoticDemoList, configureXonoticDemoList, void(entity))
+ ATTRIB(XonoticDemoList, rowsPerItem, float, 1)
+ METHOD(XonoticDemoList, resizeNotify, void(entity, vector, vector, vector, vector))
+ METHOD(XonoticDemoList, drawListBoxItem, void(entity, float, vector, float))
+ METHOD(XonoticDemoList, getDemos, void(entity))
+ METHOD(XonoticDemoList, startDemo, void(entity))
+ METHOD(XonoticDemoList, demoName, string(entity, float))
+ METHOD(XonoticDemoList, clickListBoxItem, void(entity, float, vector))
+ METHOD(XonoticDemoList, keyDown, float(entity, float, float, float))
+ METHOD(XonoticDemoList, destroy, void(entity))
+ METHOD(XonoticDemoList, showNotify, void(entity))
+
+ ATTRIB(XonoticDemoList, listDemo, float, -1)
+ ATTRIB(XonoticDemoList, realFontSize, vector, '0 0 0')
+ ATTRIB(XonoticDemoList, columnNameOrigin, float, 0)
+ ATTRIB(XonoticDemoList, columnNameSize, float, 0)
+ ATTRIB(XonoticDemoList, realUpperMargin, float, 0)
+ ATTRIB(XonoticDemoList, origin, vector, '0 0 0')
+ ATTRIB(XonoticDemoList, itemAbsSize, vector, '0 0 0')
+
+ ATTRIB(XonoticDemoList, lastClickedDemo, float, -1)
+ ATTRIB(XonoticDemoList, lastClickedTime, float, 0)
+ ATTRIB(XonoticDemoList, filterString, string, string_null)
ENDCLASS(XonoticDemoList)
entity makeXonoticDemoList();
entity makeXonoticDemoList()
{
- entity me;
- me = spawnXonoticDemoList();
- me.configureXonoticDemoList(me);
- return me;
+ entity me;
+ me = spawnXonoticDemoList();
+ me.configureXonoticDemoList(me);
+ return me;
}
void XonoticDemoList_configureXonoticDemoList(entity me)
{
- me.configureXonoticListBox(me);
- me.getDemos(me);
+ me.configureXonoticListBox(me);
+ me.getDemos(me);
}
string XonoticDemoList_demoName(entity me, float i )
{
- string s;
- s = search_getfilename(me.listDemo, i);
- s = substring(s, 6, strlen(s) - 6 - 4); // demos/, .dem
- return s;
+ string s;
+ s = search_getfilename(me.listDemo, i);
+ s = substring(s, 6, strlen(s) - 6 - 4); // demos/, .dem
+ return s;
}
void XonoticDemoList_getDemos(entity me)
{
- string s;
-
- if(me.filterString)
- //subdirectory in filterString allowed
- s=strcat("demos/*", me.filterString, "*.dem");
- else
- s="demos/*.dem";
+ string s;
+
+ if(me.filterString)
+ //subdirectory in filterString allowed
+ s=strcat("demos/*", me.filterString, "*.dem");
+ else
+ s="demos/*.dem";
- //dprint("Search demos with the pattern ", s, "\n");
+ //dprint("Search demos with the pattern ", s, "\n");
if(me.listDemo >= 0)
search_end(me.listDemo);
- me.listDemo = search_begin(s, FALSE, TRUE);
- if(me.listDemo < 0)
- me.nItems=0;
- else
- me.nItems=search_getsize(me.listDemo);
+
+ me.listDemo = search_begin(s, FALSE, TRUE);
+
+ if(me.listDemo < 0)
+ me.nItems=0;
+ else
+ me.nItems=search_getsize(me.listDemo);
}
void XonoticDemoList_destroy(entity me)
{
- search_end(me.listDemo);
+ search_end(me.listDemo);
}
void XonoticDemoList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
{
- me.itemAbsSize = '0 0 0';
- SUPER(XonoticDemoList).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
+ me.itemAbsSize = '0 0 0';
+ SUPER(XonoticDemoList).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
- me.realFontSize_y = me.fontSize / (me.itemAbsSize_y = (absSize_y * me.itemHeight));
- me.realFontSize_x = me.fontSize / (me.itemAbsSize_x = (absSize_x * (1 - me.controlWidth)));
- me.realUpperMargin = 0.5 * (1 - me.realFontSize_y);
+ me.realFontSize_y = me.fontSize / (me.itemAbsSize_y = (absSize_y * me.itemHeight));
+ me.realFontSize_x = me.fontSize / (me.itemAbsSize_x = (absSize_x * (1 - me.controlWidth)));
+ me.realUpperMargin = 0.5 * (1 - me.realFontSize_y);
- me.columnNameOrigin = me.realFontSize_x;
- me.columnNameSize = 1 - 2 * me.realFontSize_x;
+ me.columnNameOrigin = me.realFontSize_x;
+ me.columnNameSize = 1 - 2 * me.realFontSize_x;
}
void XonoticDemoList_drawListBoxItem(entity me, float i, vector absSize, float isSelected)
{
- string s;
- if(isSelected)
- draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
+ string s;
+ if(isSelected)
+ draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
- s = me.demoName(me,i);
- s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
- draw_Text(me.realUpperMargin * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+ s = me.demoName(me,i);
+ s = draw_TextShortenToWidth(s, me.columnNameSize, 0, me.realFontSize);
+ draw_Text(me.realUpperMargin * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
}
void XonoticDemoList_showNotify(entity me)
{
- me.getDemos(me);
+ me.getDemos(me);
}
void DemoList_Filter_Change(entity box, entity me)
{
- if(me.filterString)
- strunzone(me.filterString);
-
- if(box.text != "")
- me.filterString = strzone(box.text);
- else
- me.filterString = string_null;
+ if(me.filterString)
+ strunzone(me.filterString);
+
+ if(box.text != "")
+ me.filterString = strzone(box.text);
+ else
+ me.filterString = string_null;
- me.getDemos(me);
+ me.getDemos(me);
}
void XonoticDemoList_startDemo(entity me)
{
- string s;
- s = me.demoName(me,me.selectedItem);
- localcmd("playdemo demos/", s, ".dem\nwait\ntogglemenu\n");
+ string s;
+ s = me.demoName(me,me.selectedItem);
+ localcmd("playdemo \"demos/", s, ".dem\" \nwait \ntogglemenu\n");
}
void StartDemo_Click(entity btn, entity me)
{
- me.startDemo(me);
+ me.startDemo(me);
}
void TimeDemo_Click(entity btn, entity me)
{
- string s;
- s = me.demoName(me,me.selectedItem);
- localcmd("timedemo demos/", s, ".dem\nwait\ntogglemenu\n");
+ string s;
+ s = me.demoName(me,me.selectedItem);
+ localcmd("timedemo \"demos/", s, ".dem\" \nwait \ntogglemenu\n");
}
void XonoticDemoList_clickListBoxItem(entity me, float i, vector where)
{
- if(i == me.lastClickedDemo)
- if(time < me.lastClickedTime + 0.3)
- {
- // DOUBLE CLICK!
- me.setSelected(me, i);
- me.startDemo(me);
- }
- me.lastClickedDemo = i;
- me.lastClickedTime = time;
+ if(i == me.lastClickedDemo)
+ if(time < me.lastClickedTime + 0.3)
+ {
+ // DOUBLE CLICK!
+ me.setSelected(me, i);
+ me.startDemo(me);
+ }
+ me.lastClickedDemo = i;
+ me.lastClickedTime = time;
}
float XonoticDemoList_keyDown(entity me, float scan, float ascii, float shift)
{
- if(scan == K_ENTER || scan == K_KP_ENTER) {
- me.startDemo(me);
- return 1;
- }
- else
- return SUPER(XonoticDemoList).keyDown(me, scan, ascii, shift);
+ if(scan == K_ENTER || scan == K_KP_ENTER) {
+ me.startDemo(me);
+ return 1;
+ }
+ else
+ return SUPER(XonoticDemoList).keyDown(me, scan, ascii, shift);
}
#endif
METHOD(XonoticFirstRunDialog, fill, void(entity)) // to be overridden by user to fill the dialog with controls
ATTRIB(XonoticFirstRunDialog, title, string, _("Welcome"))
ATTRIB(XonoticFirstRunDialog, color, vector, SKINCOLOR_DIALOG_FIRSTRUN)
- ATTRIB(XonoticFirstRunDialog, intendedWidth, float, 0.6)
- ATTRIB(XonoticFirstRunDialog, rows, float, 15)
- ATTRIB(XonoticFirstRunDialog, columns, float, 3)
+ ATTRIB(XonoticFirstRunDialog, intendedWidth, float, 0.7)
+ ATTRIB(XonoticFirstRunDialog, rows, float, 16)
+ ATTRIB(XonoticFirstRunDialog, columns, float, 6)
ATTRIB(XonoticFirstRunDialog, name, string, "FirstRun")
ATTRIB(XonoticFirstRunDialog, playerNameLabel, entity, NULL)
ATTRIB(XonoticFirstRunDialog, playerNameLabelAlpha, float, 0)
{
if(cvar_string("_cl_name") != "Player")
return 1;
+
if(cvar_string("prvm_language") != prvm_language)
return 1; // OK will then reopen the dialog in another language
+
+ if(cvar_string("cl_allow_uid2name") != "-1")
+ return 1;
+
return 0;
}
entity label, box;
me.TR(me);
- me.TD(me, 2, 3, e = makeXonoticTextLabel(0, _("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.")));
+ me.TR(me);
+ me.TDempty(me, 1);
+ me.TD(me, 2, 4, e = makeXonoticTextLabel(0, _("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.")));
e.allowWrap = 1;
me.TR(me);
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Text language:")));
- me.TR(me);
- me.TD(me, 3, 3, e = makeXonoticLanguageList());
- e.name = "languageselector_firstrun";
- e.doubleClickCommand = "saveconfig; menu_restart; togglemenu";
- me.TR(me);
- me.TR(me);
-
me.TR(me);
me.TD(me, 1, 0.5, me.playerNameLabel = makeXonoticTextLabel(0, _("Name:")));
me.playerNameLabelAlpha = me.playerNameLabel.alpha;
- me.TD(me, 1, 2.5, label = makeXonoticTextLabel(0, string_null));
+ me.TD(me, 1, 3.25, label = makeXonoticTextLabel(0, string_null));
label.allowCut = 1;
label.allowColors = 1;
label.alpha = 1;
me.TR(me);
- me.TD(me, 1, 3.0, box = makeXonoticInputBox(1, "_cl_name"));
+ me.TD(me, 1, 3.75, box = makeXonoticInputBox(1, "_cl_name"));
box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved
box.maxLength = -127; // negative means encoded length in bytes
box.saveImmediately = 1;
label.textEntity = box;
me.TR(me);
- me.TD(me, 5, 1, e = makeXonoticColorpicker(box));
- me.TD(me, 5, 2, e = makeXonoticCharmap(box));
+ me.TD(me, 5, 1.25, e = makeXonoticColorpicker(box));
+ me.TD(me, 5, 2.5, e = makeXonoticCharmap(box));
me.TR(me);
me.TR(me);
me.TR(me);
me.TR(me);
+
+ me.gotoRC(me, 3, 4); me.setFirstColumn(me, me.currentColumn);
+ me.TR(me);
+ me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Text language:")));
+ me.TR(me);
+ me.TD(me, 6, 2, e = makeXonoticLanguageList());
+ e.name = "languageselector_firstrun";
+ e.doubleClickCommand = "saveconfig; menu_restart; togglemenu";
+ me.TR(me);
+ me.TR(me);
+
+ me.gotoRC(me, me.rows - 4, 0);
+ me.TD(me, 1, me.columns, e = makeXonoticTextLabel(0.5, _("Allow player statistics to use your nickname at stats.xonotic.org?")));
+
+ me.gotoRC(me, me.rows - 3, 0);
+ me.TDempty(me, 1.5);
+ me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "cl_allow_uid2name", "1", ZCTX(_("ALWU2N^Yes"))));
+ me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "cl_allow_uid2name", "0", ZCTX(_("ALWU2N^No"))));
+ me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "cl_allow_uid2name", "-1", ZCTX(_("ALWU2N^Undecided"))));
// because of the language selector, this is a menu_restart!
me.gotoRC(me, me.rows - 1, 0);
- me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Save settings"), '0 0 0', "saveconfig; menu_restart; togglemenu", COMMANDBUTTON_APPLY));
+ me.TD(me, 1, me.columns, e = makeXonoticCommandButton(_("Save settings"), '0 0 0', "saveconfig; menu_restart; togglemenu", COMMANDBUTTON_APPLY));
setDependentWeird(e, CheckFirstRunButton);
}
#endif
ATTRIB(XonoticMultiplayerDialog, color, vector, SKINCOLOR_DIALOG_MULTIPLAYER)
ATTRIB(XonoticMultiplayerDialog, intendedWidth, float, 0.96)
ATTRIB(XonoticMultiplayerDialog, rows, float, 24)
- ATTRIB(XonoticMultiplayerDialog, columns, float, 6)
+ ATTRIB(XonoticMultiplayerDialog, columns, float, 4)
ENDCLASS(XonoticMultiplayerDialog)
#endif
entity mc, e;
mc = makeXonoticTabController(me.rows - 2);
me.TR(me);
- me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Servers"), makeXonoticServerListTab()));
- me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Create"), makeXonoticServerCreateTab()));
- me.TD(me, 1, 1, mc.makeTabButton(mc, _("Demos"), makeXonoticDemoBrowserTab()));
- me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Player Setup"), makeXonoticPlayerSettingsTab()));
+ me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Servers"), makeXonoticServerListTab()));
+ me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Create"), makeXonoticServerCreateTab()));
+ me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Demos"), makeXonoticDemoBrowserTab()));
+ me.TD(me, 1, 1, e = mc.makeTabButton(mc, _("Player Setup"), makeXonoticPlayerSettingsTab()));
me.TR(me);
me.TR(me);
ATTRIB(XonoticServerCreateTab, title, string, _("Create"))
ATTRIB(XonoticServerCreateTab, intendedWidth, float, 0.9)
ATTRIB(XonoticServerCreateTab, rows, float, 22)
- ATTRIB(XonoticServerCreateTab, columns, float, 6.5)
+ ATTRIB(XonoticServerCreateTab, columns, float, 6.2) // added extra .2 for center space
ATTRIB(XonoticServerCreateTab, mapListBox, entity, NULL)
ATTRIB(XonoticServerCreateTab, sliderFraglimit, entity, NULL)
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Game type:")));
me.TR(me);
- me.TD(me, 9, 3, e = makeXonoticGametypeList());
+ me.TD(me, 8, 3, e = makeXonoticGametypeList());
me.TR(me);
me.TR(me);
me.TR(me);
me.TR(me);
me.TR(me);
me.TR(me);
+ //me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Match settings:"))); // pointless, overcrowds the dialog imo
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Match settings:")));
- me.TR(me);
- me.sliderTimelimit = makeXonoticSlider(1.0, 60.0, 0.5, "timelimit_override");
+ me.sliderTimelimit = makeXonoticSlider(1.0, 60.0, 1, "timelimit_override");
me.TD(me, 1, 1, e = makeXonoticSliderCheckBox(0, 1, me.sliderTimelimit, _("Time limit:")));
me.TD(me, 1, 2, me.sliderTimelimit);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Number of bots:")));
me.TD(me, 1, 2, makeXonoticSlider(0, 9, 1, "bot_number"));
me.TR(me);
- me.TDempty(me, 0.2);
- me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Bot skill:")));
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Bot skill:")));
setDependent(e, "bot_number", 0, -1);
me.TD(me, 1, 2, e = makeXonoticTextSlider("skill"));
e.addValue(e, _("Botlike"), "0");
e.addValue(e, _("Godlike"), "10");
e.configureXonoticTextSliderValues(e);
setDependent(e, "bot_number", 0, -1);
+ me.TR(me);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticButton(_("Mutators..."), '0 0 0'));
e.onClick = DialogOpenButton_Click;
e.onClickEntity = main.advancedDialog;
main.advancedDialog.refilterEntity = me.mapListBox;
- me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
+ me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
me.mapListBox = makeXonoticMapList();
me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Map list:")));
makeCallback(e, me.mapListBox, me.mapListBox.refilterCallback);
strunzone(me.currentMapFeaturesText);
}
me.currentMapBSPName = strzone(MapInfo_Map_bspname);
- me.currentMapTitle = strzone(MapInfo_Map_title);
- me.currentMapAuthor = strzone(MapInfo_Map_author);
+ me.currentMapTitle = strzone(strdecolorize(MapInfo_Map_title));
+ me.currentMapAuthor = strzone(strdecolorize(MapInfo_Map_author));
me.currentMapDescription = strzone(MapInfo_Map_description);
me.currentMapFeaturesText = strzone((MapInfo_Map_supportedFeatures & MAPINFO_FEATURE_WEAPONS) ? _("Full item placement") : _("MinstaGib only"));
me.currentMapPreviewImage = strzone(strcat("/maps/", MapInfo_Map_bspname));
ATTRIB(XonoticDemoBrowserTab, title, string, _("Demo"))
ATTRIB(XonoticDemoBrowserTab, intendedWidth, float, 0.9)
ATTRIB(XonoticDemoBrowserTab, rows, float, 22)
- ATTRIB(XonoticDemoBrowserTab, columns, float, 6.5)
+ ATTRIB(XonoticDemoBrowserTab, columns, float, 4)
ATTRIB(XonoticDemoBrowserTab, name, string, "DemoBroswer")
ENDCLASS(XonoticDemoBrowserTab)
entity makeXonoticDemoBrowserTab();
entity dlist;
me.TR(me);
- me.TD(me, 1, me.columns, e = makeXonoticCheckBox(0, "cl_autodemo", _("Record demos while playing")));
+ me.TD(me, 1, 4, e = makeXonoticCheckBox(0, "cl_autodemo", _("Automatically record demos while playing")));
me.TR(me);
- dlist = makeXonoticDemoList();
me.TR(me);
me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, _("Filter:")));
me.TD(me, 1, 0.5, btn = makeXonoticButton(_("Clear"), '0 0 0'));
- btn.onClick = InputBox_Clear_Click;
- me.TD(me, 1, me.columns - 1, e = makeXonoticInputBox(0, string_null));
+ btn.onClick = InputBox_Clear_Click;
+ me.TD(me, 1, 3, e = makeXonoticInputBox(0, string_null));
+ dlist = makeXonoticDemoList();
e.onChange = DemoList_Filter_Change;
e.onChangeEntity = dlist;
btn.onClickEntity = e;
dlist.controlledTextbox = e;
+
me.TR(me);
me.TD(me, me.rows - 4, me.columns, dlist);
+
me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns / 2, e = makeXonoticButton(_("Timedemo"), '0 0 0'));
e.onClick = TimeDemo_Click;
ATTRIB(XonoticServerInfoDialog, title, string, _("Server Information"))
ATTRIB(XonoticServerInfoDialog, color, vector, SKINCOLOR_DIALOG_SERVERINFO)
ATTRIB(XonoticServerInfoDialog, intendedWidth, float, 0.8)
- ATTRIB(XonoticServerInfoDialog, rows, float, 15)
- ATTRIB(XonoticServerInfoDialog, columns, float, 12)
+ ATTRIB(XonoticServerInfoDialog, rows, float, 18)
+ ATTRIB(XonoticServerInfoDialog, columns, float, 6.2)
ATTRIB(XonoticServerInfoDialog, currentServerName, string, string_null)
ATTRIB(XonoticServerInfoDialog, currentServerCName, string, string_null)
ATTRIB(XonoticServerInfoDialog, currentServerPlayers, string, string_null)
ATTRIB(XonoticServerInfoDialog, currentServerNumPlayers, string, string_null)
ATTRIB(XonoticServerInfoDialog, currentServerNumBots, string, string_null)
+ ATTRIB(XonoticServerInfoDialog, currentServerNumFreeSlots, string, string_null)
ATTRIB(XonoticServerInfoDialog, currentServerMod, string, string_null)
ATTRIB(XonoticServerInfoDialog, currentServerVersion, string, string_null)
- ATTRIB(XonoticServerInfoDialog, currentServerPing, string, string_null)
ATTRIB(XonoticServerInfoDialog, currentServerKey, string, string_null)
ATTRIB(XonoticServerInfoDialog, currentServerID, string, string_null)
ATTRIB(XonoticServerInfoDialog, currentServerEncrypt, string, string_null)
ATTRIB(XonoticServerInfoDialog, rawPlayerList, entity, NULL)
ATTRIB(XonoticServerInfoDialog, numPlayersLabel, entity, NULL)
ATTRIB(XonoticServerInfoDialog, numBotsLabel, entity, NULL)
+ ATTRIB(XonoticServerInfoDialog, numFreeSlotsLabel, entity, NULL)
ATTRIB(XonoticServerInfoDialog, modLabel, entity, NULL)
ATTRIB(XonoticServerInfoDialog, versionLabel, entity, NULL)
- ATTRIB(XonoticServerInfoDialog, pingLabel, entity, NULL)
ATTRIB(XonoticServerInfoDialog, keyLabel, entity, NULL)
ATTRIB(XonoticServerInfoDialog, idLabel, entity, NULL)
ATTRIB(XonoticServerInfoDialog, encryptLabel, entity, NULL)
float SLIST_FIELD_MAXPLAYERS;
float SLIST_FIELD_NUMBOTS;
float SLIST_FIELD_MOD;
-float SLIST_FIELD_PING;
void Join_Click(entity btn, entity me);
#endif
float m, pure, freeslots, j, numh, maxp, numb, sflags;
string s, typestr, versionstr, k, v;
+ // ====================================
+ // First clear and unzone the strings
+ // ====================================
if(me.currentServerName)
strunzone(me.currentServerName);
me.currentServerName = string_null;
+
if(me.currentServerCName)
strunzone(me.currentServerCName);
me.currentServerCName = string_null;
+
if(me.currentServerType)
strunzone(me.currentServerType);
me.currentServerType = string_null;
+
if(me.currentServerMap)
strunzone(me.currentServerMap);
me.currentServerMap = string_null;
+
if(me.currentServerPlayers)
strunzone(me.currentServerPlayers);
me.currentServerPlayers = string_null;
+
if(me.currentServerNumPlayers)
strunzone(me.currentServerNumPlayers);
me.currentServerNumPlayers = string_null;
+
if(me.currentServerNumBots)
strunzone(me.currentServerNumBots);
me.currentServerNumBots = string_null;
+
+ if(me.currentServerNumFreeSlots)
+ strunzone(me.currentServerNumFreeSlots);
+ me.currentServerNumFreeSlots = string_null;
+
if(me.currentServerMod)
strunzone(me.currentServerMod);
me.currentServerMod = string_null;
+
if(me.currentServerVersion)
strunzone(me.currentServerVersion);
me.currentServerVersion = string_null;
- if(me.currentServerPing)
- strunzone(me.currentServerPing);
- me.currentServerPing = string_null;
- if(me.currentServerKey)
- strunzone(me.currentServerKey);
- me.currentServerKey = string_null;
- if(me.currentServerID)
- strunzone(me.currentServerID);
- me.currentServerID = string_null;
+
// not zoned!
//if(me.currentServerEncrypt)
// strunzone(me.currentServerEncrypt);
if(me.currentServerPure)
strunzone(me.currentServerPure);
me.currentServerPure = string_null;
+
+ if(me.currentServerKey)
+ strunzone(me.currentServerKey);
+ me.currentServerKey = string_null;
+
+ if(me.currentServerID)
+ strunzone(me.currentServerID);
+ me.currentServerID = string_null;
+ // ==========================
+ // Now, fill in the strings
+ // ==========================
SLIST_FIELD_NAME = gethostcacheindexforkey("name");
me.currentServerName = strzone(gethostcachestring(SLIST_FIELD_NAME, i));
me.nameLabel.setText(me.nameLabel, me.currentServerName);
sflags = stof(v);
}
+ j = MapInfo_Type_FromString(typestr); // try and get the real name of the game type
+ if(j) { typestr = MapInfo_Type_ToText(j); } // only set it if we actually found it
+
me.currentServerType = strzone(typestr);
me.typeLabel.setText(me.typeLabel, me.currentServerType);
maxp = gethostcachenumber(SLIST_FIELD_MAXPLAYERS, i);
SLIST_FIELD_NUMBOTS = gethostcacheindexforkey("numbots");
numb = gethostcachenumber(SLIST_FIELD_NUMBOTS, i);
- if(freeslots < 0)
- freeslots = maxp - numh - numb;
- me.currentServerNumPlayers = strzone(sprintf(_("%d/%d, %d free player slots"), numh, maxp, freeslots));
+ me.currentServerNumPlayers = strzone(sprintf(_("%d/%d"), numh, maxp));
me.numPlayersLabel.setText(me.numPlayersLabel, me.currentServerNumPlayers);
s = ftos(numb);
me.currentServerNumBots = strzone(s);
me.numBotsLabel.setText(me.numBotsLabel, me.currentServerNumBots);
+
+ if(freeslots < 0) { freeslots = maxp - numh - numb; }
+ s = ftos(freeslots);
+ me.currentServerNumFreeSlots = strzone(s);
+ me.numFreeSlotsLabel.setText(me.numFreeSlotsLabel, me.currentServerNumFreeSlots);
SLIST_FIELD_MOD = gethostcacheindexforkey("mod");
- me.currentServerMod = strzone(gethostcachestring(SLIST_FIELD_MOD, i));
+ s = gethostcachestring(SLIST_FIELD_MOD, i);
+ s = ((s == "data") ? _("Default") : s);
+ me.currentServerMod = strzone(s);
me.modLabel.setText(me.modLabel, me.currentServerMod);
me.currentServerVersion = strzone(versionstr);
me.versionLabel.setText(me.versionLabel, me.currentServerVersion);
- me.currentServerPure = ((pure < 0) ? "N/A" : (pure == 0) ? _("Official settings") : sprintf(_("%d modified settings"), pure));
+ me.currentServerPure = ((pure < 0) ? "N/A" : (pure == 0) ? _("Official") : sprintf(_("%d modified"), pure));
me.currentServerPure = strzone(me.currentServerPure);
me.pureLabel.setText(me.pureLabel, me.currentServerPure);
- SLIST_FIELD_PING = gethostcacheindexforkey("ping");
- s = ftos(gethostcachenumber(SLIST_FIELD_PING, i));
- me.currentServerPing = strzone(s);
- me.pingLabel.setText(me.pingLabel, me.currentServerPing);
-
- s = crypto_getidfp(me.currentServerCName);
- if not(s)
- s = _("N/A");
- me.currentServerID = strzone(s);
- me.idLabel.setText(me.idLabel, me.currentServerID);
-
- s = crypto_getkeyfp(me.currentServerCName);
- if not(s)
- s = _("N/A");
- me.currentServerKey = strzone(s);
- me.keyLabel.setText(me.keyLabel, me.currentServerKey);
-
s = crypto_getencryptlevel(me.currentServerCName);
if(s == "")
{
if(cvar("crypto_aeslevel") >= 3)
- me.currentServerEncrypt = _("N/A (can't connect)");
+ me.currentServerEncrypt = _("N/A (auth library missing, can't connect)");
else
- me.currentServerEncrypt = _("N/A");
+ me.currentServerEncrypt = _("N/A (auth library missing)");
}
else switch(stof(substring(s, 0, 1)))
{
case 0:
if(cvar("crypto_aeslevel") >= 3)
- me.currentServerEncrypt = _("not supported (can't connect)");
+ me.currentServerEncrypt = _("Not supported (can't connect)");
else
- me.currentServerEncrypt = _("not supported (won't encrypt)");
+ me.currentServerEncrypt = _("Not supported (won't encrypt)");
break;
case 1:
if(cvar("crypto_aeslevel") >= 2)
- me.currentServerEncrypt = _("supported (will encrypt)");
+ me.currentServerEncrypt = _("Supported (will encrypt)");
else
- me.currentServerEncrypt = _("supported (won't encrypt)");
+ me.currentServerEncrypt = _("Supported (won't encrypt)");
break;
case 2:
if(cvar("crypto_aeslevel") >= 1)
- me.currentServerEncrypt = _("requested (will encrypt)");
+ me.currentServerEncrypt = _("Requested (will encrypt)");
else
- me.currentServerEncrypt = _("requested (won't encrypt)");
+ me.currentServerEncrypt = _("Requested (won't encrypt)");
break;
case 3:
if(cvar("crypto_aeslevel") <= 0)
- me.currentServerEncrypt = _("required (can't connect)");
+ me.currentServerEncrypt = _("Required (can't connect)");
else
- me.currentServerEncrypt = _("required (will encrypt)");
+ me.currentServerEncrypt = _("Required (will encrypt)");
break;
}
me.encryptLabel.setText(me.encryptLabel, me.currentServerEncrypt);
+
+ s = crypto_getidfp(me.currentServerCName);
+ if not(s) { s = _("N/A"); }
+ me.currentServerID = strzone(s);
+ me.idLabel.setText(me.idLabel, me.currentServerID);
+
+ s = crypto_getkeyfp(me.currentServerCName);
+ if not(s) { s = _("N/A"); }
+ me.currentServerKey = strzone(s);
+ me.keyLabel.setText(me.keyLabel, me.currentServerKey);
}
void XonoticServerInfoDialog_fill(entity me)
{
entity e;
me.TR(me);
- me.TD(me, 1, me.columns, e = makeXonoticTextLabel(0.5, ""));
- e.colorL = SKINCOLOR_SERVERINFO_NAME;
- e.allowCut = 1;
- me.nameLabel = e;
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Hostname:")));
+ me.TD(me, 1, 4.6, e = makeXonoticTextLabel(0.5, ""));
+ e.colorL = SKINCOLOR_SERVERINFO_NAME;
+ e.allowCut = 1;
+ me.nameLabel = e;
me.TR(me);
- me.TD(me, 1, me.columns, e = makeXonoticTextLabel(0.5, ""));
- e.colorL = SKINCOLOR_SERVERINFO_IP;
- e.allowCut = 1;
- me.cnameLabel = e;
-
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Address:")));
+ me.TD(me, 1, 4.6, e = makeXonoticTextLabel(0.5, ""));
+ e.colorL = SKINCOLOR_SERVERINFO_IP;
+ e.allowCut = 1;
+ me.cnameLabel = e;
+
me.TR(me);
- me.TD(me, 1, 5.5, e = makeXonoticTextLabel(0, _("Players:")));
me.TR(me);
- me.TD(me, me.rows - 4, 6, e = makeXonoticPlayerList());
- me.rawPlayerList = e;
-
- me.gotoRC(me, 1, 6.25); me.setFirstColumn(me, me.currentColumn);
-
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Gametype:")));
+ me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, ""));
+ e.allowCut = 1;
+ me.typeLabel = e;
me.TR(me);
- me.TD(me, 1, 1.75, e = makeXonoticTextLabel(0, _("Type:")));
- me.TD(me, 1, 4.0, e = makeXonoticTextLabel(0, ""));
- e.allowCut = 1;
- me.typeLabel = e;
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Map:")));
+ me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, ""));
+ e.allowCut = 1;
+ me.mapLabel = e;
me.TR(me);
- me.TD(me, 1, 1.75, e = makeXonoticTextLabel(0, _("Map:")));
- me.TD(me, 1, 4.0, e = makeXonoticTextLabel(0, ""));
- e.allowCut = 1;
- me.mapLabel = e;
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Mod:")));
+ me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, ""));
+ e.allowCut = 1;
+ me.modLabel = e;
me.TR(me);
- me.TD(me, 1, 1.75, e = makeXonoticTextLabel(0, _("Gameplay:")));
- me.TD(me, 1, 4.0, e = makeXonoticTextLabel(0, ""));
- e.allowCut = 1;
- me.pureLabel = e;
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Version:")));
+ me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, ""));
+ e.allowCut = 1;
+ me.versionLabel = e;
me.TR(me);
- me.TD(me, 1, 1.75, e = makeXonoticTextLabel(0, _("Players:")));
- me.TD(me, 1, 4.0, e = makeXonoticTextLabel(0, ""));
- e.allowCut = 1;
- me.numPlayersLabel = e;
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Settings:")));
+ me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, ""));
+ e.allowCut = 1;
+ me.pureLabel = e;
+
me.TR(me);
- me.TD(me, 1, 1.75, e = makeXonoticTextLabel(0, _("Bots:")));
- me.TD(me, 1, 4.0, e = makeXonoticTextLabel(0, ""));
- e.allowCut = 1;
- me.numBotsLabel = e;
me.TR(me);
- me.TD(me, 1, 1.75, e = makeXonoticTextLabel(0, _("Mod:")));
- me.TD(me, 1, 4.0, e = makeXonoticTextLabel(0, ""));
- e.allowCut = 1;
- me.modLabel = e;
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Players:")));
+ me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, ""));
+ e.allowCut = 1;
+ me.numPlayersLabel = e;
me.TR(me);
- me.TD(me, 1, 1.75, e = makeXonoticTextLabel(0, _("Version:")));
- me.TD(me, 1, 4.0, e = makeXonoticTextLabel(0, ""));
- e.allowCut = 1;
- me.versionLabel = e;
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Bots:")));
+ me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, ""));
+ e.allowCut = 1;
+ me.numBotsLabel = e;
me.TR(me);
- me.TD(me, 1, 1.75, e = makeXonoticTextLabel(0, _("Ping:")));
- me.TD(me, 1, 4.0, e = makeXonoticTextLabel(0, ""));
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Free slots:")));
+ me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, ""));
+ e.allowCut = 1;
+ me.numFreeSlotsLabel = e;
+
+ me.gotoRC(me, me.rows - 5, 0);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Encryption:")));
+ me.TD(me, 1, 5.4, e = makeXonoticTextLabel(0, ""));
e.allowCut = 1;
- me.pingLabel = e;
-
+ me.encryptLabel = e;
me.TR(me);
- me.TD(me, 1, 1.75, e = makeXonoticTextLabel(0, _("CA:")));
- me.TD(me, 1, 4.0, e = makeXonoticTextLabel(0, ""));
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("ID:")));
+ me.TD(me, 1, 5.4, e = makeXonoticTextLabel(0, ""));
e.allowCut = 1;
me.keyLabel = e;
-
me.TR(me);
- me.TD(me, 1, 1.75, e = makeXonoticTextLabel(0, _("Key:")));
- me.TD(me, 1, 4.0, e = makeXonoticTextLabel(0, ""));
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Key:")));
+ me.TD(me, 1, 5.4, e = makeXonoticTextLabel(0, ""));
e.allowCut = 1;
me.idLabel = e;
+ me.gotoRC(me, 2, 2.2); me.setFirstColumn(me, me.currentColumn);
+ me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Players:")));
me.TR(me);
- me.TD(me, 1, 1.75, e = makeXonoticTextLabel(0, _("Encryption:")));
- me.TD(me, 1, 4.0, e = makeXonoticTextLabel(0, ""));
- e.allowCut = 1;
- me.encryptLabel = e;
+ me.TD(me, me.rows - 8, 4, e = makeXonoticPlayerList());
+ me.rawPlayerList = e;
me.gotoRC(me, me.rows - 1, 0);
-
- me.TD(me, 1, me.columns - 6, e = makeXonoticButton(_("Close"), '0 0 0'));
+ me.TD(me, 1, me.columns/2, e = makeXonoticButton(_("Close"), '0 0 0'));
e.onClick = Dialog_Close;
e.onClickEntity = me;
- me.TD(me, 1, me.columns - 6, e = makeXonoticButton(_("Join!"), '0 0 0'));
+ //me.TD(me, 1, me.columns/3, e = makeXonoticButton("", '0 0 0')); // TODO: Add bookmark button here
+ // e.onClick = ServerList_Favorite_Click;
+ // e.onClickEntity = slist;
+ // slist.favoriteButton = e;
+ me.TD(me, 1, me.columns/2, e = makeXonoticButton(_("Join!"), '0 0 0'));
e.onClick = Join_Click;
e.onClickEntity = me;
}
ATTRIB(XonoticPlayerSettingsTab, title, string, _("Player Setup"))
ATTRIB(XonoticPlayerSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticPlayerSettingsTab, rows, float, 22)
- ATTRIB(XonoticPlayerSettingsTab, columns, float, 6.5)
+ ATTRIB(XonoticPlayerSettingsTab, columns, float, 6.2) // added extra .2 for center space
ATTRIB(XonoticPlayerSettingsTab, playerNameLabel, entity, NULL)
ATTRIB(XonoticPlayerSettingsTab, playerNameLabelAlpha, float, 0)
ENDCLASS(XonoticPlayerSettingsTab)
entity makeXonoticPlayerSettingsTab();
-
-void HUDSetup_Join_Click(entity me, entity btn);
#endif
#ifdef IMPLEMENTATION
-
entity makeXonoticPlayerSettingsTab()
{
entity me;
me.TD(me, 1, 0.3, e = makeXonoticButton("<<", '0 0 0'));
e.onClick = PlayerModelSelector_Prev_Click;
e.onClickEntity = pms;
- me.TD(me, me.rows - (me.currentRow + 3), 1.8, pms);
+ me.TD(me, me.rows - (me.currentRow + 2), 1.8, pms);
me.TD(me, 1, 0.3, e = makeXonoticButton(">>", '0 0 0'));
e.onClick = PlayerModelSelector_Next_Click;
e.onClickEntity = pms;
me.TR(me);
r = me.currentRow;
- m = me.rows - (r + 4);
+ m = me.rows - (r + 3);
n = 16 - !cvar("developer");
m = m / (n - 1);
for(i = 0; i < n; ++i)
me.gotoRC(me, r + i * m, 0.4);
me.TDNoMargin(me, m, 0.2, e = makeXonoticColorButton(2, 1, i), '0 1 0');
}
- me.gotoRC(me, me.rows - 3, 0);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_forceplayermodels", _("Force player models to mine")));
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_forceplayercolors", _("Force player colors to mine")));
- me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Field of view:")));
- me.TD(me, 1, 2, e = makeXonoticSlider(60, 130, 1, "fov"));
- me.TR(me);
- sl = makeXonoticSlider(0.45, 0.75, 0.01, "cl_bobcycle");
- me.TD(me, 1, 1, e = makeXonoticSliderCheckBox(0, 1, sl, _("View bobbing:")));
- makeMulti(sl, "cl_bob2cycle");
- me.TD(me, 1, 2, sl);
- me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Zoom factor:")));
- me.TD(me, 1, 2, e = makeXonoticSlider(2, 16, 0.5, "cl_zoomfactor"));
- me.TR(me);
- sl = makeXonoticSlider(1, 8, 0.5, "cl_zoomspeed");
- me.TD(me, 1, 1, e = makeXonoticSliderCheckBox(-1, 1, sl, _("Zoom speed:")));
- me.TD(me, 1, 2, sl);
+
+ // crosshair_enabled: 0 = no crosshair options, 1 = no crosshair selection, but everything else enabled, 2 = all crosshair options enabled
+ // FIXME: In the future, perhaps make one global crosshair_type cvar which has 0 for disabled, 1 for custom, 2 for per weapon, etc?
+ me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
+ me.TD(me, 1, 3, e = makeXonoticRadioButton(3, "crosshair_enabled", "0", _("No crosshair")));
me.TR(me);
- me.TD(me, 1, 1.5, e = makeXonoticButton(_("Weapon settings..."), '0 0 0'));
- e.onClick = DialogOpenButton_Click;
- e.onClickEntity = main.weaponsDialog;
- me.TD(me, 1, 1.5, e0 = makeXonoticTextLabel(0, string_null));
- e0.textEntity = main.weaponsDialog;
- e0.allowCut = 1;
+ me.TD(me, 1, 3, e = makeXonoticRadioButton(3, "crosshair_per_weapon", string_null, _("Per weapon crosshair")));
+ makeMulti(e, "crosshair_enabled");
me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Crosshair:")));
- me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "crosshair_per_weapon", _("Per weapon")));
+ me.TD(me, 1, 3, e = makeXonoticRadioButton(3, "crosshair_enabled", "2", _("Custom crosshair")));
me.TR(me);
- me.TDempty(me, 0.2);
+ me.TDempty(me, 0.1);
for(i = 1; i <= 14; ++i) {
- me.TDNoMargin(me, 1, 2 / 14, e = makeXonoticCrosshairButton(3, i), '1 1 0');
- setDependent(e, "crosshair_per_weapon", 0, 0);
+ me.TDNoMargin(me, 1, 2 / 14, e = makeXonoticCrosshairButton(4, i), '1 1 0');
+ setDependentAND(e, "crosshair_per_weapon", 0, 0, "crosshair_enabled", 1, 2);
}
// show a larger preview of the selected crosshair
- me.TDempty(me, 0.2);
- me.TDNoMargin(me, 2, 2 / 5, e = makeXonoticCrosshairButton(7, -1), '1 1 0'); // crosshair -1 makes this a preview
- setDependent(e, "crosshair_per_weapon", 0, 0);
+ me.TDempty(me, 0.1);
+ me.TDNoMargin(me, 3, 0.8, e = makeXonoticCrosshairButton(7, -1), '1 1 0'); // crosshair -1 makes this a preview
+ setDependentAND(e, "crosshair_per_weapon", 0, 0, "crosshair_enabled", 1, 2);
me.TR(me);
- me.TDempty(me, 0.2);
+ me.TDempty(me, 0.1);
for(i = 15; i <= 28; ++i) {
- me.TDNoMargin(me, 1, 2 / 14, e = makeXonoticCrosshairButton(3, i), '1 1 0');
- setDependent(e, "crosshair_per_weapon", 0, 0);
+ me.TDNoMargin(me, 1, 2 / 14, e = makeXonoticCrosshairButton(4, i), '1 1 0');
+ setDependentAND(e, "crosshair_per_weapon", 0, 0, "crosshair_enabled", 1, 2);
}
me.TR(me);
- me.TDempty(me, 0.2);
+ me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Crosshair size:")));
- me.TD(me, 1, 1.8, e = makeXonoticSlider(0.1, 1.0, 0.01, "crosshair_size"));
+ setDependent(e, "crosshair_enabled", 1, 2);
+ me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 1.0, 0.01, "crosshair_size"));
+ setDependent(e, "crosshair_enabled", 1, 2);
me.TR(me);
- me.TDempty(me, 0.2);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Crosshair alpha:")));
- me.TD(me, 1, 1.8, e = makeXonoticSlider(0, 1, 0.1, "crosshair_alpha"));
+ setDependent(e, "crosshair_enabled", 1, 2);
+ me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.1, "crosshair_alpha"));
+ setDependent(e, "crosshair_enabled", 1, 2);
+ me.TR(me);
me.TR(me);
- me.TDempty(me, 0.2);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Crosshair color:")));
- me.TD(me, 1, 0.9, e = makeXonoticRadioButton(4, "crosshair_color_per_weapon", string_null, _("Per weapon")));
- me.TD(me, 1, 0.9, e = makeXonoticRadioButton(4, "crosshair_color_by_health", string_null, _("By health")));
+ setDependent(e, "crosshair_enabled", 1, 2);
+ me.TD(me, 1, 1, e = makeXonoticRadioButton(5, "crosshair_color_per_weapon", string_null, _("Per weapon")));
+ setDependent(e, "crosshair_enabled", 1, 2);
+ me.TD(me, 1, 1, e = makeXonoticRadioButton(5, "crosshair_color_by_health", string_null, _("By health")));
+ setDependent(e, "crosshair_enabled", 1, 2);
me.TR(me);
- me.TDempty(me, 0.3);
- me.TD(me, 1, 0.9, e = makeXonoticRadioButton(4, string_null, string_null, _("Custom")));
- me.TD(me, 2, 1.8, e = makeXonoticColorpickerString("crosshair_color", "crosshair_color"));
- setDependentAND(e, "crosshair_color_per_weapon", 0, 0, "crosshair_color_by_health", 0, 0);
+ me.TDempty(me, 0.1);
+ me.TD(me, 1, 0.9, e = makeXonoticRadioButton(5, string_null, string_null, _("Custom")));
+ setDependent(e, "crosshair_enabled", 1, 2);
+ me.TD(me, 2, 2, e = makeXonoticColorpickerString("crosshair_color", "crosshair_color"));
+ setDependentAND3(e, "crosshair_color_per_weapon", 0, 0, "crosshair_color_by_health", 0, 0, "crosshair_enabled", 1, 2);
me.TR(me);
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "crosshair_dot", _("Enable center dot")));
me.TR(me);
- me.TDempty(me, 0.2);
- me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, _("Size:")));
- me.TD(me, 1, 0.9, e = makeXonoticSlider(0.2, 2, 0.1, "crosshair_dot_size"));
- setDependent(e, "crosshair_dot", 1, 1);
- me.TD(me, 1, 0.5, e = makeXonoticTextLabel(0, _("Alpha:")));
- me.TD(me, 1, 0.9, e = makeXonoticSlider(0.10, 1, 0.1, "crosshair_dot_alpha"));
- setDependent(e, "crosshair_dot", 1, 1);
+ me.TDempty(me, 0.5);
+ me.TD(me, 1, 2, e = makeXonoticButton(_("Other crosshair settings"), '0 0 0'));
+ e.onClick = DialogOpenButton_Click;
+ e.onClickEntity = main.crosshairDialog;
+ setDependent(e, "crosshair_enabled", 1, 2);
+ // TODO: show status of crosshair dot and hittest and pickups and such here with text
+ me.TR(me);
me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Hit test:")));
- me.TD(me, 1, 2/3, e = makeXonoticRadioButton(5, "crosshair_hittest", "0", ZCTX(_("HTST^None"))));
- me.TD(me, 1, 2/3, e = makeXonoticRadioButton(5, "crosshair_hittest", "1", _("TrueAim")));
- me.TD(me, 1, 2/3, e = makeXonoticRadioButton(5, "crosshair_hittest", "1.25", _("Enemies")));
+ me.TDempty(me, 0.5);
+ me.TD(me, 1, 2, e = makeXonoticButton(_("Model settings"), '0 0 0'));
+ e.onClick = DialogOpenButton_Click;
+ e.onClickEntity = main.modelDialog;
+ // TODO: show csqc model settings like forcemyplayer and deglowing/ghosting bodies with text here
+ me.TR(me);
+ me.TDempty(me, 0.5);
+ me.TD(me, 1, 2, e = makeXonoticButton(_("View settings"), '0 0 0'));
+ e.onClick = DialogOpenButton_Click;
+ e.onClickEntity = main.viewDialog;
+ // TODO: show fov and other settings with text here
me.TR(me);
- me.TDempty(me, 0.4);
- me.TD(me, 1, 2.2, e = makeXonoticButton(_("Waypoints setup..."), '0 0 0'));
+ me.TDempty(me, 0.5);
+ me.TD(me, 1, 2, e = makeXonoticButton(_("Weapon settings"), '0 0 0'));
e.onClick = DialogOpenButton_Click;
- e.onClickEntity = main.waypointDialog;
- me.TR(me);
- me.TDempty(me, 0.4);
- me.TD(me, 1, 2.2, e = makeXonoticButton(_("Enter HUD editor"), '0 0 0'));
- e.onClick = HUDSetup_Join_Click;
- e.onClickEntity = me;
- #ifdef ALLOW_FORCEMODELS
- me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Force models:")));
- me.TD(me, 1, 2/3, e = makeXonoticRadioButton(6, string_null, string_null, ZCTX(_("MDL^None"))));
- me.TD(me, 1, 2/3, e = makeXonoticRadioButton(6, "cl_forceplayermodelsfromxonotic", string_null, ZCTX(_("MDL^Custom"))));
- me.TD(me, 1, 2/3, e = makeXonoticRadioButton(6, "cl_forceplayermodels", string_null, ZCTX(_("MDL^All"))));
- #endif
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_gentle", _("Disable gore effects")));
- me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Gibs:")));
- me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_nogibs"));
- e.addValue(e, ZCTX(_("GIBS^None")), "1");
- e.addValue(e, ZCTX(_("GIBS^Few")), "0.75");
- e.addValue(e, ZCTX(_("GIBS^Many")), "0.5");
- e.addValue(e, ZCTX(_("GIBS^Lots")), "0");
- e.configureXonoticTextSliderValues(e);
- setDependent(e, "cl_gentle", 0, 0);
- me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Damage splash:")));
- me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.05, "hud_damage"));
+ e.onClickEntity = main.weaponsDialog;
+ // I don't really think this is useful as is, and especially it doesn't look very clean...
+ // In the future, if ALL of these buttons had some information, then it would be justified/clean
+ //me.TD(me, 1, 1, e0 = makeXonoticTextLabel(0, string_null));
+ // e0.textEntity = main.weaponsDialog;
+ // e0.allowCut = 1;
+ me.TR(me);
+ me.TDempty(me, 0.5);
+ me.TD(me, 1, 2, e = makeXonoticButton(_("HUD settings"), '0 0 0'));
+ e.onClick = DialogOpenButton_Click;
+ e.onClickEntity = main.hudDialog;
+ // TODO: show hud config name with text here
me.gotoRC(me, me.rows - 1, 0);
- me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "color -1 -1;name \"$_cl_name\";cl_cmd sendcvar cl_weaponpriority;sendcvar cl_zoomfactor;sendcvar cl_zoomspeed;sendcvar cl_autoswitch;sendcvar cl_forceplayermodelsfromxonotic;sendcvar cl_forceplayermodels;playermodel $_cl_playermodel;playerskin $_cl_playerskin", COMMANDBUTTON_APPLY));
-}
-void HUDSetup_Join_Click(entity me, entity btn)
-{
- if(! (gamestatus & (GAME_CONNECTED | GAME_ISSERVER)))
- {
- localcmd("map hudsetup/hudsetup", "\n");
- }
- else
- localcmd("togglemenu 0\n");
- localcmd("_hud_configure 1", "\n");
+ me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "color -1 -1;name \"$_cl_name\";sendcvar cl_weaponpriority;sendcvar cl_autoswitch;sendcvar cl_forceplayermodels;sendcvar cl_forceplayermodelsfromxonotic;playermodel $_cl_playermodel;playerskin $_cl_playerskin", COMMANDBUTTON_APPLY));
}
#endif
--- /dev/null
+#ifdef INTERFACE
+CLASS(XonoticCrosshairDialog) EXTENDS(XonoticDialog)
+ METHOD(XonoticCrosshairDialog, toString, string(entity))
+ METHOD(XonoticCrosshairDialog, fill, void(entity))
+ METHOD(XonoticCrosshairDialog, showNotify, void(entity))
+ ATTRIB(XonoticCrosshairDialog, title, string, _("Crosshair settings"))
+ ATTRIB(XonoticCrosshairDialog, color, vector, SKINCOLOR_DIALOG_CROSSHAIR)
+ ATTRIB(XonoticCrosshairDialog, intendedWidth, float, 0.5)
+ ATTRIB(XonoticCrosshairDialog, rows, float, 18)
+ ATTRIB(XonoticCrosshairDialog, columns, float, 3)
+ENDCLASS(XonoticCrosshairDialog)
+#endif
+
+#ifdef IMPLEMENTATION
+void XonoticCrosshairDialog_showNotify(entity me)
+{
+ loadAllCvars(me);
+}
+string XonoticCrosshairDialog_toString(entity me)
+{
+ return "hi"; // TODO: show status of crosshair dot and hittest and pickups and such here with text
+}
+void XonoticCrosshairDialog_fill(entity me)
+{
+ entity e;
+
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "crosshair_dot", _("Enable center crosshair dot")));
+ setDependent(e, "crosshair_enabled", 1, 2);
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Dot size:")));
+ setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+ me.TD(me, 1, 2, e = makeXonoticSlider(0.2, 2, 0.1, "crosshair_dot_size"));
+ setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Dot alpha:")));
+ setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+ me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 1, 0.1, "crosshair_dot_alpha"));
+ setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Dot color:")));
+ setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+ me.TD(me, 1, 2, e = makeXonoticRadioButton(1, "crosshair_dot_color_custom", "0", _("Use normal crosshair color")));
+ setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+ me.TR(me);
+ me.TDempty(me, 0.1);
+ me.TD(me, 1, 0.8, e = makeXonoticRadioButton(1, "crosshair_dot_color_custom", "1", _("Custom")));
+ setDependentAND(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2);
+ me.TD(me, 2, 2, e = makeXonoticColorpickerString("crosshair_dot_color", "crosshair_dot_color"));
+ setDependentAND3(e, "crosshair_dot", 1, 1, "crosshair_enabled", 1, 2, "crosshair_dot_color_custom", 1, 1);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Crosshair animations:")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "crosshair_effect_scalefade", _("Smooth effects of crosshairs")));
+ setDependent(e, "crosshair_enabled", 1, 2);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "crosshair_ring", _("Use rings to indicate weapon status")));
+ makeMulti(e, "crosshair_ring_reload");
+ setDependent(e, "crosshair_enabled", 1, 2);
+ me.TR(me);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Hit testing:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("crosshair_hittest"));
+ e.addValue(e, ZCTX(_("HTTST^Disabled")), "0");
+ e.addValue(e, ZCTX(_("HTTST^TrueAim")), "1");
+ e.addValue(e, ZCTX(_("HTTST^Enemies")), "1.25");
+ e.configureXonoticTextSliderValues(e);
+ setDependent(e, "crosshair_enabled", 1, 2);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "crosshair_hittest_blur", _("Blur crosshair if the shot is obstructed")));
+ setDependentAND(e, "crosshair_hittest", 1, 100, "crosshair_enabled", 1, 2);
+ me.TR(me);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.5, 0, "crosshair_hitindication", _("Animate when hitting an enemy")));
+ setDependent(e, "crosshair_enabled", 1, 2);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.25, 0, "crosshair_pickup", _("Animate when picking up an item")));
+ setDependent(e, "crosshair_enabled", 1, 2);
+
+ me.TR(me);
+
+ me.gotoRC(me, me.rows - 1, 0);
+ me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
+ e.onClick = Dialog_Close;
+ e.onClickEntity = me;
+}
+#endif
--- /dev/null
+#ifdef INTERFACE
+CLASS(XonoticHUDDialog) EXTENDS(XonoticDialog)
+ METHOD(XonoticHUDDialog, toString, string(entity))
+ METHOD(XonoticHUDDialog, fill, void(entity))
+ METHOD(XonoticHUDDialog, showNotify, void(entity))
+ ATTRIB(XonoticHUDDialog, title, string, _("HUD settings"))
+ ATTRIB(XonoticHUDDialog, color, vector, SKINCOLOR_DIALOG_HUD)
+ ATTRIB(XonoticHUDDialog, intendedWidth, float, 0.5)
+ ATTRIB(XonoticHUDDialog, rows, float, 18)
+ ATTRIB(XonoticHUDDialog, columns, float, 3)
+ENDCLASS(XonoticHUDDialog)
+void HUDSetup_Start(entity me, entity btn);
+#endif
+
+#ifdef IMPLEMENTATION
+void HUDSetup_Check_Gamestatus(entity me, entity btn)
+{
+ if not(gamestatus & (GAME_CONNECTED | GAME_ISSERVER)) // we're not in a match, ask the player if they want to start one anyway
+ {
+ DialogOpenButton_Click(me, main.hudconfirmDialog);
+ }
+ else // already in a match, lets just cut to the point and open up the hud editor directly
+ {
+ HUDSetup_Start(me, btn);
+ }
+}
+void XonoticHUDDialog_showNotify(entity me)
+{
+ loadAllCvars(me);
+}
+string XonoticHUDDialog_toString(entity me)
+{
+ return "hi"; // TODO: show hud config name with text here
+}
+void XonoticHUDDialog_fill(entity me)
+{
+ entity e;
+
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Damage:")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Overlay:")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.05, "hud_damage"));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Factor:")));
+ setDependent(e, "hud_damage", 0.001, 100);
+ me.TD(me, 1, 2, e = makeXonoticSlider(0.025, 0.1, 0.025, "hud_damage_factor"));
+ setDependent(e, "hud_damage", 0.001, 100);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Fade rate:")));
+ setDependent(e, "hud_damage", 0.001, 100);
+ me.TD(me, 1, 2, e = makeXonoticSlider(0.25, 1, 0.05, "hud_damage_fade_rate"));
+ setDependent(e, "hud_damage", 0.001, 100);
+ me.TR(me);
+
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_hidewaypoints", _("Waypoints")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Scale:")));
+ setDependent(e, "cl_hidewaypoints", 0, 0);
+ me.TD(me, 1, 2, e = makeXonoticSlider(0.5, 1.5, 0.05, "g_waypointsprite_scale"));
+ setDependent(e, "cl_hidewaypoints", 0, 0);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Alpha:")));
+ setDependent(e, "cl_hidewaypoints", 0, 0);
+ me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 1, 0.05, "g_waypointsprite_alpha"));
+ setDependent(e, "cl_hidewaypoints", 0, 0);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Edge offset:")));
+ setDependent(e, "cl_hidewaypoints", 0, 0);
+ me.TD(me, 1, 2, e = makeXonoticSlider(0, 0.3, 0.01, "g_waypointsprite_edgeoffset_bottom"));
+ makeMulti(e, "g_waypointsprite_edgeoffset_top g_waypointsprite_edgeoffset_left g_waypointsprite_edgeoffset_right");
+ setDependent(e, "cl_hidewaypoints", 0, 0);
+ me.TR(me);
+
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "hud_shownames", _("Show names above players")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(25, 0, "hud_shownames_crosshairdistance", _("Only when near crosshair")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "hud_shownames_status", _("Display health and armor")));
+ me.TR(me);
+ me.TR(me);
+ me.TDempty(me, 0.5);
+ me.TD(me, 1, 2, e = makeXonoticButton(_("Enter HUD editor"), '0 0 0'));
+ e.onClick = HUDSetup_Check_Gamestatus;
+ e.onClickEntity = me;
+ // TODO: show hud config name with text here
+
+ me.gotoRC(me, me.rows - 1, 0);
+ me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
+ e.onClick = Dialog_Close;
+ e.onClickEntity = me;
+}
+#endif
\ No newline at end of file
--- /dev/null
+#ifdef INTERFACE
+CLASS(XonoticHUDConfirmDialog) EXTENDS(XonoticDialog)
+ METHOD(XonoticHUDConfirmDialog, fill, void(entity))
+ ATTRIB(XonoticHUDConfirmDialog, title, string, _("Enter HUD editor"))
+ ATTRIB(XonoticHUDConfirmDialog, color, vector, SKINCOLOR_DIALOG_HUDCONFIRM)
+ ATTRIB(XonoticHUDConfirmDialog, intendedWidth, float, 0.5)
+ ATTRIB(XonoticHUDConfirmDialog, rows, float, 4)
+ ATTRIB(XonoticHUDConfirmDialog, columns, float, 2)
+ENDCLASS(XonoticHUDConfirmDialog)
+#endif
+
+#ifdef IMPLEMENTATION
+void HUDSetup_Start(entity me, entity btn)
+{
+ if not(gamestatus & (GAME_CONNECTED | GAME_ISSERVER))
+ localcmd("map hudsetup/hudsetup", "\n");
+ else
+ localcmd("togglemenu 0\n");
+
+ localcmd("_hud_configure 1", "\n");
+}
+
+void XonoticHUDConfirmDialog_fill(entity me)
+{
+ entity e;
+
+ me.TR(me);
+ me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("In order for the HUD editor to show, you must first be in game.")));
+ me.TR(me);
+ me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Do you wish to start a local game to set up the HUD?")));
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticButton(ZCTX(_("HDCNFRM^Yes")), '1 0 0'));
+ e.onClick = HUDSetup_Start;
+ e.onClickEntity = me;
+ me.TD(me, 1, 1, e = makeXonoticButton(ZCTX(_("HDCNFRM^No")), '0 1 0'));
+ e.onClick = Dialog_Close;
+ e.onClickEntity = me;
+}
+#endif
--- /dev/null
+#ifdef INTERFACE
+CLASS(XonoticModelDialog) EXTENDS(XonoticDialog)
+ METHOD(XonoticModelDialog, toString, string(entity))
+ METHOD(XonoticModelDialog, fill, void(entity))
+ METHOD(XonoticModelDialog, showNotify, void(entity))
+ ATTRIB(XonoticModelDialog, title, string, _("Model settings"))
+ ATTRIB(XonoticModelDialog, color, vector, SKINCOLOR_DIALOG_MODEL)
+ ATTRIB(XonoticModelDialog, intendedWidth, float, 0.5)
+ ATTRIB(XonoticModelDialog, rows, float, 8)
+ ATTRIB(XonoticModelDialog, columns, float, 3)
+ENDCLASS(XonoticModelDialog)
+#endif
+
+#ifdef IMPLEMENTATION
+void XonoticModelDialog_showNotify(entity me)
+{
+ loadAllCvars(me);
+}
+string XonoticModelDialog_toString(entity me)
+{
+ return "hi"; // TODO: show csqc model settings like forcemyplayer and deglowing/ghosting bodies with text here
+}
+void XonoticModelDialog_fill(entity me)
+{
+ entity e;
+
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Body fading:")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(0, 2, 0.2, "cl_deathglow"));
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Gibs:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_nogibs"));
+ e.addValue(e, ZCTX(_("GIBS^None")), "1");
+ e.addValue(e, ZCTX(_("GIBS^Few")), "0.75");
+ e.addValue(e, ZCTX(_("GIBS^Many")), "0.5");
+ e.addValue(e, ZCTX(_("GIBS^Lots")), "0");
+ e.configureXonoticTextSliderValues(e);
+ setDependent(e, "cl_gentle", 0, 0);
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Playermodel LOD:")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(0, 10, 1, "cl_playerdetailreduction"));
+ me.TR(me);
+ #ifdef ALLOW_FORCEMODELS
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Force models:")));
+ me.TD(me, 1, 2/3, e = makeXonoticRadioButton(6, string_null, string_null, ZCTX(_("MDL^None"))));
+ me.TD(me, 1, 2/3, e = makeXonoticRadioButton(6, "cl_forceplayermodelsfromxonotic", string_null, ZCTX(_("MDL^Custom"))));
+ me.TD(me, 1, 2/3, e = makeXonoticRadioButton(6, "cl_forceplayermodels", string_null, ZCTX(_("MDL^All"))));
+ #endif
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_forceplayermodels", _("Force player models to mine")));
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_forceplayercolors", _("Force player colors to mine")));
+ me.TR(me);
+
+ me.gotoRC(me, me.rows - 1, 0);
+ me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
+ e.onClick = Dialog_Close;
+ e.onClickEntity = me;
+}
+#endif
--- /dev/null
+#ifdef INTERFACE
+CLASS(XonoticViewDialog) EXTENDS(XonoticDialog)
+ METHOD(XonoticViewDialog, toString, string(entity))
+ METHOD(XonoticViewDialog, fill, void(entity))
+ METHOD(XonoticViewDialog, showNotify, void(entity))
+ ATTRIB(XonoticViewDialog, title, string, _("View settings"))
+ ATTRIB(XonoticViewDialog, color, vector, SKINCOLOR_DIALOG_VIEW)
+ ATTRIB(XonoticViewDialog, intendedWidth, float, 0.9)
+ ATTRIB(XonoticViewDialog, rows, float, 11)
+ ATTRIB(XonoticViewDialog, columns, float, 6.2) // added extra .2 for center space
+ENDCLASS(XonoticViewDialog)
+#endif
+
+#ifdef IMPLEMENTATION
+void XonoticViewDialog_showNotify(entity me)
+{
+ loadAllCvars(me);
+}
+string XonoticViewDialog_toString(entity me)
+{
+ return "hi"; // TODO: show fov and other settings with text here
+}
+void XonoticViewDialog_fill(entity me)
+{
+ entity e;
+
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Field of view:")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(60, 130, 5, "fov"));
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Zoom:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_reticle"));
+ e.addValue(e, ZCTX(_("RETICLE^Fullscreen")), "0");
+ e.addValue(e, ZCTX(_("RETICLE^With reticle")), "1");
+ e.configureXonoticTextSliderValues(e);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Factor:"))));
+ me.TD(me, 1, 2, e = makeXonoticSlider(2, 16, 0.5, "cl_zoomfactor"));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Speed:"))));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_zoomspeed"));
+ e.addValue(e, "1", "1"); // Samual: for() loop doesn't work here, even though it would make sense.
+ e.addValue(e, "2", "2");
+ e.addValue(e, "3", "3");
+ e.addValue(e, "4", "4");
+ e.addValue(e, "5", "5");
+ e.addValue(e, "6", "6");
+ e.addValue(e, "7", "7");
+ e.addValue(e, "8", "8");
+ e.addValue(e, ZCTX(_("ZOOM^Instant")), "-1");
+ e.configureXonoticTextSliderValues(e);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("ZOOM^Sensitivity:"))));
+ me.TD(me, 1, 2, e = makeXonoticSlider(0, 1, 0.1, "cl_zoomsensitivity"));
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Velocity zoom:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_velocityzoom_type"));
+ e.addValue(e, ZCTX(_("VZOOM^Disabled")), "0");
+ e.addValue(e, ZCTX(_("VZOOM^Forward only")), "3");
+ e.addValue(e, ZCTX(_("VZOOM^All directions")), "1");
+ e.configureXonoticTextSliderValues(e);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("VZOOM^Speed"))));
+ me.TD(me, 1, 2, e = makeXonoticSlider(-1, 1, 0.2, "cl_velocityzoom"));
+ setDependent(e, "cl_velocityzoom_type", 1, 3);
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_clippedspectating", _("Allow passing through walls while spectating")));
+
+ me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
+ me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "0", _("1st person perspective")));
+ makeMulti(e, "crosshair_hittest_showimpact");
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_bobfall", _("Smooth the view when landing from a jump")));
+ setDependent(e, "chase_active", -1, 0);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.05, 0, "cl_smoothviewheight", _("Smooth the view while crouching")));
+ setDependent(e, "chase_active", -1, 0);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(1, 0, "v_idlescale", _("View waving while idle")));
+ setDependent(e, "chase_active", -1, 0);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBoxEx(0.65, 0, "cl_bobcycle", _("View bobbing while walking around")));
+ makeMulti(e, "cl_bob2cycle");
+ setDependent(e, "chase_active", -1, 0);
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "chase_active", "1", _("3rd person perspective")));
+ makeMulti(e, "crosshair_hittest_showimpact");
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Back distance")));
+ setDependent(e, "chase_active", 1, 1);
+ me.TD(me, 1, 2, e = makeXonoticSlider(10, 100, 1, "chase_back"));
+ setDependent(e, "chase_active", 1, 1);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Up distance")));
+ setDependent(e, "chase_active", 1, 1);
+ me.TD(me, 1, 2, e = makeXonoticSlider(10, 50, 1, "chase_up"));
+ setDependent(e, "chase_active", 1, 1);
+ me.TR(me);
+
+ me.gotoRC(me, me.rows - 1, 0);
+ me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
+ e.onClick = Dialog_Close;
+ e.onClickEntity = me;
+}
+#endif
+++ /dev/null
-#ifdef INTERFACE
-CLASS(XonoticWaypointDialog) EXTENDS(XonoticDialog)
- METHOD(XonoticWaypointDialog, fill, void(entity))
- METHOD(XonoticWaypointDialog, showNotify, void(entity))
- ATTRIB(XonoticWaypointDialog, title, string, _("Waypoints"))
- ATTRIB(XonoticWaypointDialog, color, vector, SKINCOLOR_DIALOG_WAYPOINTS)
- ATTRIB(XonoticWaypointDialog, intendedWidth, float, 0.5)
- ATTRIB(XonoticWaypointDialog, rows, float, 5)
- ATTRIB(XonoticWaypointDialog, columns, float, 3)
-ENDCLASS(XonoticWaypointDialog)
-#endif
-
-#ifdef IMPLEMENTATION
-void XonoticWaypointDialog_showNotify(entity me)
-{
- loadAllCvars(me);
-}
-void XonoticWaypointDialog_fill(entity me)
-{
- entity e;
-
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_hidewaypoints", _("Show base waypoints")));
- me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Waypoint scale:")));
- me.TD(me, 1, 2, e = makeXonoticSlider(0.5, 1.5, 0.05, "g_waypointsprite_scale"));
- setDependent(e, "cl_hidewaypoints", 0, 0);
- me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Waypoint alpha:")));
- me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 1, 0.05, "g_waypointsprite_alpha"));
- setDependent(e, "cl_hidewaypoints", 0, 0);
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "hud_shownames", _("Show names above players")));
- me.gotoRC(me, me.rows - 1, 0);
- me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
- e.onClick = Dialog_Close;
- e.onClickEntity = me;
-}
-#endif
METHOD(XonoticWeaponsDialog, showNotify, void(entity))
ATTRIB(XonoticWeaponsDialog, title, string, _("Weapon settings"))
ATTRIB(XonoticWeaponsDialog, color, vector, SKINCOLOR_DIALOG_WEAPONS)
- ATTRIB(XonoticWeaponsDialog, intendedWidth, float, 0.4)
- ATTRIB(XonoticWeaponsDialog, rows, float, 18)
- ATTRIB(XonoticWeaponsDialog, columns, float, 3)
+ ATTRIB(XonoticWeaponsDialog, intendedWidth, float, 0.7)
+ ATTRIB(XonoticWeaponsDialog, rows, float, 12)
+ ATTRIB(XonoticWeaponsDialog, columns, float, 5.2)
ATTRIB(XonoticWeaponsDialog, weaponsList, entity, NULL)
ENDCLASS(XonoticWeaponsDialog)
#endif
entity e;
me.TR(me);
- me.TD(me, 1, 3, makeXonoticTextLabel(0, _("Weapon priority list:")));
+ me.TD(me, 1, 2, makeXonoticTextLabel(0, _("Weapon priority list:")));
me.TR(me);
- me.TD(me, 10, 3, e = me.weaponsList = makeXonoticWeaponsList());
- me.gotoRC(me, 11, 0);
- me.TDempty(me, 0.5);
+ me.TD(me, 8, 2, e = me.weaponsList = makeXonoticWeaponsList());
+ me.gotoRC(me, 9, 0);
me.TD(me, 1, 1, e = makeXonoticButton(_("Up"), '0 0 0'));
e.onClick = WeaponsList_MoveUp_Click;
e.onClickEntity = me.weaponsList;
me.TD(me, 1, 1, e = makeXonoticButton(_("Down"), '0 0 0'));
e.onClick = WeaponsList_MoveDown_Click;
e.onClickEntity = me.weaponsList;
- me.TR(me);
+
+ me.gotoRC(me, 0, 2.2); me.setFirstColumn(me, me.currentColumn);
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_weaponpriority_useforcycling", _("Use priority list for weapon cycling")));
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_autoswitch", _("Auto switch weapons on pickup")));
+ me.TR(me);
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "r_drawviewmodel", _("Draw 1st person weapon model")));
me.TR(me);
me.TD(me, 1, 1.0, e = makeXonoticRadioButton(1, "cl_gunalign", "3", _("Right align")));
setDependent(e, "r_drawviewmodel", 1, 1);
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "v_flipped", _("Flip view horizontally")));
me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_followmodel", _("Gun model swaying")));
+ makeMulti(e, "cl_leanmodel");
+ setDependent(e, "r_drawviewmodel", 1, 1);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_bobmodel", _("Gun model bobbing")));
+ setDependent(e, "r_drawviewmodel", 1, 1);
+ me.TR(me);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, ZCTX(_("VWMDL^Scale"))));
+ setDependent(e, "r_drawviewmodel", 1, 1);
+ me.TD(me, 1, 2, e = makeXonoticSlider(0.1, 2, 0.1, "cl_viewmodel_scale"));
+ setDependent(e, "r_drawviewmodel", 1, 1);
+
+ me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
e.onClick = Dialog_Close;
e.onClickEntity = me;
me.TD(me, 1, 1, mc.makeTabButton(mc, _("Video"), makeXonoticVideoSettingsTab()));
me.TD(me, 1, 1, mc.makeTabButton(mc, _("Effects"), makeXonoticEffectsSettingsTab()));
me.TD(me, 1, 1, mc.makeTabButton(mc, _("Audio"), makeXonoticAudioSettingsTab()));
- me.TD(me, 1, 1, mc.makeTabButton(mc, _("Network"), makeXonoticNetworkSettingsTab()));
+ me.TD(me, 1, 1, mc.makeTabButton(mc, _("User"), makeXonoticUserSettingsTab()));
me.TD(me, 1, 1, mc.makeTabButton(mc, _("Misc"), makeXonoticMiscSettingsTab()));
me.TR(me);
me.TR(me);
ATTRIB(XonoticAudioSettingsTab, title, string, _("Audio"))
ATTRIB(XonoticAudioSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticAudioSettingsTab, rows, float, 17)
- ATTRIB(XonoticAudioSettingsTab, columns, float, 6.5)
+ ATTRIB(XonoticAudioSettingsTab, columns, float, 6.2) // added extra .2 for center space
ENDCLASS(XonoticAudioSettingsTab)
entity makeXonoticAudioSettingsTab();
#endif
me.TR(me);
s = makeXonoticDecibelsSlider(-20, 0, 0.5, "mastervolume");
me.TD(me, 1, 1, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Master:")));
+ if(s.value != e.savedValue)
+ e.savedValue = 0; // default
me.TD(me, 1, 2, s);
me.TR(me);
me.TDempty(me, 0.2);
s = makeXonoticDecibelsSlider(-20, 0, 0.5, "bgmvolume");
makeMulti(s, "snd_channel8volume");
me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Music:")));
+ if(s.value != e.savedValue)
+ e.savedValue = 0; // default
me.TD(me, 1, 2, s);
setDependentStringNotEqual(e, "mastervolume", "0");
setDependentStringNotEqual(s, "mastervolume", "0");
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:"))));
+ if(s.value != e.savedValue)
+ e.savedValue = 0; // default
me.TD(me, 1, 2, s);
setDependentStringNotEqual(e, "mastervolume", "0");
setDependentStringNotEqual(s, "mastervolume", "0");
me.TDempty(me, 0.2);
s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel0volume");
me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Info:")));
+ if(s.value != e.savedValue)
+ e.savedValue = 0; // default
me.TD(me, 1, 2, s);
setDependentStringNotEqual(e, "mastervolume", "0");
setDependentStringNotEqual(s, "mastervolume", "0");
me.TDempty(me, 0.2);
s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel3volume");
me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Items:")));
+ if(s.value != e.savedValue)
+ e.savedValue = 0; // default
me.TD(me, 1, 2, s);
setDependentStringNotEqual(e, "mastervolume", "0");
setDependentStringNotEqual(s, "mastervolume", "0");
me.TDempty(me, 0.2);
s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel6volume");
me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Pain:")));
+ if(s.value != e.savedValue)
+ e.savedValue = 0; // default
me.TD(me, 1, 2, s);
setDependentStringNotEqual(e, "mastervolume", "0");
setDependentStringNotEqual(s, "mastervolume", "0");
me.TDempty(me, 0.2);
s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel7volume");
me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Player:")));
+ if(s.value != e.savedValue)
+ e.savedValue = 0; // default
me.TD(me, 1, 2, s);
setDependentStringNotEqual(e, "mastervolume", "0");
setDependentStringNotEqual(s, "mastervolume", "0");
me.TDempty(me, 0.2);
s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel4volume");
me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Shots:")));
+ if(s.value != e.savedValue)
+ e.savedValue = 0; // default
me.TD(me, 1, 2, s);
setDependentStringNotEqual(e, "mastervolume", "0");
setDependentStringNotEqual(s, "mastervolume", "0");
me.TDempty(me, 0.2);
s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel2volume");
me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Voice:")));
+ if(s.value != e.savedValue)
+ e.savedValue = 0; // default
me.TD(me, 1, 2, s);
setDependentStringNotEqual(e, "mastervolume", "0");
setDependentStringNotEqual(s, "mastervolume", "0");
s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel1volume");
makeMulti(s, "snd_channel5volume"); // @!#%'n Tuba
me.TD(me, 1, 0.8, e = makeXonoticSliderCheckBox(-1000000, 1, s, _("Weapons:")));
+ if(s.value != e.savedValue)
+ e.savedValue = 0; // default
me.TD(me, 1, 2, s);
setDependentStringNotEqual(e, "mastervolume", "0");
setDependentStringNotEqual(s, "mastervolume", "0");
me.TR(me);
-
- me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "menu_snd_attenuation_method", _("New style sound attenuation")));
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "snd_mutewhenidle", _("Mute sounds when not active")));
+
+ me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Frequency:")));
me.TD(me, 1, 2, e = makeXonoticTextSlider("snd_speed"));
e.addValue(e, _("8 kHz"), "8000");
e.addValue(e, _("7.1"), "8");
e.configureXonoticTextSliderValues(e);
me.TR(me);
- me.TDempty(me, 0.2);
- me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "snd_swapstereo", _("Swap Stereo")));
+ me.TD(me, 1, 1.2, e = makeXonoticCheckBox(0, "snd_swapstereo", _("Swap Stereo")));
setDependent(e, "snd_channels", 1.5, 0.5);
- me.TR(me);
- me.TDempty(me, 0.2);
- me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "snd_spatialization_control", _("Headphone friendly mode")));
+ me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "snd_spatialization_control", _("Headphone friendly mode")));
setDependent(e, "snd_channels", 1.5, 0.5);
me.TR(me);
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "menu_snd_attenuation_method", _("New style sound attenuation")));
- me.TR(me);
+ /*me.TR(me); // Samual: I REALLY don't think these are relevant to anyone, and just clutter up the menu pointlessly. The defaults are fine.
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Spatial voices:")));
me.TD(me, 1, 2/3, e = makeXonoticRadioButton(1, "cl_voice_directional", "0", ZCTX(_("VOCS^None"))));
me.TD(me, 1, 2/3, e = makeXonoticRadioButton(1, "cl_voice_directional", "2", ZCTX(_("VOCS^Taunts"))));
e.addValue(e, ZCTX(_("RNG^Full")), "0.015625");
e.configureXonoticTextSliderValues(e);
setDependent(e, "cl_voice_directional", 0.5, -0.5);
+ me.TR(me);*/
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_hitsound", _("Hit indication sound")));
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "con_chatsound", _("Chat message sound")));
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 0, "menu_sounds", _("Menu sounds")));
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Time announcer:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_announcer_maptime"));
+ e.addValue(e, ZCTX(_("WRN^Disabled")), "0");
+ e.addValue(e, _("1 minute"), "1");
+ e.addValue(e, _("5 minutes"), "2");
+ e.addValue(e, ZCTX(_("WRN^Both")), "3");
+ e.configureXonoticTextSliderValues(e);
+ me.TR(me);
me.TR(me);
sl = makeXonoticSlider(0.15, 1, 0.05, "cl_autotaunt");
sl.valueDisplayMultiplier = 100;
me.TD(me, 1, 2, sl);
me.TR(me);
me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Time warning:")));
- me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_sound_maptime_warning"));
- e.addValue(e, ZCTX(_("WRN^None")), "0");
- e.addValue(e, _("1 minute"), "1");
- e.addValue(e, _("5 minutes"), "2");
- e.addValue(e, ZCTX(_("WRN^Both")), "3");
- e.configureXonoticTextSliderValues(e);
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_hitsound", _("Hit indicator")));
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 0, "menu_sounds", _("Menu sounds")));
+ if(cvar("developer"))
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "showsound", _("Debug info about sounds")));
+
me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "snd_restart; snd_attenuation_method_$menu_snd_attenuation_method; sendcvar cl_hitsound; sendcvar cl_autotaunt; sendcvar cl_voice_directional; sendcvar cl_voice_directional_taunt_attenuation", COMMANDBUTTON_APPLY));
ATTRIB(XonoticEffectsSettingsTab, title, string, _("Effects"))
ATTRIB(XonoticEffectsSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticEffectsSettingsTab, rows, float, 17)
- ATTRIB(XonoticEffectsSettingsTab, columns, float, 6.5)
+ ATTRIB(XonoticEffectsSettingsTab, columns, float, 6.2) // added extra .2 for center space
ENDCLASS(XonoticEffectsSettingsTab)
entity makeXonoticEffectsSettingsTab();
float updateCompression();
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Quality preset:")));
n = 5 + 2 * !!cvar("developer");
if(cvar("developer"))
- me.TD(me, 1, 5.5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^OMG!")), '1 0 1', "exec effects-omg.cfg", 0));
- me.TD(me, 1, 5.5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Low")), '0 0 0', "exec effects-low.cfg", 0));
- me.TD(me, 1, 5.5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Medium")), '0 0 0', "exec effects-med.cfg", 0));
- me.TD(me, 1, 5.5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Normal")), '0 0 0', "exec effects-normal.cfg", 0));
- me.TD(me, 1, 5.5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^High")), '0 0 0', "exec effects-high.cfg", 0));
- me.TD(me, 1, 5.5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Ultra")), '0 0 0', "exec effects-ultra.cfg", 0));
+ me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^OMG!")), '1 0 1', "exec effects-omg.cfg", 0));
+ me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Low")), '0 0 0', "exec effects-low.cfg", 0));
+ me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Medium")), '0 0 0', "exec effects-med.cfg", 0));
+ me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Normal")), '0 0 0', "exec effects-normal.cfg", 0));
+ me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^High")), '0 0 0', "exec effects-high.cfg", 0));
+ me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Ultra")), '0 0 0', "exec effects-ultra.cfg", 0));
if(cvar("developer"))
- me.TD(me, 1, 5.5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Ultimate")), '0 0 0', "exec effects-ultimate.cfg", 0));
+ me.TD(me, 1, 5 / n, e = makeXonoticCommandButton(ZCTX(_("PRE^Ultimate")), '0.5 0 0', "exec effects-ultimate.cfg", 0));
me.TR(me);
me.TR(me);
- me.TD(me, 1, 1.1, e = makeXonoticTextLabel(0, _("Geometry detail:")));
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Geometry detail:")));
me.TD(me, 1, 2, e = makeXonoticTextSlider("r_subdivisions_tolerance"));
e.addValue(e, ZCTX(_("DET^Lowest")), "16");
e.addValue(e, ZCTX(_("DET^Low")), "8");
e.addValue(e, ZCTX(_("DET^Insane")), "1");
e.configureXonoticTextSliderValues(e);
me.TR(me);
- me.TD(me, 1, 1.1, e = makeXonoticTextLabel(0, _("Antialiasing:")));
- me.TD(me, 1, 2, e = makeXonoticTextSlider("vid_samples"));
- e.addValue(e, ZCTX(_("AA^Disabled")), "1");
- e.addValue(e, _("2x"), "2");
- e.addValue(e, _("4x"), "4");
- e.configureXonoticTextSliderValues(e);
- setDependent(e, "r_viewfbo", 0, 0);
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 0, "r_viewfbo", _("High-quality frame buffer")));
- setDependent(e, "vid_samples", 1, 1);
- me.TR(me);
- me.TD(me, 1, 1.1, e = makeXonoticTextLabel(0, _("Texture resolution:")));
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Texture resolution:")));
me.TD(me, 1, 2, e = makeXonoticPicmipSlider());
if(cvar("developer"))
e.addValue(e, ZCTX(_("RES^Leet")), "1337");
- e.addValue(e, ZCTX(_("RES^Lowest")), "2");
+ e.addValue(e, ZCTX(_("RES^Lowest")), "3");
+ e.addValue(e, ZCTX(_("RES^Very low")), "2");
e.addValue(e, ZCTX(_("RES^Low")), "1");
e.addValue(e, ZCTX(_("RES^Normal")), "0");
e.addValue(e, ZCTX(_("RES^Good")), "-1");
e.addValue(e, ZCTX(_("RES^Best")), "-2");
e.configureXonoticTextSliderValues(e);
me.TR(me);
- me.TDempty(me, 0.2);
+ me.TR(me);
{
// detect texture compression method
float f;
case 0:
break;
case 1:
- me.TD(me, 1, 2.8, e = makeXonoticCheckBox(1, "r_texture_dds_load", _("Avoid lossy texture compression")));
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "r_texture_dds_load", _("Avoid lossy texture compression")));
break;
case 2:
- me.TD(me, 1, 2.8, e = makeXonoticCheckBox(1, "r_texture_dds_load", _("Avoid lossy texture compression")));
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "r_texture_dds_load", _("Avoid lossy texture compression")));
makeMulti(e, "gl_texturecompression");
break;
}
}
me.TR(me);
- me.TD(me, 1, 1.1, e = makeXonoticTextLabel(0, _("Anisotropy:")));
- me.TD(me, 1, 2, e = makeXonoticTextSlider("gl_texture_anisotropy"));
- e.addValue(e, ZCTX(_("ANISO^Disabled")), "1");
- e.addValue(e, _("2x"), "2");
- e.addValue(e, _("4x"), "4");
- e.addValue(e, _("8x"), "8");
- e.addValue(e, _("16x"), "16");
- e.configureXonoticTextSliderValues(e);
+ me.TD(me, 1, 1, e = makeXonoticCheckBox(1, "mod_q3bsp_nolightmaps", _("Use lightmaps")));
+ me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_glsl_deluxemapping", _("Deluxe mapping")));
+ setDependentAND(e, "vid_gl20", 1, 1, "mod_q3bsp_nolightmaps", 0, 0);
+ me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_shadow_gloss", _("Gloss")));
+ setDependentAND3(e, "vid_gl20", 1, 1, "mod_q3bsp_nolightmaps", 0, 0, "r_glsl_deluxemapping", 1, 1);
+ me.TR(me);
me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Particles quality:")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(0.2, 1.0, 0.1, "cl_particles_quality"));
me.TR(me);
- me.TD(me, 1, 1.1, e = makeXonoticTextLabel(0, _("Particle quality:")));
- me.TD(me, 1, 1.9, e = makeXonoticSlider(0.2, 1.0, 0.1, "cl_particles_quality"));
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Particles distance:")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(500, 2000, 100, "r_drawparticles_drawdistance"));
me.TR(me);
- me.TD(me, 1, 1.1, e = makeXonoticTextLabel(0, _("Particle distance:")));
- me.TD(me, 1, 1.9, e = makeXonoticSlider(500, 2000, 100, "r_drawparticles_drawdistance"));
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Damage effects:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_damageeffect"));
+ e.addValue(e, ZCTX(_("DMGPRTCLS^Disabled")), "0");
+ e.addValue(e, ZCTX(_("DMGPRTCLS^Skeletal")), "1");
+ e.addValue(e, ZCTX(_("DMGPRTCLS^All")), "2");
+ e.configureXonoticTextSliderValues(e);
me.TR(me);
me.TR(me);
- me.TD(me, 1, 1.5, e = makeXonoticCheckBox(0, "cl_decals", _("Decals")));
- me.TD(me, 1, 1.5, e = makeXonoticCheckBox(0, "cl_decals_models", _("Decals on models")));
+ me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "cl_decals", _("Decals")));
+ me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "cl_decals_models", _("Decals on models")));
setDependent(e, "cl_decals", 1, 1);
me.TR(me);
me.TDempty(me, 0.2);
- me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Distance:")));
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Distance:")));
setDependent(e, "cl_decals", 1, 1);
- me.TD(me, 1, 1.9, e = makeXonoticSlider(200, 500, 20, "r_drawdecals_drawdistance"));
+ me.TD(me, 1, 2, e = makeXonoticSlider(200, 500, 20, "r_drawdecals_drawdistance"));
setDependent(e, "cl_decals", 1, 1);
me.TR(me);
me.TDempty(me, 0.2);
- me.TD(me, 1, 0.9, e = makeXonoticTextLabel(0, _("Time:")));
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Time:")));
setDependent(e, "cl_decals", 1, 1);
- me.TD(me, 1, 1.9, e = makeXonoticSlider(1, 20, 1, "cl_decals_time"));
+ me.TD(me, 1, 2, e = makeXonoticSlider(1, 20, 1, "cl_decals_time"));
setDependent(e, "cl_decals", 1, 1);
- me.gotoRC(me, 2, 3.5); me.setFirstColumn(me, me.currentColumn);
- me.TD(me, 1, 1.2, e = makeXonoticCheckBox(1, "mod_q3bsp_nolightmaps", _("Use lightmaps")));
- me.TD(me, 1, 1.2, e = makeXonoticCheckBox(0, "r_glsl_deluxemapping", _("Deluxe mapping")));
- setDependentAND(e, "vid_gl20", 1, 1, "mod_q3bsp_nolightmaps", 0, 0);
- me.TD(me, 1, 0.6, e = makeXonoticCheckBox(0, "r_shadow_gloss", _("Gloss"))); // FIXME move this box elsewhere, it has nothing to do with Q3BSP lightmaps
- setDependent(e, "vid_gl20", 1, 1);
- me.TR(me);
- me.TD(me, 1, 1.2, e = makeXonoticCheckBox(0, "r_glsl_offsetmapping", _("Offset mapping")));
- setDependent(e, "vid_gl20", 1, 1);
- me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "r_glsl_offsetmapping_reliefmapping", _("Relief mapping")));
- setDependentAND(e, "vid_gl20", 1, 1, "r_glsl_offsetmapping", 1, 1);
- me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_water", _("Reflections:")));
- setDependent(e, "vid_gl20", 1, 1);
- me.TD(me, 1, 2, e = makeXonoticTextSlider("r_water_resolutionmultiplier"));
- e.addValue(e, _("Blurred"), "0.25");
- e.addValue(e, ZCTX(_("REFL^Good")), "0.5");
- e.addValue(e, _("Sharp"), "1");
- e.configureXonoticTextSliderValues(e);
- setDependentAND(e, "vid_gl20", 1, 1, "r_water", 1, 1);
- me.TR(me);
- if(cvar("developer"))
- me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(3, 0, "r_showsurfaces", _("Show surfaces")));
+ me.gotoRC(me, 2, 3.2); me.setFirstColumn(me, me.currentColumn);
+ me.TD(me, 1, 1.2, e = makeXonoticCheckBox(0, "r_coronas", _("Coronas")));
+ me.TD(me, 1, 1.8, e = makeXonoticCheckBox(0, "r_coronas_occlusionquery", _("Use Occlusion Queries")));
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticRadioButton(1, string_null, string_null, _("No dynamic lighting")));
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "gl_flashblend", string_null, _("Flash blend approximation")));
+ me.TD(me, 1, 3, e = makeXonoticRadioButton(1, "gl_flashblend", string_null, _("Fake corona lighting")));
me.TR(me);
me.TD(me, 1, 2, e = makeXonoticRadioButton(1, "r_shadow_realtime_dlight", string_null, _("Realtime dynamic lighting")));
me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_shadow_realtime_dlight_shadows", _("Shadows")));
me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_shadow_shadowmapping", _("Soft shadows")));
setDependentWeird(e, someShadowCvarIsEnabled);
me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_coronas", _("Coronas")));
- me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "r_coronas_occlusionquery", _("Use Occlusion Queries")));
+ if(cvar("developer"))
+ me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(3, 0, "r_showsurfaces", _("Show surfaces")));
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_glsl_offsetmapping", _("Offset mapping")));
+ setDependent(e, "vid_gl20", 1, 1);
+ me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_glsl_offsetmapping_reliefmapping", _("Relief mapping")));
+ setDependentAND(e, "vid_gl20", 1, 1, "r_glsl_offsetmapping", 1, 1);
+ me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_glsl_offsetmapping_lod", _("LOD")));
+ setDependentAND(e, "vid_gl20", 1, 1, "r_glsl_offsetmapping", 1, 1);
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "r_bloom", _("Bloom")));
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "r_bloom", _("High Dynamic Range (HDR)")));
-
+ me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_water", _("Reflections:")));
+ setDependent(e, "vid_gl20", 1, 1);
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("r_water_resolutionmultiplier"));
+ e.addValue(e, _("Blurred"), "0.25");
+ e.addValue(e, ZCTX(_("REFL^Good")), "0.5");
+ e.addValue(e, _("Sharp"), "1");
+ e.configureXonoticTextSliderValues(e);
+ setDependentAND(e, "vid_gl20", 1, 1, "r_water", 1, 1);
me.TR(me);
s = makeXonoticSlider(0.1, 1, 0.1, "r_motionblur");
me.TD(me, 1, 1, e = makeXonoticSliderCheckBox(0, 1, s, _("Motion blur:")));
if(s.value != e.savedValue)
- e.savedValue = 0.5; // default
+ e.savedValue = 0.4; // default
me.TD(me, 1, 2, s);
me.TR(me);
- e = makeXonoticCheckBoxEx(0.5, 0, "hud_postprocessing_maxbluralpha", _("Blur and sharpen postprocessing"));
+ me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(0.5, 0, "hud_postprocessing_maxbluralpha", _("Extra postprocessing effects")));
makeMulti(e, "hud_powerup");
- me.TD(me, 1, 2, e);
-
+ setDependent(e, "vid_gl20", 1, 1);
+
me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "vid_restart", COMMANDBUTTON_APPLY));
}
ATTRIB(XonoticInputSettingsTab, title, string, _("Input"))
ATTRIB(XonoticInputSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticInputSettingsTab, rows, float, 17)
- ATTRIB(XonoticInputSettingsTab, columns, float, 6.5)
+ ATTRIB(XonoticInputSettingsTab, columns, float, 6.2) // added extra .2 for center space
ENDCLASS(XonoticInputSettingsTab)
entity makeXonoticInputSettingsTab();
#endif
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Key bindings:")));
me.TR(me);
- me.TD(me, me.rows - 4, 3.3, kb = makeXonoticKeyBinder());
+ me.TD(me, me.rows - 4, 3, kb = makeXonoticKeyBinder());
me.gotoRC(me, me.rows - 3, 0);
- me.TR(me);
- me.TD(me, 1, 1.1, e = makeXonoticButton(_("Change key..."), '0 0 0'));
+ me.TD(me, 1, 1, e = makeXonoticButton(_("Change key..."), '0 0 0'));
e.onClick = KeyBinder_Bind_Change;
e.onClickEntity = kb;
kb.keyGrabButton = e;
- me.TD(me, 1, 1.1, e = makeXonoticButton(_("Edit..."), '0 0 0'));
+ me.TD(me, 1, 1, e = makeXonoticButton(_("Edit..."), '0 0 0'));
e.onClick = KeyBinder_Bind_Edit;
e.onClickEntity = kb;
kb.userbindEditButton = e;
kb.userbindEditDialog = main.userbindEditDialog;
main.userbindEditDialog.keybindBox = kb;
- me.TD(me, 1, 1.1, e = makeXonoticButton(_("Clear"), '0 0 0'));
+ me.TD(me, 1, 1, e = makeXonoticButton(_("Clear"), '0 0 0'));
e.onClick = KeyBinder_Bind_Clear;
e.onClickEntity = kb;
- me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Sensitivity:")));
- me.TD(me, 1, 2, e = makeXonoticSlider(1, 32, 0.2, "sensitivity"));
- me.TR(me);
- if(cvar("menu_mouse_absolute") == 0) // TODO remove this entirely later
- {
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("UI mouse speed:")));
- me.TD(me, 1, 2, e = makeXonoticSlider(0.2, 4.0, 0.1, "menu_mouse_speed"));
- }
+ me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "con_closeontoggleconsole", _("Pressing \"enter console\" key also closes it")));
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "m_filter", _("Mouse filter")));
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_movement_track_canjump", _("Automatically repeat jumping if holding jump")));
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(1.022, "m_pitch", _("Invert mouse")));
me.TR(me);
if(cvar_type("joy_enable") & CVAR_TYPEFLAG_ENGINE)
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joy_enable", _("Use joystick input")));
else if(cvar_type("joystick") & CVAR_TYPEFLAG_ENGINE)
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "joystick", _("Use joystick input")));
+ else
+ {
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, string_null, _("Use joystick input")));
+ e.disabled = 1; // the option is never available in this case, just there for show
+ }
me.TR(me);
- if(cvar_type("vid_dgamouse") & CVAR_TYPEFLAG_ENGINE)
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "vid_dgamouse", _("Turn off OS mouse acceleration")));
- else if(cvar_type("apple_mouse_noaccel") & CVAR_TYPEFLAG_ENGINE)
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "apple_mouse_noaccel", _("Turn off OS mouse acceleration")));
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "con_closeontoggleconsole", _("\"enter console\" also closes")));
+ me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Mouse:")));
me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Sensitivity:")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(1, 32, 0.2, "sensitivity"));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "m_filter", _("Smooth aiming")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(1.022, "m_pitch", _("Invert aiming")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ if(cvar_type("vid_dgamouse") & CVAR_TYPEFLAG_ENGINE)
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "vid_dgamouse", _("Disable system mouse acceleration")));
+ else if(cvar_type("apple_mouse_noaccel") & CVAR_TYPEFLAG_ENGINE)
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "apple_mouse_noaccel", _("Disable system mouse acceleration")));
+ else
+ {
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, string_null, _("Disable system mouse acceleration")));
+ e.disabled = 1; // the option is never available in this case, just there for show
+ }
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_movement_track_canjump", _("Holding jump key keeps jumping")));
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "m_accelerate", _("Enable built in mouse acceleration")));
+
+
me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "sendcvar cl_movement_track_canjump", COMMANDBUTTON_APPLY));
}
ATTRIB(XonoticMiscSettingsTab, title, string, _("Misc"))
ATTRIB(XonoticMiscSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticMiscSettingsTab, rows, float, 17)
- ATTRIB(XonoticMiscSettingsTab, columns, float, 6.5)
+ ATTRIB(XonoticMiscSettingsTab, columns, float, 6.2)
ENDCLASS(XonoticMiscSettingsTab)
entity makeXonoticMiscSettingsTab();
#endif
entity sk;
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Menu skins:")));
+ me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Network:")));
me.TR(me);
- me.TD(me, me.rows - 2, 3, sk = makeXonoticSkinList());
- me.gotoRC(me, me.rows - 1, 0);
- me.TD(me, 1, 3, e = makeXonoticButton(_("Apply immediately"), '0 0 0'));
- e.onClick = SetSkin_Click;
- e.onClickEntity = sk;
-
- me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
- me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Text language:")));
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Speed:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("_cl_rate"));
+ e.addValue(e, _("56k"), "4000");
+ e.addValue(e, _("ISDN"), "7000");
+ e.addValue(e, _("Slow ADSL"), "15000");
+ e.addValue(e, _("Fast ADSL"), "20000");
+ e.addValue(e, _("Broadband"), "66666");
+ e.configureXonoticTextSliderValues(e);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Input packets/s:")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(20, 100, 5, "cl_netfps"));
+ me.TR(me);
+ if(cvar("developer"))
+ {
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Local latency:")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(0, 1000, 25, "cl_netlocalping"));
+ }
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 1.8, e = makeXonoticTextLabel(0, _("Client UDP port:")));
+ me.TD(me, 1, 1, e = makeXonoticInputBox(0, "cl_port"));
+ me.TR(me);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "shownetgraph", _("Show netgraph")));
me.TR(me);
- me.TD(me, 3, 3, sk = makeXonoticLanguageList());
me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_movement", _("Client-side movement prediction")));
me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_movement_errorcompensation", _("Movement error compensation")));
+ setDependent(e, "cl_movement", 1, 1);
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Downloads:")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Maximum:")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(1, 5, 1, "cl_curl_maxdownloads"));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Speed (kB/s):")));
+ me.TD(me, 1, 2, e = makeXonoticSlider(10, 1500, 10, "cl_curl_maxspeed"));
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticButton(_("Apply immediately"), '0 0 0'));
- e.onClick = SetLanguage_Click;
- e.onClickEntity = sk;
+ me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
+ me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Framerate:")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Maximum:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_maxfps"));
+ e.addValue(e, ZCTX(_("MAXFPS^5 fps")), "5");
+ e.addValue(e, ZCTX(_("MAXFPS^10 fps")), "10");
+ e.addValue(e, ZCTX(_("MAXFPS^20 fps")), "20");
+ e.addValue(e, ZCTX(_("MAXFPS^30 fps")), "30");
+ e.addValue(e, ZCTX(_("MAXFPS^40 fps")), "40");
+ e.addValue(e, ZCTX(_("MAXFPS^50 fps")), "50");
+ e.addValue(e, ZCTX(_("MAXFPS^60 fps")), "60");
+ e.addValue(e, ZCTX(_("MAXFPS^70 fps")), "70");
+ e.addValue(e, ZCTX(_("MAXFPS^100 fps")), "100");
+ e.addValue(e, ZCTX(_("MAXFPS^125 fps")), "125");
+ e.addValue(e, ZCTX(_("MAXFPS^200 fps")), "200");
+ e.addValue(e, ZCTX(_("MAXFPS^Unlimited")), "0");
+ e.configureXonoticTextSliderValues(e);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Target:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_minfps"));
+ e.addValue(e, ZCTX(_("TRGT^Disabled")), "0");
+ e.addValue(e, ZCTX(_("TRGT^30 fps")), "30");
+ e.addValue(e, ZCTX(_("TRGT^40 fps")), "40");
+ e.addValue(e, ZCTX(_("TRGT^50 fps")), "50");
+ e.addValue(e, ZCTX(_("TRGT^60 fps")), "60");
+ e.addValue(e, ZCTX(_("TRGT^100 fps")), "100");
+ e.addValue(e, ZCTX(_("TRGT^125 fps")), "125");
+ e.addValue(e, ZCTX(_("TRGT^200 fps")), "200");
+ e.configureXonoticTextSliderValues(e);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Idle limit:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_maxidlefps"));
+ e.addValue(e, ZCTX(_("IDLFPS^10 fps")), "10");
+ e.addValue(e, ZCTX(_("IDLFPS^20 fps")), "20");
+ e.addValue(e, ZCTX(_("IDLFPS^30 fps")), "30");
+ e.addValue(e, ZCTX(_("IDLFPS^60 fps")), "60");
+ e.addValue(e, ZCTX(_("IDLFPS^Unlimited")), "0");
+ e.configureXonoticTextSliderValues(e);
+ me.TR(me);
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "showfps", _("Show frames per second")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_maxfps_alwayssleep", _("Save processing time for other apps")));
+ setDependent(e, "cl_maxfps", 1, 1000);
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Menu tooltips:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("menu_tooltips"));
+ e.addValue(e, ZCTX(_("TLTIP^Disabled")), "0");
+ e.addValue(e, ZCTX(_("TLTIP^Standard")), "1");
+ e.addValue(e, ZCTX(_("TLTIP^Advanced")), "2");
+ e.configureXonoticTextSliderValues(e);
me.TR(me);
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "showtime", _("Show current time")));
me.TR(me);
me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "showdate", _("Show current date")));
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "showfps", _("Show frames per second")));
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_maxfps_alwayssleep", _("Minimize input latency")));
-
- if(cvar("developer"))
- {
- me.TR(me);
- me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Menu Tooltips:")));
- me.TD(me, 1, 0.4, e = makeXonoticRadioButton(2, "menu_tooltips", "0", _("Off")));
- me.TD(me, 1, 0.8, e = makeXonoticRadioButton(2, "menu_tooltips", "1", _("Standard")));
- me.TD(me, 1, 0.8, e = makeXonoticRadioButton(2, "menu_tooltips", "2", _("Advanced")));
- }
-
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "developer", _("Enable developer mode")));
me.TR(me);
me.TR(me);
me.TDempty(me, 0.5);
me.TD(me, 1, 2, e = makeXonoticButton(_("Advanced settings..."), '0 0 0'));
e.onClick = DialogOpenButton_Click;
e.onClickEntity = main.cvarsDialog;
+ me.TR(me);
}
#endif
ATTRIB(XonoticCvarsDialog, title, string, _("Advanced settings"))
ATTRIB(XonoticCvarsDialog, color, vector, SKINCOLOR_DIALOG_CVARS)
ATTRIB(XonoticCvarsDialog, intendedWidth, float, 0.8)
- ATTRIB(XonoticCvarsDialog, rows, float, 25)
+ ATTRIB(XonoticCvarsDialog, rows, float, 24)
ATTRIB(XonoticCvarsDialog, columns, float, 6)
ENDCLASS(XonoticCvarsDialog)
#endif
{
loadAllCvars(me);
}
-void XonoticCvarsDialog_fill(entity me)
+void XonoticCvarsDialog_fill(entity me) // in this dialog, use SKINCOLOR_CVARLIST_CONTROLS to color ALL controls
{
entity e, cvarlist, btn;
+
cvarlist = makeXonoticCvarList();
+
+ cvarlist.color =
+ cvarlist.colorF =
+ cvarlist.color2 =
+ cvarlist.colorC =
+ SKINCOLOR_CVARLIST_CONTROLS;
+
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Cvar filter:")));
- me.TD(me, 1, 0.5, btn = makeXonoticButton(_("Clear"), '0 0 0'));
+ me.TD(me, 1, 0.5, btn = makeXonoticButton(_("Clear"), SKINCOLOR_CVARLIST_CONTROLS));
me.TD(me, 1, me.columns - 1.5, e = makeXonoticInputBox(0, string_null));
+ e.color = SKINCOLOR_CVARLIST_CONTROLS;
+ e.colorF = SKINCOLOR_CVARLIST_CONTROLS;
e.onChange = CvarList_Filter_Change;
e.onChangeEntity = cvarlist;
btn.onClick = InputBox_Clear_Click;
cvarlist.controlledTextbox = e; // this COULD also be the Value box, but this leads to accidentally editing stuff
me.TR(me);
me.TD(me, me.rows - me.currentRow - 7, me.columns, cvarlist);
- me.gotoRC(me, me.rows - 7, 0);
+ me.gotoRC(me, me.rows - 6, 0);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Setting:")));
me.TD(me, 1, me.columns - 1, e = makeXonoticTextLabel(0, string_null));
cvarlist.cvarNameBox = e;
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Value:")));
me.TD(me, 1, me.columns - 2, e = makeXonoticInputBox(0, string_null));
cvarlist.cvarValueBox = e;
+ e.color = SKINCOLOR_CVARLIST_CONTROLS;
+ e.colorF = SKINCOLOR_CVARLIST_CONTROLS;
e.onChange = CvarList_Value_Change;
e.onChangeEntity = cvarlist;
e.onEnter = CvarList_End_Editing;
e.onEnterEntity = cvarlist;
- me.TD(me, 1, 1, e = makeXonoticButton(string_null, SKINCOLOR_CVARLIST_REVERTBUTTON));
+ me.TD(me, 1, 1, e = makeXonoticButton(string_null, SKINCOLOR_CVARLIST_CONTROLS));
cvarlist.cvarDefaultBox = e;
e.onClick = CvarList_Revert_Click;
e.onClickEntity = cvarlist;
cvarlist.cvarDescriptionBox = e;
e.allowWrap = 1;
me.gotoRC(me, me.rows - 1, 0);
- me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0'));
+ me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), SKINCOLOR_CVARLIST_CONTROLS));
e.onClick = Dialog_Close;
e.onClickEntity = me;
}
+++ /dev/null
-#ifdef INTERFACE
-CLASS(XonoticNetworkSettingsTab) EXTENDS(XonoticTab)
- METHOD(XonoticNetworkSettingsTab, fill, void(entity))
- ATTRIB(XonoticNetworkSettingsTab, title, string, _("Network"))
- ATTRIB(XonoticNetworkSettingsTab, intendedWidth, float, 0.9)
- ATTRIB(XonoticNetworkSettingsTab, rows, float, 17)
- ATTRIB(XonoticNetworkSettingsTab, columns, float, 6.5)
-ENDCLASS(XonoticNetworkSettingsTab)
-entity makeXonoticNetworkSettingsTab();
-#endif
-
-#ifdef IMPLEMENTATION
-entity makeXonoticNetworkSettingsTab()
-{
- entity me;
- me = spawnXonoticNetworkSettingsTab();
- me.configureDialog(me);
- return me;
-}
-
-void XonoticNetworkSettingsTab_fill(entity me)
-{
- entity e;
-
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "cl_movement", _("Client-side movement prediction")));
- me.TR(me);
- me.TDempty(me, 0.2);
- me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_movement_errorcompensation", _("Movement error compensation")));
- setDependent(e, "cl_movement", 1, 1);
- me.TR(me);
- //me.TD(me, 1, 3, e = makeXonoticCheckBox(1, "cl_nolerp", _("Network update smoothing")));
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "shownetgraph", _("Show netgraph")));
- me.TR(me);
- me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Network speed:")));
- me.TD(me, 1, 2, e = makeXonoticTextSlider("_cl_rate"));
- e.addValue(e, _("56k"), "4000");
- e.addValue(e, _("ISDN"), "7000");
- e.addValue(e, _("Slow ADSL"), "15000");
- e.addValue(e, _("Fast ADSL"), "20000");
- e.addValue(e, _("Broadband"), "66666");
- e.configureXonoticTextSliderValues(e);
- me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Input packets/s:")));
- me.TD(me, 1, 2, e = makeXonoticSlider(20, 100, 1, "cl_netfps"));
- me.TR(me);
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("HTTP downloads:")));
- me.TR(me);
- me.TDempty(me, 0.2);
- me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Downloads:")));
- me.TD(me, 1, 2, e = makeXonoticSlider(1, 5, 1, "cl_curl_maxdownloads"));
- me.TR(me);
- me.TDempty(me, 0.2);
- me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Speed (kB/s):")));
- me.TD(me, 1, 2, e = makeXonoticSlider(10, 1500, 10, "cl_curl_maxspeed"));
- me.TR(me);
- me.TR(me);
- me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Client UDP port:")));
- me.TD(me, 1, 0.64, e = makeXonoticInputBox(0, "cl_port"));
-}
-#endif
--- /dev/null
+#ifdef INTERFACE
+CLASS(XonoticUserSettingsTab) EXTENDS(XonoticTab)
+ METHOD(XonoticUserSettingsTab, fill, void(entity))
+ ATTRIB(XonoticUserSettingsTab, title, string, _("User"))
+ ATTRIB(XonoticUserSettingsTab, intendedWidth, float, 0.9)
+ ATTRIB(XonoticUserSettingsTab, rows, float, 17)
+ ATTRIB(XonoticUserSettingsTab, columns, float, 5)
+ENDCLASS(XonoticUserSettingsTab)
+entity makeXonoticUserSettingsTab();
+#endif
+
+#ifdef IMPLEMENTATION
+entity makeXonoticUserSettingsTab()
+{
+ entity me;
+ me = spawnXonoticUserSettingsTab();
+ me.configureDialog(me);
+ return me;
+}
+
+void XonoticUserSettingsTab_fill(entity me)
+{
+ entity e;
+ entity sk;
+
+ me.TR(me);
+ me.TD(me, 1, 2, e = makeXonoticTextLabel(0, _("Menu skins:")));
+ me.TR(me);
+ me.TD(me, me.rows - 2, 2, sk = makeXonoticSkinList());
+ me.gotoRC(me, me.rows - 1, 0);
+ me.TD(me, 1, 2, e = makeXonoticButton(_("Set skin"), '0 0 0'));
+ e.onClick = SetSkin_Click;
+ e.onClickEntity = sk;
+
+ /* AFTER 0.6 RELEASE TODO: Add a listbox which has fonts too, this way user can select the font they want.
+ me.gotoRC(me, 0, 2.2); me.setFirstColumn(me, me.currentColumn);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Text language:")));
+ me.TR(me);
+ me.TD(me, 6, 1, sk = makeXonoticLanguageList());
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticButton(_("Set language"), '0 0 0'));
+ e.onClick = SetLanguage_Click;
+ e.onClickEntity = sk;
+
+ me.gotoRC(me, 0, 3.3); me.setFirstColumn(me, me.currentColumn);
+ me.TD(me, 1, 1.5, e = makeXonoticTextLabel(0, _("Font:")));
+ me.TR(me);
+ me.TD(me, 2, 1.5, sk = makeXonoticLanguageList());
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 1.5, e = makeXonoticButton(_("Set font"), '0 0 0'));
+ e.onClick = SetLanguage_Click;
+ e.onClickEntity = sk;*/
+
+ me.gotoRC(me, 0, 3.1); me.setFirstColumn(me, me.currentColumn);
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Text language:")));
+ me.TR(me);
+ me.TD(me, 6, 1, sk = makeXonoticLanguageList());
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 1, e = makeXonoticButton(_("Set language"), '0 0 0'));
+ e.onClick = SetLanguage_Click;
+ e.onClickEntity = sk;
+
+ me.gotoRC(me, 9, 2.2); me.setFirstColumn(me, me.currentColumn);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_gentle", _("Disable gore effects and harsh language")));
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_allow_uidtracking", _("Allow player statistics to track your client")));
+ me.TR(me);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "cl_allow_uid2name", _("Allow player statistics to use your nickname")));
+ setDependent(e, "cl_allow_uidtracking", 1, 1);
+
+ me.gotoRC(me, me.rows - 3, 2.6);
+ me.TD(me, 1, 2, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "sendcvar cl_gentle; sendcvar cl_allow_uidtracking; sendcvar cl_allow_uid2name;", COMMANDBUTTON_APPLY));
+
+}
+#endif
ATTRIB(XonoticVideoSettingsTab, title, string, _("Video"))
ATTRIB(XonoticVideoSettingsTab, intendedWidth, float, 0.9)
ATTRIB(XonoticVideoSettingsTab, rows, float, 17)
- ATTRIB(XonoticVideoSettingsTab, columns, float, 6.5)
+ ATTRIB(XonoticVideoSettingsTab, columns, float, 6.2) // added extra .2 for center space
ATTRIB(XonoticVideoSettingsTab, name, string, "videosettings")
ENDCLASS(XonoticVideoSettingsTab)
entity makeXonoticVideoSettingsTab();
e.configureXonoticTextSliderValues(e);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Color depth:")));
- me.TD(me, 1, 2, e = makeXonoticSlider(16, 32, 16, "vid_bitsperpixel"));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("vid_bitsperpixel"));
+ e.addValue(e, _("16bit"), "16");
+ e.addValue(e, _("32bit"), "32");
+ e.configureXonoticTextSliderValues(e);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "vid_fullscreen", _("Full screen")));
me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "vid_vsync", _("Vertical Synchronization")));
- me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "vid_gl20", _("Use OpenGL 2.0 shaders (GLSL)")));
- me.TR(me);
- me.TDempty(me, 0.2);
- me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "v_glslgamma", _("Use GLSL to handle color control")));
- setDependent(e, "vid_gl20", 1, 1);
+
me.TR(me);
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Vertex Buffer Objects (VBOs)")));
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Anisotropy:")));
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("gl_texture_anisotropy"));
+ e.addValue(e, ZCTX(_("ANISO^Disabled")), "1");
+ e.addValue(e, _("2x"), "2");
+ e.addValue(e, _("4x"), "4");
+ e.addValue(e, _("8x"), "8");
+ e.addValue(e, _("16x"), "16");
+ e.configureXonoticTextSliderValues(e);
me.TR(me);
- me.TDempty(me, 0.2);
- me.TD(me, 1, 0.9, e = makeXonoticRadioButton(1, "gl_vbo", "0", ZCTX(_("VBO^Off"))));
- me.TD(me, 1, 1.9, e = makeXonoticRadioButton(1, "gl_vbo", "3", _("Vertices, some Tris (compatible)")));
+ me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Antialiasing:")));
+ setDependent(e, "r_viewfbo", 0, 0);
+ me.TD(me, 1, 2, e = makeXonoticTextSlider("vid_samples"));
+ e.addValue(e, ZCTX(_("AA^Disabled")), "1");
+ e.addValue(e, _("2x"), "2");
+ e.addValue(e, _("4x"), "4");
+ e.configureXonoticTextSliderValues(e);
+ setDependent(e, "r_viewfbo", 0, 0);
me.TR(me);
- me.TDempty(me, 0.2);
- me.TD(me, 1, 0.9, e = makeXonoticRadioButton(1, "gl_vbo", "2", _("Vertices")));
- me.TD(me, 1, 1.9, e = makeXonoticRadioButton(1, "gl_vbo", "1", _("Vertices and Triangles")));
+ me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(2, 0, "r_viewfbo", _("High-quality frame buffer")));
+ setDependent(e, "vid_samples", 1, 1);
+
me.TR(me);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Depth first:")));
e.addValue(e, ZCTX(_("DF^All")), "2");
e.configureXonoticTextSliderValues(e);
me.TR(me);
- me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "gl_finish", _("Wait for GPU to finish each frame")));
+ me.TD(me, 1, 3, e = makeXonoticTextLabel(0, _("Vertex Buffer Objects (VBOs)")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.9, e = makeXonoticRadioButton(1, "gl_vbo", "0", ZCTX(_("VBO^Off"))));
+ me.TD(me, 1, 1.9, e = makeXonoticRadioButton(1, "gl_vbo", "3", _("Vertices, some Tris (compatible)")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 0.9, e = makeXonoticRadioButton(1, "gl_vbo", "2", _("Vertices")));
+ me.TD(me, 1, 1.9, e = makeXonoticRadioButton(1, "gl_vbo", "1", _("Vertices and Triangles")));
- me.gotoRC(me, 0, 3.5); me.setFirstColumn(me, me.currentColumn);
+ me.gotoRC(me, 0, 3.2); me.setFirstColumn(me, me.currentColumn);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Brightness:")));
me.TD(me, 1, 2, e = makeXonoticSlider(0.0, 0.5, 0.02, "v_brightness"));
me.TR(me);
me.TD(me, 1, 2, e = makeXonoticSlider(1.0, 3.0, 0.05, "v_contrast"));
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Gamma:")));
- setDependentAND(e, "r_glsl", 1, 1, "v_glslgamma", 1, 1);
+ setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
me.TD(me, 1, 2, e = makeXonoticSlider(0.5, 2.0, 0.05, "v_gamma"));
- setDependentAND(e, "r_glsl", 1, 1, "v_glslgamma", 1, 1);
+ setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Contrast boost:")));
- setDependentAND(e, "r_glsl", 1, 1, "v_glslgamma", 1, 1);
+ setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
me.TD(me, 1, 2, e = makeXonoticSlider(1.0, 5.0, 0.1, "v_contrastboost"));
- setDependentAND(e, "r_glsl", 1, 1, "v_glslgamma", 1, 1);
+ setDependentAND(e, "vid_gl20", 1, 1, "v_glslgamma", 1, 1);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Saturation:")));
- setDependent(e, "r_glsl", 1, 1);
+ setDependent(e, "vid_gl20", 1, 1);
me.TD(me, 1, 2, e = makeXonoticSlider(0.5, 2.0, 0.05, "r_glsl_saturation"));
- setDependent(e, "r_glsl", 1, 1);
+ setDependent(e, "vid_gl20", 1, 1);
me.TR(me);
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, ZCTX(_("LIT^Ambient:"))));
me.TR(me);
me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Intensity:")));
me.TD(me, 1, 2, e = makeXonoticSlider(0.5, 2.0, 0.05, "r_hdr_scenebrightness"));
+ me.TR(me);
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "gl_finish", _("Wait for GPU to finish each frame")));
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "vid_gl20", _("Use OpenGL 2.0 shaders (GLSL)")));
+ me.TR(me);
+ me.TDempty(me, 0.2);
+ me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "v_glslgamma", _("Use GLSL to handle color control")));
+ setDependent(e, "vid_gl20", 1, 1);
+ if(cvar("developer"))
+ {
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "v_psycho", _("Psycho coloring (easter egg)")));
+ setDependent(e, "vid_gl20", 1, 1);
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "r_trippy", _("Trippy vertices (easter egg)")));
+ setDependent(e, "vid_gl20", 1, 1);
+ me.TR(me);
+ me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "v_flipped", _("Flip view horizontally")));
+ }
me.gotoRC(me, me.rows - 1, 0);
me.TD(me, 1, me.columns, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "menu_cmd sync; vid_restart; menu_restart; togglemenu; defer 0.1 \"menu_cmd videosettings\"", COMMANDBUTTON_APPLY));
me.TD(me, 1, me.columns - 2, lblTitle = makeXonoticTextLabel(0.5, _("???")));
me.TD(me, 1, 1, btnNext = makeXonoticButton(">>", '0 0 0'));
me.TR(me);
- me.TD(me, me.rows - 5, me.columns, me.campaignBox = makeXonoticCampaignList());
+ me.TD(me, me.rows - 6, me.columns, me.campaignBox = makeXonoticCampaignList());
btnPrev.onClick = MultiCampaign_Prev;
btnPrev.onClickEntity = me.campaignBox;
btnNext.onClick = MultiCampaign_Next;
me.campaignBox.labelTitle = lblTitle;
me.campaignBox.campaignGo(me.campaignBox, 0);
- me.gotoRC(me, me.rows - 1, 0);
+ me.gotoRC(me, me.rows - 2, 0);
+ me.TD(me, 1, 2, e = makeXonoticTextLabel(0.5, _("Campaign Difficulty:")));
+ me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "-2", ZCTX(_("CSKL^Easy"))));
+ me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "-1", ZCTX(_("CSKL^Medium"))));
+ me.TD(me, 1, 1, e = makeXonoticRadioButton(1, "g_campaign_skill", "0", ZCTX(_("CSKL^Hard"))));
+ me.TR(me);
me.TD(me, 1, me.columns, e = makeXonoticButton(_("Start Singleplayer!"), '0 0 0'));
e.onClick = CampaignList_LoadMap;
e.onClickEntity = me.campaignBox;
#ifdef INTERFACE
CLASS(XonoticGametypeList) EXTENDS(XonoticListBox)
METHOD(XonoticGametypeList, configureXonoticGametypeList, void(entity))
- ATTRIB(XonoticGametypeList, rowsPerItem, float, 1)
+ ATTRIB(XonoticGametypeList, rowsPerItem, float, 2)
METHOD(XonoticGametypeList, drawListBoxItem, void(entity, float, vector, float))
METHOD(XonoticGametypeList, resizeNotify, void(entity, vector, vector, vector, vector))
METHOD(XonoticGametypeList, setSelected, void(entity, float))
METHOD(XonoticGametypeList, saveCvars, void(entity))
ATTRIB(XonoticGametypeList, realFontSize, vector, '0 0 0')
- ATTRIB(XonoticGametypeList, realUpperMargin, float, 0)
+ ATTRIB(XonoticGametypeList, realUpperMargin1, float, 0)
+ ATTRIB(XonoticGametypeList, realUpperMargin2, float, 0)
+ ATTRIB(XonoticGametypeList, columnIconOrigin, float, 0)
+ ATTRIB(XonoticGametypeList, columnIconSize, float, 0)
ATTRIB(XonoticGametypeList, columnNameOrigin, float, 0)
ATTRIB(XonoticGametypeList, columnNameSize, float, 0)
ENDCLASS(XonoticGametypeList)
}
void XonoticGametypeList_configureXonoticGametypeList(entity me)
{
- me.loadCvars(me);
+ float i;
me.configureXonoticListBox(me);
me.nItems = GameType_GetCount();
+
+ // we want the pics mipmapped
+ for(i = 0; i < GameType_GetCount(); ++i)
+ draw_PreloadPictureWithFlags(GameType_GetIcon(i), PRECACHE_PIC_MIPMAP);
+
+ me.loadCvars(me);
}
void XonoticGametypeList_setSelected(entity me, float i)
{
void XonoticGametypeList_drawListBoxItem(entity me, float i, vector absSize, float isSelected)
{
string s;
+
if(isSelected)
draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
- s = MapInfo_Type_ToText(GameType_GetID(i));
- draw_Text(me.realUpperMargin * eY + (me.columnNameOrigin + (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize)) * 0.5) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+
+ draw_Picture(me.columnIconOrigin * eX, GameType_GetIcon(i), me.columnIconSize * eX + eY, '1 1 1', SKINALPHA_LISTBOX_SELECTED);
+ s = GameType_GetName(i);
+ draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 0.5 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
+ //s = GameType_GetTeams(i);
+ //draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 1.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
}
void XonoticGametypeList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
{
+ me.itemAbsSize = '0 0 0';
SUPER(XonoticServerList).resizeNotify(me, relOrigin, relSize, absOrigin, absSize);
- me.realFontSize_y = me.fontSize / (absSize_y * me.itemHeight);
- me.realFontSize_x = me.fontSize / (absSize_x * (1 - me.controlWidth));
- me.realUpperMargin = 0.5 * (1 - me.realFontSize_y);
- me.columnNameOrigin = 0;
- me.columnNameSize = 1;
+
+ me.realFontSize_y = me.fontSize / (me.itemAbsSize_y = (absSize_y * me.itemHeight));
+ me.realFontSize_x = me.fontSize / (me.itemAbsSize_x = (absSize_x * (1 - me.controlWidth)));
+ me.realUpperMargin1 = 0.5 * (1 - me.realFontSize_y);
+ me.realUpperMargin2 = me.realUpperMargin1 + me.realFontSize_y;
+ me.columnIconOrigin = 0;
+ me.columnIconSize = me.itemAbsSize_y / me.itemAbsSize_x;
+ me.columnNameOrigin = me.columnIconOrigin + me.columnIconSize;
+ me.columnNameSize = 1 - me.columnIconSize - 2 * me.realFontSize_x;
}
#endif
ATTRIB(MainWindow, mapInfoDialog, entity, NULL)
ATTRIB(MainWindow, userbindEditDialog, entity, NULL)
ATTRIB(MainWindow, winnerDialog, entity, NULL)
- ATTRIB(MainWindow, waypointDialog, entity, NULL)
ATTRIB(MainWindow, serverInfoDialog, entity, NULL)
ATTRIB(MainWindow, cvarsDialog, entity, NULL)
+ ATTRIB(MainWindow, viewDialog, entity, NULL)
+ ATTRIB(MainWindow, modelDialog, entity, NULL)
+ ATTRIB(MainWindow, crosshairDialog, entity, NULL)
+ ATTRIB(MainWindow, hudDialog, entity, NULL)
+ ATTRIB(MainWindow, hudconfirmDialog, entity, NULL)
ATTRIB(MainWindow, mainNexposee, entity, NULL)
ATTRIB(MainWindow, fadedAlpha, float, SKINALPHA_BEHIND)
ATTRIB(MainWindow, dialogToShow, entity, NULL)
{
entity n, i;
+ // dialog run upon startup
me.firstRunDialog = i = spawnXonoticFirstRunDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
- i = spawnXonoticTeamSelectDialog();
- i.configureDialog(i);
- me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
- i = spawnXonoticSandboxToolsDialog();
- i.configureDialog(i);
- me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
+ // hud_configure dialogs
i = spawnXonoticHUDExitDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
i = spawnXonoticHUDCenterprintDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
+
+
+ // dialogs used by settings
+ me.userbindEditDialog = i = spawnXonoticUserbindEditDialog();
+ i.configureDialog(i);
+ me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
+ me.cvarsDialog = i = spawnXonoticCvarsDialog();
+ i.configureDialog(i);
+ me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
+
+ // dialog used by singleplayer
+ me.winnerDialog = i = spawnXonoticWinnerDialog();
+ i.configureDialog(i);
+ me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
+
+ // dialog used by multiplayer/join
+ me.serverInfoDialog = i = spawnXonoticServerInfoDialog();
+ i.configureDialog(i);
+ me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
+
+ // dialogs used by multiplayer/create
+ me.mapInfoDialog = i = spawnXonoticMapInfoDialog();
+ i.configureDialog(i);
+ me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
me.advancedDialog = i = spawnXonoticAdvancedDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
me.mutatorsDialog = i = spawnXonoticMutatorsDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
- me.mapInfoDialog = i = spawnXonoticMapInfoDialog();
+ // dialogs used by multiplayer/player setup
+ me.crosshairDialog = i = spawnXonoticCrosshairDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
- me.userbindEditDialog = i = spawnXonoticUserbindEditDialog();
+
+ me.hudDialog = i = spawnXonoticHUDDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
- me.winnerDialog = i = spawnXonoticWinnerDialog();
+ me.hudconfirmDialog = i = spawnXonoticHUDConfirmDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
- me.weaponsDialog = i = spawnXonoticWeaponsDialog();
+
+ me.modelDialog = i = spawnXonoticModelDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
-
- me.waypointDialog = i = spawnXonoticWaypointDialog();
+
+ me.viewDialog = i = spawnXonoticViewDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
- me.serverInfoDialog = i = spawnXonoticServerInfoDialog();
+ me.weaponsDialog = i = spawnXonoticWeaponsDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
- me.cvarsDialog = i = spawnXonoticCvarsDialog();
+
+ // mutator dialogs
+ i = spawnXonoticSandboxToolsDialog();
i.configureDialog(i);
me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
+ // miscellaneous dialogs
+ i = spawnXonoticTeamSelectDialog();
+ i.configureDialog(i);
+ me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
+
+
+ // main dialogs/windows
me.mainNexposee = n = spawnXonoticNexposee();
/*
if(checkextension("DP_GECKO_SUPPORT"))
n.addItemCentered(n, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
n.setNexposee(n, i, SKINPOSITION_DIALOG_QUIT, SKINALPHAS_MAINMENU_x, SKINALPHAS_MAINMENU_y);
n.pullNexposee(n, i, eY * (SKINHEIGHT_TITLE * SKINFONTSIZE_TITLE / conheight));
+
me.addItem(me, n, '0 0 0', '1 1 0', SKINALPHAS_MAINMENU_z);
me.moveItemAfter(me, n, NULL);
if(included)
draw_Picture(me.checkMarkOrigin, "checkmark", me.checkMarkSize, '1 1 1', 1);
- s = draw_TextShortenToWidth(MapInfo_Map_titlestring, me.columnNameSize, 0, me.realFontSize);
+ s = draw_TextShortenToWidth(strdecolorize(MapInfo_Map_titlestring), me.columnNameSize, 0, me.realFontSize);
draw_Text(me.realUpperMargin1 * eY + (me.columnNameOrigin + 0.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, SKINCOLOR_MAPLIST_TITLE, theAlpha, 0);
- s = draw_TextShortenToWidth(MapInfo_Map_author, me.columnNameSize, 0, me.realFontSize);
+ s = draw_TextShortenToWidth(strdecolorize(MapInfo_Map_author), me.columnNameSize, 0, me.realFontSize);
draw_Text(me.realUpperMargin2 * eY + (me.columnNameOrigin + 1.00 * (me.columnNameSize - draw_TextWidth(s, 0, me.realFontSize))) * eX, s, me.realFontSize, SKINCOLOR_MAPLIST_AUTHOR, theAlpha, 0);
MapInfo_ClearTemps();
me.realUpperMargin = 0.5 * (1 - me.realFontSize_y);
// this list does 1 char left and right margin
- me.columnScoreSize = 3 * me.realFontSize_x;
+ me.columnScoreSize = 5 * me.realFontSize_x;
me.columnNameSize = 1 - 3 * me.realFontSize_x - me.columnScoreSize;
me.columnNameOrigin = me.realFontSize_x;
if(substring(score, strlen(score) - 10, 10) == ":spectator")
{
- score = "-666";
+ score = _("spectator");
}
else
{
score = substring(score, 0, t);
if((t = strstrofs(score, ",", 0)) >= 0)
score = substring(score, 0, t);
+
+ if(stof(score) == -666)
+ score = _("spectator");
}
s = draw_TextShortenToWidth(s, me.columnNameSize, 1, me.realFontSize);
{
float i;
i = 0;
-#define GAMETYPE(id) if(i++ == cnt) return id;
+
+ #define GAMETYPE(id) if(i++ == cnt) return id;
GAMETYPES
-#undef GAMETYPE
+ #undef GAMETYPE
+
return 0;
}
+
float GameType_GetCount()
{
float i;
i = 0;
-#define GAMETYPE(id) ++i;
+
+ #define GAMETYPE(id) ++i;
GAMETYPES
-#undef GAMETYPE
+ #undef GAMETYPE
+
return i;
}
+string GameType_GetName(float cnt)
+{
+ float i = GameType_GetID(cnt);
+
+ if(i)
+ return MapInfo_Type_ToText(i);
+
+ return "";
+}
+
+string GameType_GetIcon(float cnt)
+{
+ float i = GameType_GetID(cnt);
+
+ if(i)
+ return strcat("gametype_", MapInfo_Type_ToString(i));
+
+ return "";
+}
+
+/*string GameType_GetTeams(float cnt) // poor implementation, later something else could be done that's better?
+{
+ float i = GameType_GetID(cnt);
+ string s = _MapInfo_GetDefaultEx(i);
+
+ if(i)
+ {
+ if(strstrofs(s, "teams", 0) >= 0)
+ return _("teamplay");
+ else
+ return _("free for all");
+ }
+
+ return _("tuba for all");
+}*/
+
void dialog_hudpanel_common_notoggle(entity me, string panelname)
{
float i;
// game type list box stuff (does not NEED to contain all game types, other
// types stay available via console)
float GameType_GetID(float cnt);
+string GameType_GetName(float cnt);
+string GameType_GetIcon(float cnt);
+//string GameType_GetTeams(float cnt);
float GameType_GetCount();
void dialog_hudpanel_common_notoggle(entity me, string panelname);
ATTRIB(XonoticWeaponsList, realFontSize, vector, '0 0 0')
ATTRIB(XonoticWeaponsList, realUpperMargin, float, 0)
METHOD(XonoticWeaponsList, mouseDrag, float(entity, vector))
- ATTRIB(XonoticWeaponsList, scrollbarWidth, float, 0)
ENDCLASS(XonoticWeaponsList)
entity makeXonoticWeaponsList();
void WeaponsList_MoveUp_Click(entity btn, entity me);
}
float XonoticWeaponsList_mouseDrag(entity me, vector pos)
{
- float f, i;
+ float f, i, scrollbar;
i = me.selectedItem;
f = SUPER(XonoticWeaponsList).mouseDrag(me, pos);
- if(me.selectedItem != i)
- cvar_set("cl_weaponpriority", swapInPriorityList(cvar_string("cl_weaponpriority"), me.selectedItem, i));
+
+ if(me.pressed != 1) // don't change priority if the person is just scrolling
+ {
+ if(me.selectedItem != i)
+ cvar_set("cl_weaponpriority", swapInPriorityList(cvar_string("cl_weaponpriority"), me.selectedItem, i));
+ }
+
return f;
}
string XonoticWeaponsList_toString(entity me)
float autocvar_g_balance_falldamage_factor;
float autocvar_g_balance_falldamage_maxdamage;
float autocvar_g_balance_falldamage_minspeed;
-float autocvar_g_balance_fireball_primary_ammo;
float autocvar_g_balance_fireball_primary_animtime;
float autocvar_g_balance_fireball_primary_bfgdamage;
float autocvar_g_balance_fireball_primary_bfgforce;
float autocvar_g_balance_fireball_primary_refire;
float autocvar_g_balance_fireball_primary_refire2;
float autocvar_g_balance_fireball_primary_speed;
-float autocvar_g_balance_fireball_secondary_ammo;
float autocvar_g_balance_fireball_secondary_animtime;
float autocvar_g_balance_fireball_secondary_damage;
float autocvar_g_balance_fireball_secondary_damageforcescale;
float autocvar_g_balance_fireball_secondary_refire;
float autocvar_g_balance_fireball_secondary_speed;
float autocvar_g_balance_fireball_secondary_speed_up;
-float autocvar_g_balance_fireball_reload_ammo;
-float autocvar_g_balance_fireball_reload_time;
float autocvar_g_balance_firetransfer_damage;
float autocvar_g_balance_firetransfer_time;
float autocvar_g_balance_fuel_limit;
float autocvar_g_balance_porto_primary_lifetime;
float autocvar_g_balance_porto_primary_refire;
float autocvar_g_balance_porto_primary_speed;
+float autocvar_g_balance_porto_secondary;
+float autocvar_g_balance_porto_secondary_animtime;
+float autocvar_g_balance_porto_secondary_lifetime;
+float autocvar_g_balance_porto_secondary_refire;
+float autocvar_g_balance_porto_secondary_speed;
float autocvar_g_balance_powerup_invincible_takedamage;
float autocvar_g_balance_powerup_invincible_time;
float autocvar_g_balance_powerup_strength_damage;
float autocvar_g_sandbox_object_scale_max;
float autocvar_g_sandbox_object_material_velocity_min;
float autocvar_g_sandbox_object_material_velocity_factor;
+float autocvar_g_max_info_autoscreenshot;
if(f)
{
self.colormod = '0 8 8';
- print("Bot wants to fire, inhibited by weaponentity state\n");
+ print("Bot ", self.netname, " using ", self.weaponname, " wants to fire, inhibited by weaponentity state\n");
}
}
else if(ATTACK_FINISHED(self) > time)
if(f)
{
self.colormod = '8 0 8';
- print("Bot wants to fire, inhibited by ATTACK_FINISHED\n");
+ print("Bot ", self.netname, " using ", self.weaponname, " wants to fire, inhibited by ATTACK_FINISHED (", ftos(ATTACK_FINISHED(self) - time), " seconds left)\n");
}
}
else if(self.tuba_note)
if(f)
{
self.colormod = '8 0 0';
- print("Bot wants to fire, bot still has an active tuba note\n");
+ print("Bot ", self.netname, " using ", self.weaponname, " wants to fire, bot still has an active tuba note\n");
}
}
else
if(!f)
{
self.colormod = '8 8 0';
- print("Bot thinks it has fired, but apparently did not\n");
+ print("Bot ", self.netname, " using ", self.weaponname, " thinks it has fired, but apparently did not; ATTACK_FINISHED says ", ftos(ATTACK_FINISHED(self) - time), " seconds left\n");
}
}
if((++attempting, !CheatsAllowed(i,argc,fr))) \
break
+float num_autoscreenshot;
+void info_autoscreenshot_findtarget()
+{
+ entity e;
+ e = find(world, targetname, self.target);
+ if(!e)
+ {
+ objerror("Missing target. FAIL!");
+ return;
+ }
+ vector a = vectoangles(e.origin - self.origin);
+ a_x = -a_x; // don't ask
+ self.angles_x = a_x;
+ self.angles_y = a_y;
+ // we leave Rick Roll alone
+}
void spawnfunc_info_autoscreenshot()
{
- // empty spawnfunc just so this entity can exist
+ if(++num_autoscreenshot > autocvar_g_max_info_autoscreenshot)
+ {
+ objerror("Too many info_autoscreenshot entitites. FAIL!");
+ return;
+ }
+ if(self.target != "")
+ InitializeEntity(self, info_autoscreenshot_findtarget, INITPRIO_FINDTARGET);
+ // this one just has to exist
}
float CheatImpulse(float i)
WriteByte(MSG_ENTITY, autocvar_g_balance_minelayer_limit); // minelayer max mines
WriteByte(MSG_ENTITY, autocvar_g_balance_hagar_secondary_load_max); // hagar max loadable rockets
WriteCoord(MSG_ENTITY, autocvar_g_trueaim_minrange);
+ WriteByte(MSG_ENTITY, autocvar_g_balance_porto_secondary);
return TRUE;
}
}
if (self.items & IT_SUPERWEAPON)
{
- self.effects = self.effects | EF_RED;
+ //if(W_WeaponBit(self.weapon) & WEPBIT_SUPERWEAPONS)
+ // self.effects = self.effects | EF_RED;
if (!(self.weapons & WEPBIT_SUPERWEAPONS))
{
self.superweapons_finished = 0;
}
}
}
- else
+ else if(self.weapons & WEPBIT_SUPERWEAPONS)
{
- if (time < self.superweapons_finished)
+ if (time < self.superweapons_finished || (self.items & IT_UNLIMITED_SUPERWEAPONS))
{
self.items = self.items | IT_SUPERWEAPON;
sprint(self, "^3You now have a superweapon\n");
}
else
+ {
+ self.superweapons_finished = 0;
self.weapons &~= WEPBIT_SUPERWEAPONS; // just in case
+ }
+ }
+ else
+ {
+ self.superweapons_finished = 0;
}
}
Drag_MoveDrag(oldself, self);
+ self.owner = oldself;
+
if(self.colormap <= maxclients && self.colormap > 0)
self.colormap = 1024 + oldself.clientcolors;
Violence_GibSplash(self, 1, 1, attacker);
self.alpha = -1;
self.solid = SOLID_NOT; // restore later
+ self.takedamage = DAMAGE_NO; // restore later
}
}
return 0;
if (g_cts)
return 0;
- if (g_nexball && w == WEP_GRENADE_LAUNCHER)
+ if (g_nexball && w == WEP_PORTO)
return 0;
wb = W_WeaponBit(w);
WriteByte(MSG_ENTITY, bound(0, self.dmg_radius, 255));
WriteByte(MSG_ENTITY, bound(1, self.dmg_edge, 255));
WriteShort(MSG_ENTITY, self.oldorigin_x);
+ WriteByte(MSG_ENTITY, self.species);
return TRUE;
}
-void Damage_DamageInfo(vector org, float coredamage, float edgedamage, float rad, vector force, float deathtype, entity dmgowner)
+void Damage_DamageInfo(vector org, float coredamage, float edgedamage, float rad, vector force, float deathtype, float bloodtype, entity dmgowner)
{
// TODO maybe call this from non-edgedamage too?
// TODO maybe make the client do the particle effects for the weapons and the impact sounds using this info?
e.dmg_radius = rad;
e.dmg_force = vlen(force);
e.velocity = force;
-
e.oldorigin_x = compressShortVector(e.velocity);
+ e.species = bloodtype;
Net_LinkEntity(e, FALSE, 0.2, Damage_DamageInfo_SendEntity);
}
else
force = normalize(force);
if(forceintensity >= 0)
- Damage_DamageInfo(blastorigin, coredamage, edgedamage, rad, forceintensity * force, deathtype, attacker);
+ Damage_DamageInfo(blastorigin, coredamage, edgedamage, rad, forceintensity * force, deathtype, 0, attacker);
else
- Damage_DamageInfo(blastorigin, coredamage, edgedamage, -rad, (-forceintensity) * force, deathtype, attacker);
+ Damage_DamageInfo(blastorigin, coredamage, edgedamage, -rad, (-forceintensity) * force, deathtype, 0, attacker);
}
stat_damagedone = 0;
if(!sound_allowed(MSG_BROADCAST, gibowner) || !sound_allowed(MSG_BROADCAST, attacker))
e.state |= 0x40; // "silence" bit
e.state |= 8 * self.species; // gib type, ranges from 0 to 15
+
+ // if this is a copied dead body, send the num of its player instead
+ // TODO: remove this field, read from model txt files
+ if(self.classname == "body")
+ e.team = num_for_edict(self.owner);
+ else
+ e.team = num_for_edict(self);
+
setorigin(e, org);
e.velocity = dir;
if(!cvar("g_use_ammunition"))
start_items |= IT_UNLIMITED_AMMO;
+ if(cvar("g_nexball"))
+ start_items |= IT_UNLIMITED_SUPERWEAPONS; // FIXME BAD BAD BAD BAD HACK, NEXBALL SHOULDN'T ABUSE PORTO'S WEAPON SLOT
+
if(g_minstagib)
{
start_ammo_cells = cvar("g_minstagib_ammo_start");
print_to(self, strcat("^2SANDBOX - INFO: ^7Object is owned by \"^7", e.netname, "^7\", created \"^3", e.message, "^7\", last edited \"^3", e.message2, "^7\""));
return TRUE;
case "mesh":
- for(i = 1; gettaginfo(e, i); i++)
+ FOR_EACH_TAG(e)
s = strcat(s, "^7\"^5", gettaginfo_name, "^7\", ");
print_to(self, strcat("^2SANDBOX - INFO: ^7Object mesh is \"^3", e.model, "^7\" at animation frame ^3", ftos(e.frame), " ^7containing the following tags: ", s));
return TRUE;
portal = Portal_Spawn(own, org, ang);
if(!portal)
- {
- // if(!own.portal_out || own.portal_out.portal_id == portal_id_val)
- Portal_ClearAll_PortalsOnly(own);
return 0;
- }
portal.portal_id = portal_id_val;
Portal_SetInPortal(own, portal);
portal = Portal_Spawn(own, org, ang);
if(!portal)
- {
- // if(!own.portal_in || own.portal_in.portal_id == portal_id_val)
- Portal_ClearAll_PortalsOnly(own);
return 0;
- }
portal.portal_id = portal_id_val;
Portal_SetOutPortal(own, portal);
void Portal_ClearWithID(entity own, float id);
vector Portal_ApplyTransformToPlayerAngle(vector transform, vector vangle);
+void Portal_ClearAll_PortalsOnly(entity own);
pickedup |= Item_GiveAmmoTo(item, player, armorvalue, item.max_armorvalue, ITEM_MODE_ARMOR);
if (item.flags & FL_WEAPON)
- if ((it = item.weapons - (item.weapons & player.weapons)) || (item.spawnshieldtime && g_pickup_weapons_anyway))
+ if ((it = item.weapons - (item.weapons & player.weapons)) || (item.spawnshieldtime && self.pickup_anyway))
{
pickedup = TRUE;
for(i = WEP_FIRST; i <= WEP_LAST; ++i)
if (!pickedup)
return 0;
- 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));
self.strength_finished += time;
self.invincible_finished += time;
self.superweapons_finished += time;
- return;
}
+ return;
}
other.last_pickup = time;
pointparticles(particleeffectnum("item_pickup"), self.origin, '0 0 0', 1);
+ sound (other, CH_TRIGGER, self.item_pickupsound, VOL_BASE, ATTN_NORM);
if (self.classname == "droppedweapon")
remove (self);
string s;
entity oldself;
float i, j;
+ float f;
if(self.classname != "droppedweapon" && self.classname != "replacedweapon")
{
}
}
+ // pickup anyway
+ if(g_pickup_weapons_anyway)
+ self.pickup_anyway = TRUE;
+
+ f = FL_WEAPON;
+
// no weapon-stay on superweapons
- if(self.weapons & WEPBIT_SUPERWEAPONS)
- self.flags |= FL_NO_WEAPON_STAY;
+ if(e.weapons & WEPBIT_SUPERWEAPONS)
+ f |= FL_NO_WEAPON_STAY;
// weapon stay isn't supported for teamed weapons
if(self.team)
- self.flags |= FL_NO_WEAPON_STAY;
+ f |= FL_NO_WEAPON_STAY;
- StartItem(e.model, "weapons/weaponpickup.wav", self.respawntime, self.respawntimejitter, e.message, 0, e.weapons, FL_WEAPON, weapon_pickupevalfunc, e.bot_pickupbasevalue);
+ StartItem(e.model, "weapons/weaponpickup.wav", self.respawntime, self.respawntimejitter, e.message, 0, e.weapons, f, weapon_pickupevalfunc, e.bot_pickupbasevalue);
if (self.modelindex) // don't precache if self was removed
weapon_action(e.weapon, WR_PRECACHE);
}
other.lastteleporttime = time;
if (!other.animstate_override)
+ if (other.deadflag == DEAD_NO)
{
if (other.crouch)
setanim(other, other.anim_duckjump, FALSE, TRUE, TRUE);
entity bomblet;
float i;
- Damage_DamageInfo(self.origin, 0, 0, 0, '0 0 0', DEATH_RAPTOR_BOMB_SPLIT, self);
+ Damage_DamageInfo(self.origin, 0, 0, 0, '0 0 0', DEATH_RAPTOR_BOMB_SPLIT, 0, self);
for(i = 0; i < autocvar_g_vehicle_raptor_bomblets; ++i)
{
continue;
}
+ if(trace_ent.solid == SOLID_BSP || trace_ent.solid == SOLID_SLIDEBOX)
+ Damage_DamageInfo(trace_endpos, bdamage, 0, 0, force, deathtype, trace_ent.species, self);
+
// if it is world we can't hurt it so stop now
if (trace_ent == world || trace_fraction == 1)
break;
f = pow(bound(0, vlen(self.velocity) / vlen(self.oldvelocity), 1), 2); // energy multiplier
q = 1 + self.dmg_edge / self.dmg;
- if(other.solid == SOLID_BSP)
- Damage_DamageInfo(self.origin, self.dmg * f, 0, 0, max(1, self.dmg_force) * normalize(self.velocity) * f, self.projectiledeathtype, self);
+ if(other.solid == SOLID_BSP || other.solid == SOLID_SLIDEBOX)
+ Damage_DamageInfo(self.origin, self.dmg * f, 0, 0, max(1, self.dmg_force) * normalize(self.velocity) * f, self.projectiledeathtype, other.species, self);
if(other && other != self.enemy)
{
{
float f;
f = pow(bound(0, vlen(self.velocity) / vlen(self.oldvelocity), 1), 2); // energy multiplier
- Damage_DamageInfo(self.origin, 0, 0, 0, max(1, self.dmg_force) * normalize(self.velocity) * -f, self.projectiledeathtype, self);
+ Damage_DamageInfo(self.origin, 0, 0, 0, max(1, self.dmg_force) * normalize(self.velocity) * -f, self.projectiledeathtype, 0, self);
}
UpdateCSQCProjectile(self);
end = trace_endpos;
- if ((trace_fraction != 1.0) && (pointcontents (trace_endpos) != CONTENT_SKY))
+ if (pointcontents (trace_endpos) != CONTENT_SKY)
{
if not (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)
- Damage_DamageInfo(trace_endpos, damage, 0, 0, dir * max(1, force), dtype, self);
+ Damage_DamageInfo(trace_endpos, damage, 0, 0, dir * max(1, force), dtype, trace_ent.species, self);
Damage (trace_ent, self, self, damage, dtype, trace_endpos, dir * force);
}
#ifdef REGISTER_WEAPON
-REGISTER_WEAPON(FIREBALL, w_fireball, IT_FUEL, 9, WEP_FLAG_RELOADABLE | WEP_FLAG_SUPERWEAPON | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "fireball", "fireball", _("Fireball"));
+REGISTER_WEAPON(FIREBALL, w_fireball, 0, 9, WEP_FLAG_SUPERWEAPON | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "fireball", "fireball", _("Fireball"));
#else
#ifdef SVQC
.float bot_primary_fireballmooth; // whatever a mooth is
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, CH_WEAPON_SINGLE, "weapons/fireball_prefire2.wav", VOL_BASE, ATTN_NORM);
weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_fireball_primary_animtime, W_Fireball_Attack1_Frame1);
vector f_diff;
float c;
- W_DecreaseAmmo(ammo_fuel, autocvar_g_balance_fireball_secondary_ammo, autocvar_g_balance_fireball_reload_ammo);
-
c = mod(self.bulletcounter, 4);
switch(c)
{
}
else if (req == WR_THINK)
{
- if(autocvar_g_balance_fireball_reload_ammo && self.clip_load < min(autocvar_g_balance_fireball_primary_ammo, autocvar_g_balance_fireball_secondary_ammo)) // forced reload
- weapon_action(self.weapon, WR_RELOAD);
- else if (self.BUTTON_ATCK)
+ if (self.BUTTON_ATCK)
{
if (time >= self.fireball_primarytime)
if (weapon_prepareattack(0, autocvar_g_balance_fireball_primary_refire))
else if (req == WR_SETUP)
{
weapon_setup(WEP_FIREBALL);
- self.current_ammo = ammo_fuel;
+ self.current_ammo = ammo_none;
}
else if (req == WR_CHECKAMMO1)
{
- ammo_amount = self.ammo_fuel >= autocvar_g_balance_fireball_primary_ammo;
- ammo_amount += self.(weapon_load[WEP_FIREBALL]) >= autocvar_g_balance_fireball_primary_ammo;
- return ammo_amount;
+ return 1;
}
else if (req == WR_CHECKAMMO2)
{
- ammo_amount = self.ammo_fuel >= autocvar_g_balance_fireball_secondary_ammo;
- ammo_amount += self.(weapon_load[WEP_FIREBALL]) >= autocvar_g_balance_fireball_secondary_ammo;
- return ammo_amount;
+ return 1;
}
else if (req == WR_RESETPLAYER)
{
self.fireball_primarytime = time;
}
- else if (req == WR_RELOAD)
- {
- // fuel can be a non-whole number, which brakes stuff here when between 0 and 1
- if(self.ammo_fuel < 1)
- self.ammo_fuel = 0;
-
- W_Reload(min(autocvar_g_balance_fireball_primary_ammo, autocvar_g_balance_fireball_secondary_ammo), autocvar_g_balance_fireball_reload_ammo, autocvar_g_balance_fireball_reload_time, "weapons/reload.wav");
- }
return TRUE;
}
#endif
else
WarpZone_TrailParticles(world, particleeffectnum("TE_TEI_G3"), w_shotorg, v);
- // flash and burn the wall
- if (trace_ent.solid == SOLID_BSP && !(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT))
- Damage_DamageInfo(trace_endpos, 10000, 0, 0, 800 * w_shotdir, WEP_MINSTANEX, self);
-
if (g_minstagib)
W_DecreaseAmmo(ammo_cells, 1, autocvar_g_balance_minstanex_reload_ammo);
else
//beam and muzzle flash done on client
SendCSQCNexBeamParticle(charge);
- // flash and burn the wall
- if (trace_ent.solid == SOLID_BSP && !(trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT))
- Damage_DamageInfo(trace_endpos, mydmg, 0, 0, myforce * w_shotdir, WEP_NEX, self);
-
W_DecreaseAmmo(ammo_cells, myammo, autocvar_g_balance_nex_reload_ammo);
}
#ifdef REGISTER_WEAPON
-REGISTER_WEAPON(PORTO, w_porto, 0, 0, WEP_TYPE_OTHER, 0, "porto" , "porto", _("Port-O-Launch"))
+REGISTER_WEAPON(PORTO, w_porto, 0, 0, WEP_TYPE_OTHER | WEP_FLAG_SUPERWEAPON, 0, "porto" , "porto", _("Port-O-Launch"))
#else
#ifdef SVQC
.entity porto_current;
}
// no portals here!
- Portal_ClearWithID(self.realowner, self.portal_id);
+ if(self.cnt < 0)
+ {
+ Portal_ClearWithID(self.realowner, self.portal_id);
+ }
+
self.realowner.porto_current = world;
- if(!failhard && self.realowner.playerid == self.playerid && self.realowner.deadflag == DEAD_NO && !(self.realowner.weapons & WEPBIT_PORTO))
+ if(self.cnt < 0 && !failhard && self.realowner.playerid == self.playerid && self.realowner.deadflag == DEAD_NO && !(self.realowner.weapons & WEPBIT_PORTO))
{
setsize (self, '-16 -16 0', '16 16 32');
setorigin(self, self.origin + trace_plane_normal);
vector norm;
// do not use PROJECTILE_TOUCH here
+ // FIXME but DO handle warpzones!
if(other.classname == "portal")
return; // handled by the portal
{
sound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
W_Porto_Fail(0);
+ if(self.cnt < 0)
+ Portal_ClearAll_PortalsOnly(self.realowner);
+ }
+ else if(self.cnt == 0)
+ {
+ // in-portal only
+ if(Portal_SpawnInPortalAtTrace(self.realowner, self.right_vector, self.portal_id))
+ {
+ sound(self, CH_SHOTS, "porto/create.wav", VOL_BASE, ATTN_NORM);
+ trace_plane_normal = norm;
+ centerprint(self.realowner, "^1In^7-portal created.");
+ W_Porto_Success();
+ }
+ else
+ {
+ sound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
+ trace_plane_normal = norm;
+ W_Porto_Fail(0);
+ }
+ }
+ else if(self.cnt == 1)
+ {
+ // out-portal only
+ if(Portal_SpawnOutPortalAtTrace(self.realowner, self.right_vector, self.portal_id))
+ {
+ sound(self, CH_SHOTS, "porto/create.wav", VOL_BASE, ATTN_NORM);
+ trace_plane_normal = norm;
+ centerprint(self.realowner, "^1Out^7-portal created.");
+ W_Porto_Success();
+ }
+ else
+ {
+ sound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
+ trace_plane_normal = norm;
+ W_Porto_Fail(0);
+ }
}
else if(self.effects & EF_RED)
{
{
sound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
trace_plane_normal = norm;
+ Portal_ClearAll_PortalsOnly(self.realowner);
W_Porto_Fail(0);
}
}
else
{
sound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
+ Portal_ClearAll_PortalsOnly(self.realowner);
W_Porto_Fail(0);
}
}
else
{
sound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM);
+ Portal_ClearAll_PortalsOnly(self.realowner);
W_Porto_Fail(0);
}
}
}
-void W_Porto_Attack (void)
+void W_Porto_Attack (float type)
{
entity gren;
- if not(self.items & IT_UNLIMITED_SUPERWEAPONS)
- self.weapons = self.weapons - (self.weapons & WEPBIT_PORTO);
+ if(type == -1)
+ {
+ if not(self.items & IT_UNLIMITED_SUPERWEAPONS)
+ self.weapons = self.weapons - (self.weapons & WEPBIT_PORTO);
+ }
+
W_SetupShot (self, FALSE, 4, "porto/fire.wav", CH_WEAPON_A, 0);
// always shoot from the eye
w_shotdir = v_forward;
//pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
gren = spawn ();
+ gren.cnt = type;
gren.owner = gren.realowner = self;
gren.playerid = self.playerid;
gren.classname = "porto";
setorigin(gren, w_shotorg);
setsize(gren, '0 0 0', '0 0 0');
- gren.nextthink = time + autocvar_g_balance_porto_primary_lifetime;
+ if(type > 0)
+ gren.nextthink = time + autocvar_g_balance_porto_secondary_lifetime;
+ else
+ gren.nextthink = time + autocvar_g_balance_porto_primary_lifetime;
gren.think = W_Porto_Think;
gren.touch = W_Porto_Touch;
- if(self.items & IT_STRENGTH)
- W_SetupProjectileVelocity(gren, autocvar_g_balance_porto_primary_speed * autocvar_g_balance_powerup_strength_force, 0);
+
+ if(type > 0)
+ {
+ if(self.items & IT_STRENGTH)
+ W_SetupProjectileVelocity(gren, autocvar_g_balance_porto_secondary_speed * autocvar_g_balance_powerup_strength_force, 0);
+ else
+ W_SetupProjectileVelocity(gren, autocvar_g_balance_porto_secondary_speed, 0);
+ }
else
- W_SetupProjectileVelocity(gren, autocvar_g_balance_porto_primary_speed, 0);
+ {
+ if(self.items & IT_STRENGTH)
+ W_SetupProjectileVelocity(gren, autocvar_g_balance_porto_primary_speed * autocvar_g_balance_powerup_strength_force, 0);
+ else
+ W_SetupProjectileVelocity(gren, autocvar_g_balance_porto_primary_speed, 0);
+ }
gren.angles = vectoangles (gren.velocity);
gren.flags = FL_PROJECTILE;
gren.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_PLAYERCLIP;
- CSQCProjectile(gren, TRUE, PROJECTILE_PORTO_RED, TRUE);
+ if(type > 0)
+ CSQCProjectile(gren, TRUE, PROJECTILE_PORTO_BLUE, TRUE);
+ else
+ CSQCProjectile(gren, TRUE, PROJECTILE_PORTO_RED, TRUE);
other = gren; MUTATOR_CALLHOOK(EditProjectile);
}
{
self.BUTTON_ATCK = FALSE;
self.BUTTON_ATCK2 = FALSE;
- if(bot_aim(autocvar_g_balance_porto_primary_speed, 0, autocvar_g_balance_grenadelauncher_primary_lifetime, FALSE))
- self.BUTTON_ATCK = TRUE;
+ if(!autocvar_g_balance_porto_secondary)
+ if(bot_aim(autocvar_g_balance_porto_primary_speed, 0, autocvar_g_balance_grenadelauncher_primary_lifetime, FALSE))
+ self.BUTTON_ATCK = TRUE;
}
else if (req == WR_THINK)
{
- if(self.porto_v_angle_held)
+ if(autocvar_g_balance_porto_secondary)
{
- if(!self.BUTTON_ATCK2)
+ if (self.BUTTON_ATCK)
+ if (!self.porto_current)
+ if (!self.porto_forbidden)
+ if (weapon_prepareattack(0, autocvar_g_balance_porto_primary_refire))
{
- self.porto_v_angle_held = 0;
+ W_Porto_Attack(0);
+ weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_porto_primary_animtime, w_ready);
+ }
- ClientData_Touch(self);
+ if (self.BUTTON_ATCK2)
+ if (!self.porto_current)
+ if (!self.porto_forbidden)
+ if (weapon_prepareattack(1, autocvar_g_balance_porto_secondary_refire))
+ {
+ W_Porto_Attack(1);
+ weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_porto_secondary_animtime, w_ready);
}
}
else
{
- if(self.BUTTON_ATCK2)
+ if(self.porto_v_angle_held)
{
- self.porto_v_angle = self.v_angle;
- self.porto_v_angle_held = 1;
+ if(!self.BUTTON_ATCK2)
+ {
+ self.porto_v_angle_held = 0;
- ClientData_Touch(self);
+ ClientData_Touch(self);
+ }
+ }
+ else
+ {
+ if(self.BUTTON_ATCK2)
+ {
+ self.porto_v_angle = self.v_angle;
+ self.porto_v_angle_held = 1;
+
+ ClientData_Touch(self);
+ }
+ }
+ v_angle_save = self.v_angle;
+ if(self.porto_v_angle_held)
+ makevectors(self.porto_v_angle); // override the previously set angles
+
+ if (self.BUTTON_ATCK)
+ if (!self.porto_current)
+ if (!self.porto_forbidden)
+ if (weapon_prepareattack(0, autocvar_g_balance_porto_primary_refire))
+ {
+ W_Porto_Attack(-1);
+ weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_porto_primary_animtime, w_ready);
}
- }
- v_angle_save = self.v_angle;
- if(self.porto_v_angle_held)
- makevectors(self.porto_v_angle); // override the previously set angles
-
- if (self.BUTTON_ATCK)
- if (!self.porto_current)
- if (!self.porto_forbidden)
- if (weapon_prepareattack(0, autocvar_g_balance_porto_primary_refire))
- {
- W_Porto_Attack();
- weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_porto_primary_animtime, w_ready);
}
}
else if (req == WR_PRECACHE)
{
//if(other==self.realowner)
// return;
- Damage_DamageInfo(self.origin, 0, 0, 0, self.velocity, WEP_SEEKER | HITTYPE_BOUNCE, self);
+ Damage_DamageInfo(self.origin, 0, 0, 0, self.velocity, WEP_SEEKER | HITTYPE_BOUNCE, other.species, self);
remove (self);
}
te_knightspike(org2);
self.event_damage = SUB_Null;
- Damage_DamageInfo(self.origin, 0, 0, 0, self.velocity, WEP_SEEKER | HITTYPE_HEADSHOT, self);
+ Damage_DamageInfo(self.origin, 0, 0, 0, self.velocity, WEP_SEEKER | HITTYPE_HEADSHOT, other.species, self);
if (other.takedamage == DAMAGE_AIM && other.deadflag == DEAD_NO)
{
\vid_bitsperpixel\How many bits per pixel (BPP) to render at, 32 is recommended
\vid_fullscreen\Enable fullscreen mode (default: enabled)
\vid_vsync\Enable vertical synchronization to prevent tearing, will cap your fps to the screen refresh rate (default: disabled)
+\gl_texture_anisotropy\Anisotropic filtering quality (default: 1x)
\r_glsl\Enable OpenGL 2.0 pixel shaders for lightning (default: enabled)
\gl_vbo\Make use of Vertex Buffer Objects to store static geometry in video memory for faster rendering (default: Vertex and Triangles)
\r_depthfirst\Eliminate overdraw by rendering a depth-only version of the scene before the normal rendering starts (default: disabled)
\gl_picmip\Change the sharpness of the textures. Lowering it will effectively reduce texture memory usage, but make the textures appear very blurry. (default: good)
\r_picmipworld\If set, only reduce the texture quality of models (default: enabled)
\mod_q3bsp_nolightmaps\Use high resolution lightmaps, which will look pretty but use up some extra video memory (default: enabled)
-\cl_particles_quality\Multiplier for amount of particles. Less means less particles, which in turn gives for better performance (default: 0.5)
+\cl_particles_quality\Multiplier for amount of particles. Less means less particles, which in turn gives for better performance (default: 1)
\r_drawparticles_drawdistance\Particles further away than this will not be drawn (default: 1000)
\cl_decals\Enable decals (bullet holes and blood) (default: enabled)
\r_drawdecals_drawdistance\Decals further away than this will not be drawn (default: 300)
\cl_gentle\Replace blood and gibs with content that does not have any gore effects (default: disabled)
\cl_nogibs\Reduce the amount of gibs or remove them completely (default: lots)
\v_kicktime\How long a view kick from damage lasts (default: 0)
-\gl_texture_anisotropy\Anisotropic filtering quality (default: 1x)
\r_glsl_deluxemapping\Use per-pixel lighting effects (default: enabled)
\r_shadow_gloss\Enable the use of glossmaps on textures supporting it (default: enabled)
\gl_flashblend\Enable faster but uglier dynamic lights by rendering bright coronas instead of real dynamic lights (default: disabled)
\r_coronas_occlusionquery\Fade coronas according to visibility (default: enabled)
\r_bloom\Enable bloom effect, which brightens the neighboring pixels of very bright pixels. Has a big impact on performance. (default: disabled)
\r_hdr\Higher quality version of bloom, which has a huge impact on performance. (default: disabled)
-\r_motionblur\Motion blur strength - 0.5 recommended
-\r_damageblur\Amount of motion blur when hurt - 0.4 recommended
+\r_motionblur\Motion blur strength - 0.4 recommended
\XonoticSettingsDialog/Audio\Audio settings
\mastervolume\-
-0
\XonoticSingleplayerDialog\Spiele die Einzelspieler-Kampagne oder habe Instant-Action Spiele gegen Bots
-\XonoticMultiplayerDialog\Spiele online, gegen deine Freunde im LAN, gucke dir Demos an oder ändere deine Spieler-Einstellungen
+\XonoticMultiplayerDialog\Spiele online, gegen deine Freunde im LAN, schaue dir Demos an oder ändere deine Spieler-Einstellungen
\XonoticMultiplayerDialog/Server\Finde Server und spiele online
\menu_slist_showempty\Aktiviere die Anzeige von leeren Servern
\menu_slist_showfull\Aktiviere die Anzeige von vollen Servern, die keinen freien Platz mehr haben
\net_slist_pause\Unterbreche die automatische Aktualisierung der Serverliste um ein "Herumspringen" zu verhindern
-\XonoticMultiplayerDialog/Info...\Lass dir mehr Informationen über den markierten Server anzeigen
-\XonoticMultiplayerDialog/Speichern\Setze ein Lesezeichen für den markierten Server um ihn beim nächsten mal schneller wiederzufinden
+\XonoticMultiplayerDialog/Info...\Lass dir mehr Informationen über den markierten Server anzeigen
+\XonoticMultiplayerDialog/Speichern\Setze ein Lesezeichen für den markierten Server um ihn beim nächsten Mal schneller wiederzufinden
\XonoticMultiplayerDialog/Starten\Hoste dein eigenes Spiel
-\XonoticMultiplayerDialog/Demos\Gucke dir Demos an
-\XonoticMultiplayerDialog/Spieler-Einstellungen\Ändere deine Spieler-Einstellungen
-
+\XonoticMultiplayerDialog/Demos\Schaue dir Demos an
+\XonoticMultiplayerDialog/Spieler-Einstellungen\Ändere deine Spieler-Einstellungen
+
\XonoticTeamSelectDialog/'bestem' Team beitreten\Automatische Auswahl des Teams (bevorzugt)
\XonoticTeamSelectDialog/rot\Trete dem roten Team bei
\XonoticTeamSelectDialog/blau\Trete dem blauen Team bei
\XonoticTeamSelectDialog/gelb\Trete dem gelben Team bei
\XonoticTeamSelectDialog/pink\Trete dem pinken Team bei
-\timelimit_override\Wähle ein Zeitlimit bei dem die Map endet oder verwende den Map-Standard für diese Option.
-\fraglimit_override\Wähle die Anzahl an Frags die benötigt wird, damit die Map endet oder verwende den Map-Standard für diese Option.
-\menu_maxplayers\Wähle die maximale Anzahl der Spieler, welche sich mit deinem Server gleichzeitig verbinden dürfen. Freie Plätze können mit Bots aufgefüllt werden.
-\bot_number\Wähle die maximale Anzahl von Bots auf dem Server.
-\skill\Stelle die Stärke der Bots ein.
-\g_maplist_votable\Anzahl von Maps, welche am Ende des Spiels zur Wahl stehen.
-\sv_vote_simple_majority_factor\Die einfache Mehrheit gewinnt die Abstimmung.
-\XonoticMultiplayerDialog/Erweiterte Einstellungen...\Erweiterte Einstellungen für den Server
-\XonoticMultiplayerDialog/Mutators...\Wähle Mutators und Waffen-Arenen.
-\g_dodging\Ausweichmodus: Es ist möglich rasch zur Seite zu springen (spezielle Bewegung).
-\g_cloaked\Tarnmodus: Alle Spieler sind fast unsichtbar.
-\g_footsteps\Schrittklang: Schritte von Spielern erzeugen Geräusche.
-\g_midair\"Luft"modus: Dem Gegner Schaden zuzufügen ist nur möglich, wenn er sich in der Luft befindet.
-\g_vampire\Vampirmodus: Der Schaden dem du anderen Spielern zufügst, wird deiner eigenen Lebensenergie hinzugefügt.
-\g_bloodloss\Blutverlust: Aktiviere diesen Modus und stelle den Wert der Lebensenergie, bei der Spieler auf Grund von Blutverlust betäubt wirken, ein.
-\sv_gravity\Verringere die Schwerkraft und lass Gegenstände langsamer zu Boden fallen, ein niedrigerer Wert verringert die Gravitation.
-\g_grappling_hook\Neu erzeugte/auferstandene Spieler starten mit dem Enterhaken.
-\g_jetpack\Neu erzeugte/auferstandene Spieler starten mit dem Jetpack.
-\g_pinata\Gestorbene Spieler lassen alle Waffen fallen, die sie besaßen - Waffen verschwinden nicht.
-\g_rocket_flying\Raketen fliegen in allen Physikeinstellungen.
-\g_weapon_stay\Alle Waffen bleiben liegen, auch wenn sie aufgenommen wurden.
-\g_weaponarena\Waffen-Arenen: Die Auswahl einer Waffen-Arena führt dazu, dass jeder Spieler mit der gewählten Waffe startet. Diese hat unendlich viel Munition, andere Waffen sind nicht vorhanden. - Spezielle Waffen-Arenen: Spieler starten mit allen Waffen und unendlich viel Munition
-\menu_weaponarena_with_laser\Aktiviere auch den Laser in der Waffen-Arena.
-\g_minstagib\Alle Spieler starten mit der Minstanex, eine elektromagnetische Schienenkanone mit unendlich viel Schaden. Wenn ein Spieler keine Munition mehr hat, bleiben ihm 10 Sekunden um neue zu finden, ansonsten stirbt er. Der 2. Feuermodus ist Laser, welcher keinen Schaden hinzufügen kann. Dieser eignet sich gut für Tricksprünge.
-\g_nix\Es gibt keine aufzusammelnden Gegenstände in Xonotic - Anstelle der Möglichkeit Waffen aufzusammeln, spielen alle mit der gleichen Waffe. Nach einiger Zeit startet ein Countdown, danach wechseln alle Spieler zu einer neuen gleichen Waffe.
-\g_nix_with_laser\In Nix ist als zweite Waffe der Laser vorhanden.
-\XonoticMultiplayerDialog/Select all\Wähle alle Maps.
-\XonoticMultiplayerDialog/Select none\Wähle alle Maps ab.
-
-
-\XonoticMultiplayerDialog/Timedemo\Mache einen Benchmark-Test der markierten Demo. Die Demo wird in Zeitraffer, -lupe abgespielt. Das Ergebnis wird in "gamedir/data/benchmark.log" gespeichert.
-
-\fov\Stelle den Wert für das Sichtfeld in Grad (60-130) ein - Standard ist 90.
-\cl_bobcycle\Setze einen Wert für das Sicht-Wackeln oder deaktiviere es vollständig.
-\cl_zoomfactor\Setze den Vergrößerungsfaktor.
-\cl_zoomsensitivity\Bestimme die Änderung der Empfindlichkeit während des Vergrößerns. Werte von 0 (geringste Sensiviät) bis 1 (keine Änderung der Sensivität sind möglich).
-\cl_zoomspeed\Bestimme wie schnell der angegebene Vergrößerungsfaktor erreicht werden soll, deaktivieren für sofortige Vergrößerung.
-\XonoticMultiplayerDialog/Waffeneinstellungen...\Lege deine bevorzugten Waffen fest, den automatischen Wechsel der Waffen und weiteres.
-
-\cl_weaponpriority_useforcycling\Verwende die oben angegebene Liste, wenn die Waffen mit Hilfe des Mausrads gewechselt werden.
-\cl_autoswitch\Wechsel automatisch zu der neu aufgesammelten Waffe, wenn diese in der Liste weiter oben steht als die, welche Du gerade trägst.
-\r_drawviewmodel\Darstellung der Waffe im Spiel.
-\cl_gunalign\Position der Waffe, links oder rechts; erfordert Neustart.
-
-\crosshair_per_weapon\Ermögliche unterschiedliche Fadenkreuze für unterschiedliche Waffen. Diese Option ist zu empfehlen, wenn du ohne dargstelltes Waffenmodel spielst.
-\crosshair_color_override\Ermögliche unterschiedliche Farben für unterschiedliche Fandenkreuze, abhängig von der Waffe die gerade getragen wird.
-\crosshair_size\Lege die Größe des Fadenkreuzes fest.
-\crosshair_color_alpha\Lege die Opazität des Fadenkreuzes fest.
-\crosshair_color_by_health\Die Einfärbung des Fadenkreuzes ist abhängig von der Lebensenergie.
-\crosshair_color_red\Roter Farbanteil des Fadenkreuzes.
-\crosshair_color_green\Grüner Farbanteil des Fadenkreuzes.
-\crosshair_color_blue\Blauer Farbanteil des Fadenkreuzes.
-\sbar_hudselector\Verwende das alte HUD Layout.
+\timelimit_override\Wähle ein Zeitlimit bei dem die Map endet oder verwende den Map-Standard für diese Option
+\fraglimit_override\Wähle die Anzahl an Frags die benötigt wird, damit die Map endet oder verwende den Map-Standard für diese Option
+\menu_maxplayers\Wähle die maximale Anzahl der Spieler, welche sich mit deinem Server gleichzeitig verbinden dürfen. Freie Plätze können mit Bots aufgefüllt werden
+\bot_number\Wähle die maximale Anzahl von Bots auf dem Server
+\skill\Stelle die Stärke der Bots ein
+\g_maplist_votable\Anzahl von Maps, welche am Ende des Spiels zur Wahl stehen
+\sv_vote_simple_majority_factor\Die einfache Mehrheit gewinnt die Abstimmung
+\XonoticMultiplayerDialog/Erweiterte Einstellungen...\Erweiterte Einstellungen für den Server
+\XonoticMultiplayerDialog/Mutators...\Wähle Mutators und Waffen-Arenen
+\g_dodging\Ausweichmodus: Es ist möglich rasch zur Seite zu springen (spezielle Bewegung)
+\g_cloaked\Tarnmodus: Alle Spieler sind fast unsichtbar
+\g_footsteps\Schrittklang: Schritte von Spielern erzeugen Geräusche
+\g_midair\"Luft"modus: Dem Gegner Schaden zuzufügen ist nur möglich, wenn er sich in der Luft befindet
+\g_vampire\Vampirmodus: Der Schaden dem du anderen Spielern zufügst, wird deiner eigenen Lebensenergie hinzugefügt
+\g_bloodloss\Blutverlust: Aktiviere diesen Modus und stelle den Wert der Lebensenergie, bei der Spieler auf Grund von Blutverlust betäubt wirken, ein
+\sv_gravity\Verringere die Schwerkraft und lass Gegenstände langsamer zu Boden fallen, ein niedrigerer Wert verringert die Gravitation
+\g_grappling_hook\Neu erzeugte/auferstandene Spieler starten mit dem Enterhaken
+\g_jetpack\Neu erzeugte/auferstandene Spieler starten mit dem Jetpack
+\g_pinata\Gestorbene Spieler lassen alle Waffen fallen, die sie besaßen - Waffen verschwinden nicht
+\g_rocket_flying\Raketen fliegen in allen Physikeinstellungen
+\g_weapon_stay\Alle Waffen bleiben liegen, auch wenn sie aufgenommen wurden
+\g_weaponarena\Waffen-Arenen: Die Auswahl einer Waffen-Arena führt dazu, dass jeder Spieler mit der gewählten Waffe startet. Diese hat unendlich viel Munition, andere Waffen sind nicht vorhanden - Spezielle Waffen-Arenen: Spieler starten mit allen Waffen und unendlich viel Munition
+\menu_weaponarena_with_laser\Aktiviere auch den Laser in der Waffen-Arena
+\g_minstagib\Alle Spieler starten mit der MinstaNex, eine elektromagnetische Schienenkanone mit unendlich viel Schaden. Wenn ein Spieler keine Munition mehr hat, bleiben ihm 10 Sekunden um neue zu finden, ansonsten stirbt er. Der 2. Feuermodus ist Laser, welcher keinen Schaden hinzufügen kann. Dieser eignet sich gut für Tricksprünge
+\g_nix\Es gibt keine aufzusammelnden Gegenstände in Xonotic - Anstelle der Möglichkeit Waffen aufzusammeln, spielen alle mit der gleichen Waffe. Nach einiger Zeit startet ein Countdown, danach wechseln alle Spieler zu einer neuen gleichen Waffe
+\g_nix_with_laser\In Nix ist als zweite Waffe der Laser vorhanden
+\XonoticMultiplayerDialog/Select all\Wähle alle Maps
+\XonoticMultiplayerDialog/Select none\Wähle alle Maps ab
+
+
+\XonoticMultiplayerDialog/Timedemo\Mache einen Benchmark-Test der markierten Demo. Die Demo wird in Zeitraffer, -lupe abgespielt. Das Ergebnis wird in "gamedir/data/benchmark.log" gespeichert
+
+\fov\Stelle den Wert für das Sichtfeld in Grad (60-130) ein - Standard ist 90
+\cl_bobcycle\Setze einen Wert für das Sicht-Wackeln oder deaktiviere es vollständig
+\cl_zoomfactor\Setze den Vergrößerungsfaktor
+\cl_zoomsensitivity\Bestimme die Änderung der Empfindlichkeit während des Vergrößerns. Werte von 0 (geringste Sensitivität) bis 1 (keine Änderung der Sensitivität sind möglich)
+\cl_zoomspeed\Bestimme wie schnell der angegebene Vergrößerungsfaktor erreicht werden soll, deaktivieren für sofortige Vergrößerung
+\XonoticMultiplayerDialog/Waffeneinstellungen...\Lege deine bevorzugten Waffen fest, den automatischen Wechsel der Waffen und weiteres
+
+\cl_weaponpriority_useforcycling\Verwende die oben angegebene Liste, wenn die Waffen mit Hilfe des Mausrads gewechselt werden
+\cl_autoswitch\Wechsel automatisch zu der neu aufgesammelten Waffe, wenn diese in der Liste weiter oben steht als die, welche Du gerade trägst
+\r_drawviewmodel\Darstellung der Waffe im Spiel
+\cl_gunalign\Position der Waffe, links oder rechts; erfordert Neustart
+
+\crosshair_per_weapon\Ermögliche unterschiedliche Fadenkreuze für unterschiedliche Waffen. Diese Option ist zu empfehlen, wenn du ohne dargestelltes Waffenmodel spielst
+\crosshair_color_override\Ermögliche unterschiedliche Farben für unterschiedliche Fadenkreuze, abhängig von der Waffe die gerade getragen wird
+\crosshair_size\Lege die Größe des Fadenkreuzes fest
+\crosshair_color_alpha\Lege die Opazität des Fadenkreuzes fest
+\crosshair_color_by_health\Die Einfärbung des Fadenkreuzes ist abhängig von der Lebensenergie
+\crosshair_color_red\Roter Farbanteil des Fadenkreuzes
+\crosshair_color_green\Grüner Farbanteil des Fadenkreuzes
+\crosshair_color_blue\Blauer Farbanteil des Fadenkreuzes
+\sbar_hudselector\Verwende das alte HUD Layout
\XonoticMultiplayerDialog/Waypoints setup...\-
-\_cl_name\Lege deinen Namen im Spiel fest.
+\_cl_name\Lege deinen Namen im Spiel fest
-\XonoticSettingsDialog\Ändere die Spiel-Einstellungen
+\XonoticSettingsDialog\Ändere die Spiel-Einstellungen
\XonoticCreditsDialog\Die Xonotic Entwickler
\XonoticTeamSelectDialog\-
\XonoticMutatorsDialog\-
\XonoticCvarsDialog\-
\XonoticQuitDialog\Beende das Spiel
-\XonoticQuitDialog/Ja\Zurück an die Arbeit...
+\XonoticQuitDialog/Ja\Zurück an die Arbeit...
\XonoticQuitDialog/Nein\Ich muss noch ein paar Typen fraggen!
-
+
\XonoticSettingsDialog/Eingabe\Einstellungen der Eingabe
-\sensitivity\Geschwindigkeitsmultiplikator um die Sensivität der Maus einzustellen.
-\menu_mouse_speed\Multiplikator für die Geschwindigkeit der Maus im Menü, hat keinen Effekt auf die Mausbewegung im Spiel.
-\m_filter\Glättet die Mausbewegung, aber verringert die Reaktion des Zielens etwas.
-\m_pitch\Umkehren der Mausbewegung entlang der Y-Achse.
-\vid_dgamouse\Verwende die DGA Maus Eingabe.
-\joy_enable\Zur Verwendung eines Joysticks aktivieren.
-\con_closeontoggleconsole\Schließen der Konsole auch mit der Taste, die zum Öffnen verwendet wird
-\sbar_showbinds\Darstellung von gedrückten Aktionen / gedrückten Tasten, während des Spielens.
-\cl_showpressedkeys\Lass dir die gedrückten Tasten während des Spielens anzeigen.
+\sensitivity\Geschwindigkeitsmultiplikator um die Sensitivität der Maus einzustellen
+\menu_mouse_speed\Multiplikator für die Geschwindigkeit der Maus im Menü, hat keinen Effekt auf die Mausbewegung im Spiel
+\m_filter\Glättet die Mausbewegung, aber verringert leicht die Reaktion des Zielens
+\m_pitch\Umkehren der Mausbewegung entlang der Y-Achse
+\vid_dgamouse\Verwende die DGA Maus Eingabe
+\joy_enable\Zur Verwendung eines Joysticks aktivieren
+\con_closeontoggleconsole\Schließen der Konsole auch mit der Taste, die zum Öffnen verwendet wird
+\sbar_showbinds\Darstellung von gedrückten Aktionen / gedrückten Tasten, während des Spielens
+\cl_showpressedkeys\Lass dir die gedrückten Tasten während des Spielens anzeigen
\XonoticSettingsDialog/Grafik\Grafik Einstellungen
-\vid_width\Einstellung der zu verwendenden Bildschirmauflösung
+\vid_width\Einstellung der zu verwendenden Bildschirmauflösung
\vid_bitsperpixel\Bestimme wie viele Bits pro Pixel (BPP) gerendert werden sollen, 32 ist der bevorzugte Wert
\vid_fullscreen\Aktiviere den Vollbildmodus (Standard: aktiviert)
-\vid_vsync\Aktiviere die vertikale Synchronization um ein Zeilenreißen zu unterdrücken, die FPS werden auf den Wert der Bildwiederholungsrate deines Monitors gesetzt (Standard: deaktiviert)
-\vid_gl20\Aktiviere OpenGL 2.0 für Lichteffekte (Standard: aktiviert)
-\gl_vbo\Speicher Eckpunkte und/oder Dreiecke der statischen Geometrie im Videospeicher um ein schnelleres Rendern zu ermöglichen (Standard: Eckpunkte, einige Dreiecke)
-\r_depthfirst\Verhindere das Überblenden, in dem das Tiefenbild der Szene vor dem Licht gerendert wird (Standard: nur Map)
-\gl_texturecompression\Komprimiere die Texturen für Grafikkarten mit einem geringen Grafikspeicher (Standard: deaktiviert)
-\gl_finish\Die Grafikkarte wartet bis die CPU die Berechnung eines jeden Frames beendet hat, dies kann bei merkwürdigen Verhalten der Eingabe helfen (Standard: deaktiviert)
+\vid_vsync\Aktiviere die vertikale Synchronisation um ein Zeilenreißen zu unterdrücken, die FPS werden auf den Wert der Bildwiederholungsrate deines Monitors gesetzt (Standard: deaktiviert)
+\vid_gl20\Aktiviere OpenGL 2.0 für Lichteffekte (Standard: aktiviert)
+\gl_vbo\Speicher Eckpunkte und/oder Dreiecke der statischen Geometrie im Videospeicher um ein schnelleres Rendern zu ermöglichen (Standard: Eckpunkte, einige Dreiecke)
+\r_depthfirst\Verhindere das Überblenden, in dem das Tiefenbild der Szene vor dem Licht gerendert wird (Standard: nur Map)
+\gl_texturecompression\Komprimiere die Texturen für Grafikkarten mit einem geringen Grafikspeicher (Standard: deaktiviert)
+\gl_finish\Die Grafikkarte wartet bis die CPU die Berechnung eines jeden Frames beendet hat, dies kann bei merkwürdigen Verhalten der Eingabe helfen (Standard: deaktiviert)
\v_brightness\Helligkeit von Schwarz (Standard: 0)
-\v_contrast\Helligkeit von Weiß (Standard: 1)
-\v_gamma\Korrekturwert für die Kontraststärke (Gamma-Wert), Helligkeitseffekt, der keinen Einfluss auf Weiß und Schwarz hat (Standard: 1)
-\v_contrastboost\Faktor für die Änderung des Kontrasts in dunklen Bildteilen (Standard: 1)
-\r_glsl_saturation\Sättigungskorrektur (0 = Graustufenbild, 1 = normales Bild, 2 = übersättigtes Bild), benötigt GLSL Farbkontrolle (Standard: 1)
-\v_glslgamma\Aktiviere die Verwendung von GLSL um die Gamma-Korrektur zu ermöglichen, kann die Leistung stark verringern (Standard: Aus)
-\r_ambient\Umgebungslicht, ein zu hoch eingestellter Wert lässt die Map matt und flach erscheinen (Standard: 4)
-\r_hdr_scenebrightness\Globales Rendern der Lichtstärke (Standard: 1)
-\vid_samples\Aktiviere Antialiasing um Ecken der 3D-Geometire zu glätten. Kann die Leistung stark verringern (Standard: Aus)
-\v_flipped\Linkshänder Modus (Standard: deaktiviert)
+\v_contrast\Helligkeit von Weiß (Standard: 1)
+\v_gamma\Korrekturwert für die Kontraststärke (Gamma-Wert), Helligkeitseffekt, der keinen Einfluss auf Weiß und Schwarz hat (Standard: 1)
+\v_contrastboost\Faktor für die Änderung des Kontrasts in dunklen Bildteilen (Standard: 1)
+\r_glsl_saturation\Sättigungskorrektur (0 = Graustufenbild, 1 = normales Bild, 2 = übersättigtes Bild), benötigt GLSL Farbkontrolle (Standard: 1)
+\v_glslgamma\Aktiviere die Verwendung von GLSL um die Gamma-Korrektur zu ermöglichen, kann die Leistung stark verringern (Standard: Aus)
+\r_ambient\Umgebungslicht, ein zu hoch eingestellter Wert lässt die Map matt und flach erscheinen (Standard: 4)
+\r_hdr_scenebrightness\Globales Rendern der Lichtstärke (Standard: 1)
+\vid_samples\Aktiviere Antialiasing um Ecken der 3D-Geometire zu glätten. Kann die Leistung stark verringern (Standard: Aus)
+\v_flipped\Linkshänder Modus (Standard: deaktiviert)
\XonoticSettingsDialog/Effekte\Einstellungen der Effekte
-\r_subdivisions_tolerance\Ändere die Qualität der Geometrie in der Map - Rundheit/Glattheit von Kurven (Standard: Gut)
-\gl_picmip\Ändere die Auflösung von Texturen. Ein geringerer Wert verringert die Auslastung des Speichers, aber lässt die Texturen verschwommen aussehen. (Standard: Gut)
+\r_subdivisions_tolerance\Ändere die Qualität der Geometrie in der Map - Rundheit/Glattheit von Kurven (Standard: Gut)
+\gl_picmip\Ändere die Auflösung von Texturen. Ein geringerer Wert verringert die Auslastung des Speichers, aber lässt die Texturen verschwommen aussehen. (Standard: Gut)
\gl_texturecompression\Wenn aktiviert, wird die Kompression von Texturen verhindert.
-\r_picmipworld\Wenn aktiviert, wird nur die Texturqualität von Modellen verringert (Standard: aktiviert)
-\mod_q3bsp_nolightmaps\Verwende hochauflösende Lightmaps, welche sehr schön aussehen, aber etwas mehr Videospeicher benötigen. (Standard: aktiviert)
-\cl_particles_quality\Faktor für die Anzahl von Partikel. Weniger beudetet weniger Parikel, was zu einer besseren Performance führt. (Standard: 1.0)
+\r_picmipworld\Wenn aktiviert, wird nur die Texturqualität von Modellen verringert (Standard: aktiviert)
+\mod_q3bsp_nolightmaps\Verwende hochauflösende Lightmaps, welche sehr schön aussehen, aber etwas mehr Videospeicher benötigen (Standard: aktiviert)
+\cl_particles_quality\Faktor für die Anzahl von Partikel. Weniger bedeutet weniger Partikel, was zu einer besseren Leistung führt (Standard: 1.0)
\r_drawparticles_drawdistance\Weiter, als eingestellt, entfernte Partikel werden nicht dargestellt (Standard 1000)
-\cl_decals\Aktiviere Dekore (Einschusslöcher und Blut) (Standard: aktiviert)
+\cl_decals\Aktiviere Dekore (Einschusslöcher und Blut) (Standard: aktiviert)
\r_drawdecals_drawdistance\Weiter, als eingestellt, entfernte Dekore werden nicht dargestellt (Standard: 300)
\cl_decals_time\Zeit in Sekunden nach dem Dekore verschwinden (Standard: 2)
\cl_gentle\Blut und Fleischteile werden durch andere, nicht blutige, Effekte ersetzt
-\cl_nogibs\Verringere die Anzahl von Fleischteilen oder entferne sie vollständig (Standard: Viele)
-\v_kicktime\Wert für die Dauer der Beeinträchtigung der Sicht durch einen Schaden (Standard: 0)
-\gl_texture_anisotropy\Qualität für das Filtern von Anisotropie (Standard: Aus)
+\cl_nogibs\Verringere die Anzahl von Fleischteilen oder entferne sie vollständig (Standard: Viele)
+\v_kicktime\Wert für die Dauer der Beeinträchtigung der Sicht durch einen Schaden (Standard: 0)
+\gl_texture_anisotropy\Qualität für das Filtern von Anisotropie (Standard: Aus)
\r_glsl_deluxemapping\Verwende ein-Pixel Lichteffekte (Standard: aktiviert)
-\r_shadow_gloss\Aktiviere Glanzeffekte für Texturen, wenn die Textur es unterstützt. (Standard: aktiviert)
-\gl_flashblend\Aktiviere schnell gerenderte dynamische Lichter. Es wird eine große Korona anstelle von eines richtigen dynamischen Lichts dargestellt. (Standard: aktiviert)
-\r_shadow_realtime_dlight\Aktiviere das Rendern von dynamischen Lichtern, wie Explosionen und Raketen-Lichter. (Standard: aktiviert)
+\r_shadow_gloss\Aktiviere Glanzeffekte für Texturen, wenn die Textur es unterstützt. (Standard: aktiviert)
+\gl_flashblend\Aktiviere schnell gerenderte dynamische Lichter. Es wird eine große Korona anstelle von eines richtigen dynamischen Lichts dargestellt (Standard: aktiviert)
+\r_shadow_realtime_dlight\Aktiviere das Rendern von dynamischen Lichtern, wie Explosionen und Raketen-Lichter (Standard: aktiviert)
\r_shadow_realtime_dlight_shadows\Aktiviere das Rendern von Schatten von dynamischen Lichtern (Standard: deaktiviert)
-\r_shadow_realtime_world\Aktiviere das Rendern der gesamten Echtzeit-Welt-Lichter. Hat einen großen Einfluss auf die Performance (Standard: deaktiviert)
+\r_shadow_realtime_world\Aktiviere das Rendern der gesamten Echtzeit-Welt-Lichter. Hat einen großen Einfluss auf die Leistung (Standard: deaktiviert)
\r_shadow_realtime_world_shadows\Aktiviere das Rendern von Schatten von Echtzeit-Welt-Lichter (Standard: deaktiviert)
\r_shadow_usenormalmap\Aktiviere die Verwendung von gerichteter Schattierung auf Texturen (Standard: aktiviert)
-\r_showsurfaces\Komplettes Deaktivieren von Texturen für sehr langsame Hardware. Starke Verbesserung der Performace, sieht aber sehr komisch aus. (Standard: deaktiviert)
-\r_glsl_offsetmapping\Effekt für den Tiefendruck von Texturen, dieser Effekt lässt Texturen mit Bumpmap aus der 2D Ebene "herausgedrückt" erscheinen (Deaktiviert: deaktiviert)
-\r_glsl_offsetmapping_reliefmapping\Bessere Qualität des Offsetmappings, hat einen großen Einfluss auf die Leistung (Standard: deaktiviert)
-\r_water\Reflektions- und Refraktionsqualität, hat einen großen Einfluss auf die Performance von Maps mit reflektierenden Oberflächen (Standard: deaktiviert)
-\r_water_resolutionmultiplier\Auflösung von Reflektion und Refraktion (Standard: gut)
+\r_showsurfaces\Komplettes Deaktivieren von Texturen für sehr langsame Hardware. Starke Verbesserung der Leistung, sieht aber sehr komisch aus (Standard: deaktiviert)
+\r_glsl_offsetmapping\Effekt für den Tiefendruck von Texturen, dieser Effekt lässt Texturen mit Bumpmap aus der 2D Ebene "herausgedrückt" erscheinen (Deaktiviert: deaktiviert)
+\r_glsl_offsetmapping_reliefmapping\Bessere Qualität des Offsetmappings, hat einen großen Einfluss auf die Leistung (Standard: deaktiviert)
+\r_water\Reflektions- und Refraktionsqualität, hat einen großen Einfluss auf die Leistung von Maps mit reflektierenden Oberflächen (Standard: deaktiviert)
+\r_water_resolutionmultiplier\Auflösung von Reflektion und Refraktion (Standard: gut)
\r_coronas\Aktiviere die Korona um bestimmte Lichter (Standard: aktiviert)
\r_coronas_occlusionquery\Verringern der Korona - Angepasst an die Sichtbarkeit (Standard: deaktiviert)
-\r_bloom\Aktiviere Überstrahlung, welche die umgebenden Pixel sehr hell erleuchteter Pixel erhellt. Dieser Effekt hat einen großen Einfluss auf die Leistung (Standard: deaktiviert)
-\r_hdr\Bessere Qualität des Überstrahlunseffekts, hat einen sehr großen Einfluss auf die Leistung (Standard: deaktiviert)
-\r_motionblur\Wert für die Bewegungsunschärfe - 0.5 empfohlen
-\r_damageblur\Wert für die Unschärfe bei einer Verletzung - 0.4 empfohlen
+\r_bloom\Aktiviere Überstrahlung, welche die umgebenden Pixel sehr hell erleuchteter Pixel erhellt. Dieser Effekt hat einen großen Einfluss auf die Leistung (Standard: deaktiviert)
+\r_hdr\Bessere Qualität des Überstrahlungseffekts, hat einen sehr großen Einfluss auf die Leistung (Standard: deaktiviert)
+\r_motionblur\Wert für die Bewegungsunschärfe - 0.5 empfohlen
+\r_damageblur\Wert für die Unschärfe bei einer Verletzung - 0.4 empfohlen
-\XonoticSettingsDialog/Ton\Audio-Einstellungen
+\XonoticSettingsDialog/Ton\Audio Einstellungen
\mastervolume\-
\bgmvolume\-
\snd_staticvolume\-
\snd_channel2volume\-
\snd_channel1volume\-
\snd_speed\Ausgangsfrequenz des Tons
-\snd_channels\Anzahl der Kanäle für die Audiowiedergabe
-\snd_swapstereo\Linken und rechten Kanal der Stereowiedergabe tauschen
-\snd_spatialization_control\Aktiviere "räumlicheren" Klang (Mischung des linken und rechten Kanals um die Stereo-Trennung leicht zu verringern, für Kopfhörer).
-\cl_voice_directional\Aktiviere richtungsunabhängige Geräusche.
-\cl_voice_directional_taunt_attenuation\Distanz in der spöttige Bemerkungen anderer Spieler gehört werden können.
-\cl_autotaunt\Automatisches Abspielen einer spöttigen Bemerkung, wenn Gegner gefraggt wurden.
-\cl_sound_maptime_warning\Abspielen einer Ansage für die verbleibenden Minuten des Spiels.
-\cl_hitsound\Spiele einen Treffer-Sound, wenn der Spieler auf den gezielt wurde, getroffen wurde.
-\menu_sounds\Sound abspielen, wenn auf ein Menüitem geklickt wird oder mit dem Mauszeiger auf das Menüitem gezeit wird.
+\snd_channels\Anzahl der Kanäle für die Audiowiedergabe
+\snd_swapstereo\Linken und Rechten Kanal der Stereowiedergabe tauschen
+\snd_spatialization_control\Aktiviere "räumlicheren" Klang (Mischung des linken und rechten Kanals um die Stereo-Trennung leicht zu verringern, für Kopfhörer)
+\cl_voice_directional\Aktiviere richtungsunabhängige Geräusche
+\cl_voice_directional_taunt_attenuation\Distanz in der spöttige Bemerkungen anderer Spieler gehört werden können
+\cl_autotaunt\Automatisches Abspielen einer spöttigen Bemerkung, wenn Gegner gefraggt wurden
+\cl_sound_maptime_warning\Abspielen einer Ansage für die verbleibenden Minuten des Spiels
+\cl_hitsound\Spiele einen Treffer-Sound, wenn der Spieler auf den gezielt wurde, getroffen wurde
+\menu_sounds\Sound abspielen, wenn auf ein Menüitem geklickt wird oder mit dem Mauszeiger auf das Menüitem gezeigt wird
\XonoticSettingsDialog/Netzwerk\Netzwerk Einstellungen
\cl_movement\Aktiviere die Client-seitige Bewegungssimulation
-\cl_nolerp\Enable network update smoothing
-\shownetgraph\Anzeige eines Netzwerkgraphens für gesendete/empfangene Pakete und weitere Informationen
-\_cl_rate\Gib deine Netzwerkgeschwindigkeit mit dem Schieberegler an.
-\cl_netfps\Anzahl der Pakete die pro Sekunde zum Server, mit dem du verbunden bist, geschickt werden sollen.
+\cl_nolerp\Aktiviere die Netzwerk Update Glättung
+\shownetgraph\Anzeige eines Netzwerkgraphs für gesendete/empfangene Pakete und weitere Informationen
+\_cl_rate\Gib deine Netzwerkgeschwindigkeit mit dem Schieberegler an
+\cl_netfps\Anzahl der Pakete die pro Sekunde zum Server, mit dem du verbunden bist, geschickt werden sollen
\cl_curl_maxdownloads\Maximale Anzahl der gleichzeitigen HTTP/FTP Downloads
-\cl_curl_maxspeed\Stelle die maximale Download Geschwindigkeit ein.
-\cl_port\Stelle den zu verwendenden UDP Port als Client ein. Wenn der Port auf 0 gesetzt ist, wird kein Port erzwungen.
+\cl_curl_maxspeed\Stelle die maximale Download Geschwindigkeit ein
+\cl_port\Stelle den zu verwendenden UDP Port als Client ein. Wenn der Port auf 0 gesetzt ist, wird kein Port erzwungen
-\XonoticSettingsDialog/Sonstiges\Sonstige Einstellungen, wie Sprache, Menü-Skins
-\showtime\Uhrzeit im Spiel anzeigen, geeignet für Screenshots
-\showdate\Datum im Spiel anzeigen, geeignet für Screenshots
+\XonoticSettingsDialog/Sonstiges\Sonstige Einstellungen, wie Sprache, Menü-Skins
+\showtime\Uhrzeit im Spiel anzeigen, geeignet für Screenshots
+\showdate\Datum im Spiel anzeigen, geeignet für Screenshots
\showfps\Zeige die gerenderten Frames pro Sekunde
-\cl_showspeed\Zeige die Gescheindigkeit des Spielers
-\cl_showspeed_unit\Wähle die Einheit, in der die Geschindigkeit angezeigt werden soll, qu/s = in/s
+\cl_showspeed\Zeige die Geschwindigkeit des Spielers
+\cl_showspeed_unit\Wähle die Einheit, in der die Geschwindigkeit angezeigt werden soll, qu/s = in/s
\cl_showacceleration\Zeige die Beschleunigung des Spielers
-\cl_showacceleration_scale\Skalierungsfaktor für das Akzelerometer
+\cl_showacceleration_scale\Skalierungsfaktor für das Akzelerometer
-\XonoticSettingsDialog/Erweiterte Einstellungen...\Erweiterte Einstellungen, in denen du jede beliebige Variable des Spiels ändern kannst
-\g_friendlyfire\Prozentualer Anteil des Schadens, der Mitspielern hinzugefügt wird
-\g_mirrordamage\Percentage of teamdamage that will be mirrored to you
-\g_tdm_teams_override\Überschreibe die Standardgröße eines Teams in Teammodi
+\XonoticSettingsDialog/Erweiterte Einstellungen...\Erweiterte Einstellungen, in denen du jede beliebige Variable des Spiels ändern kannst
+\g_friendlyfire\Prozentualer Anteil des Schadens, der Mitspielern hinzugefügt wird
+\g_mirrordamage\Prozentualer Anteil des Team-Schadens der auf dich zurückgeworfen wird
+\g_tdm_teams_override\Überschreibe die Standardgröße eines Teams in Teammodi
\cl_teamradar_position\-
\cl_teamradar_size\-
\cl_teamradar_rotation\-
\cl_teamradar_scale\-
\cl_teamradar_foreground_alpha\-
-\cl_teamradar_background_alpha\Wert für die Opazität des Radar-Hintergrunds
+\cl_teamradar_background_alpha\Wert für die Opazität des Radar-Hintergrunds
\viewsize\Aktiviere/Deaktiviere den HUD-Hintergrund
-\sbar_alpha_bg\Wert für die Opazität des HUD-Hintergrunds
+\sbar_alpha_bg\Wert für die Opazität des HUD-Hintergrunds
\sbar_color_bg_r\Roter Farbanteil des HUD-Hintergrunds
-\sbar_color_bg_g\Grüner Farbanteil des HUD-Hintergrunds
+\sbar_color_bg_g\Grüner Farbanteil des HUD-Hintergrunds
\sbar_color_bg_b\Blauer Farbanteil des HUD-Hintergrunds
-\sbar_color_bg_team\Team-Farben Sättigung des HUD-Hintergrunds
+\sbar_color_bg_team\Team-Farben Sättigung des HUD-Hintergrunds
\cl_hidewaypoints\Lass dir verschiedene Spieltyp spezifische Wegpunkte anzeigen
-\g_waypointsprite_scale\Skalierungsfaktor für Wegpunkte
-\g_waypointsprite_alpha\Verändere den Wert der Transparenz von der Anzeige der Wegpunkte
-\cl_shownames\Lass dir den Namen des Spielers anzeigen auf den du gerade zielst.
+\g_waypointsprite_scale\Skalierungsfaktor für Wegpunkte
+\g_waypointsprite_alpha\Verändere den Wert der Transparenz von der Anzeige der Wegpunkte
+\cl_shownames\Lass dir den Namen des Spielers anzeigen auf den du gerade zielst
+
+\crosshair_hittest\Aus: Führe keinen Treffer-Test für das Fadenkreuz aus; TrueAim: Trübe das Fadenkreuz, wenn du nicht die Wand treffen würdest; Gegner: Vergrößere zudem das Fadenkreuz, wenn du einen Gegner treffen würdest
-\crosshair_hittest\None: do not do hit tests for the crosshair; TrueAim: blur the crosshair when you would not hit the wall; Enemies: also enlarge the crosshair when you would hit an enemy
\gl_picmip\Cambiar la dureza de las texturas. Bajándolo efectivamente reducira el uso de la memoria de la textura, pero hará que las texturas aparezcan muy borrosas. (por defecto: bueno)
\r_picmipworld\Si se activa, solo reduce la calidad de texturas de los modelos (activado por defecto)
\mod_q3bsp_nolightmaps\Use mapas de alta resolución, hara que se vea lindo pero reducira la memoria de video (activado por defecto)
-\cl_particles_quality\Multiplicador de cantidad de partículas. Menos significa menos partículas, lo cual dara mejor rendimiento (por defecto: 0.5)
+\cl_particles_quality\Multiplicador de cantidad de partículas. Menos significa menos partículas, lo cual dara mejor rendimiento (por defecto: 1.0)
\r_drawparticles_drawdistance\Las partículas que se alejen de esto no se dibujarán (por defecto: 1000)
\cl_decals\Activar decals (agujeros de balas y sangre) (habilitado por defecto)
\r_drawdecals_drawdistance\Los decals que se alejen de esta distancia no se dibujarán (por defecto: 300)
\gl_picmip\Ajuster la qualité des textures. La baisser diminue l'utilisation des ressources, mais rend les textures floues. (par défaut: normal)
\r_picmipworld\If set, only reduce the texture quality of models (default: enabled)
\mod_q3bsp_nolightmaps\Utiliser des lightmaps haute résolution, augmente l'utilisation des resources, mais rend les lightmaps plus nettes (par défaut: activé)
-\cl_particles_quality\Nombre de particules; moins de particules consomment moins de ressources (par défaut: 0.5)
+\cl_particles_quality\Nombre de particules; moins de particules consomment moins de ressources (par défaut: 1.0)
\r_drawparticles_drawdistance\Toutes les particules qui sont plus loin que cette distance ne seront pas affichées (par défaut: 1000)
\cl_decals\Activer les marques d'impacts et de sang (par défaut: activé)
\r_drawdecals_drawdistance\Toutes les marques d'impacts qui sont plus loin que cette distance ne seront pas affichées (par défaut: 300)
\gl_picmip\ A textúrák élességének változtatása. Kisebb érték hatásosan csökkenti a textúra memória használatot, de a textúrák megjelenése homályosabb lehet. (alapértelmezett: jó)
\r_picmipworld\Ha ha be van állítva, csak a modellek textúra minősége csökken (alapértelmezett: engedélyezve)
\mod_q3bsp_nolightmaps\Magas felbontású fény térképek használata, ami szépen néz ki, de megemeli a szükséges videó memória mennyiségét (alapértelmezett: engedélyezve)
-\cl_particles_quality\A részecskék számának megtöbbszörözése. Kisebb érték kevesebb részecskét jelent, ami jobb teljesítményt ad (alapérték: 0,5)
+\cl_particles_quality\A részecskék számának megtöbbszörözése. Kisebb érték kevesebb részecskét jelent, ami jobb teljesítményt ad (alapérték: 1,0)
\r_drawparticles_drawdistance\A részecskék csak eddig a távolsági rajzolódnak ki (alapérték: 1000)
\cl_decals\Foltok engedélyzése (égési és robbanási nyomok, vérfoltok) (alapértelmezett: engedélyezve)
\r_drawdecals_drawdistance\A minták csak eddig a távolsági rajzolódnak ki (alapérték: 300)
\gl_picmip\Cambia la nitidezza delle textures. Valori più bassi riducono l'uso della memoria per le texture, però faranno apparire quest'ultime molto sfuocate. (predefinito: buona)
\r_picmipworld\Se impostato, riduce solo la qualità delle texture dei modelli (predefinito: abilitato)
\mod_q3bsp_nolightmaps\Usa le mappe di luce ad alta risoluzione, che appaiono più gradite alla vista, però sfruttano più memoria video (predefinito: abilitato)
-\cl_particles_quality\Moltiplicatore del numero di particelle. Valori inferiori significano meno particelle, che di conseguenza incrementano le performance (predefinito: 0.5)
+\cl_particles_quality\Moltiplicatore del numero di particelle. Valori inferiori significano meno particelle, che di conseguenza incrementano le performance (predefinito: 1.0)
\r_drawparticles_drawdistance\Distanza per cui le particelle non vengono mostrate (predefinito: 1000)
\cl_decals\Abilita i decal (buchi dei proiettili e sangue) (predefinito: abilitati)
\r_drawdecals_drawdistance\I decal più lontano di questa distanza non vengono mostrati (predefinito: 300)
\gl_picmip\Change the sharpness of the textures. Lowering it will effectively reduce texture memory usage, but make the textures appear very blurry. (default: good)
\r_picmipworld\If set, only reduce the texture quality of models (default: enabled)
\mod_q3bsp_nolightmaps\Use high resolution lightmaps, which will look pretty but use up some extra video memory (default: enabled)
-\cl_particles_quality\Multiplier for amount of particles. Less means less particles, which in turn gives for better performance (default: 0.5)
+\cl_particles_quality\Multiplier for amount of particles. Less means less particles, which in turn gives for better performance (default: 1.0)
\r_drawparticles_drawdistance\Particles further away than this will not be drawn (default: 1000)
\cl_decals\Enable decals (bullet holes and blood) (default: enabled)
\r_drawdecals_drawdistance\Decals further away than this will not be drawn (default: 300)
\gl_picmip\Чіткість текстур. Зниження параметру зменшить використання відеопам'яті, але зробить текстури нечіткими (за замовчуванням: добре)
\r_picmipworld\Знижує якість текстур тільки на моделях (за замовчуванням: увімкнуто)
\mod_q3bsp_nolightmaps\Використовувати мапи освітлення з високою роздільністю, красиві, але використовують більше відеопам'яті (за замовчуванням: увімкнуто)
-\cl_particles_quality\Кількість часток, чим менша кількість тим менший вплив на продуктивність (за замовчуванням: 0.5)
+\cl_particles_quality\Кількість часток, чим менша кількість тим менший вплив на продуктивність (за замовчуванням: 1.0)
\r_drawparticles_drawdistance\Частки на відстані більшій ніж ця не будуть створюватись (за замовчуванням: 1000)
\cl_decals\Сліди від куль та пострілів (за замовчуванням: увімкнуто)
\r_drawdecals_drawdistance\Сліди на відстані більшій ніж ця не будуть створюватись (за замовчуванням: 300)
cortez
Cuinn "Cuinnton" Herrick
Florian Paul "lda17h" Schmidt
+Jope “Sless” Withers
kojn
Kristian "morfar" Johansson
kuniuthefrogg