From: terencehill Date: Sat, 26 May 2012 12:50:02 +0000 (+0200) Subject: Merge branch 'master' into terencehill/itemstime X-Git-Tag: xonotic-v0.8.1~12^2~47 X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=41e9b002169cd742d5eadd4c540f55164af7f120;hp=fbcbf08f083a9ab14b947849342f495f05ac9b56 Merge branch 'master' into terencehill/itemstime Conflicts: qcsrc/client/hud.qc qcsrc/menu/xonotic/mainwindow.c qcsrc/server/t_items.qc --- diff --git a/_hud_common.cfg b/_hud_common.cfg index 7ecdf4cd2..7420b1a85 100644 --- a/_hud_common.cfg +++ b/_hud_common.cfg @@ -1,7 +1,7 @@ // 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" diff --git a/_hud_descriptions.cfg b/_hud_descriptions.cfg index cb096be4d..3d8331b97 100644 --- a/_hud_descriptions.cfg +++ b/_hud_descriptions.cfg @@ -16,6 +16,7 @@ seta hud_dock_alpha "" "alpha of the dock" seta hud_progressbar_alpha "" "alpha of progressbars" seta hud_progressbar_strength_color "" "R G B vector of the progress bar background color" +seta hud_progressbar_superweapons_color "" "R G B vector of the progress bar background color" seta hud_progressbar_shield_color "" "R G B vector of the progress bar background color" seta hud_progressbar_health_color "" "R G B vector of the progress bar background color" seta hud_progressbar_armor_color "" "R G B vector of the progress bar background color" @@ -88,6 +89,7 @@ seta hud_panel_powerups_bg_padding "" "if set to something else than \"\" = over seta hud_panel_powerups_progressbar "" "enable progressbar in panel" seta hud_panel_powerups_progressbar_strength "" "progressbar image for strength" seta hud_panel_powerups_progressbar_shield "" "progressbar image for shield" +seta hud_panel_powerups_progressbar_superweapons "" "progressbar image for superweapons" seta hud_panel_powerups_text "" "show text/icons in the powerups panel" seta hud_panel_healtharmor "" "enable/disable this panel, 2 = combined health/armor display" @@ -204,6 +206,7 @@ seta hud_panel_pressedkeys_bg_alpha "" "if set to something else than \"\" = ove seta hud_panel_pressedkeys_bg_border "" "if set to something else than \"\" = override default size of border around the background" seta hud_panel_pressedkeys_bg_padding "" "if set to something else than \"\" = override default padding of contents from border" seta hud_panel_pressedkeys_aspect "" "forced aspect on panel" +seta hud_panel_pressedkeys_attack "" "show attack buttons too" seta hud_panel_chat "" "enable/disable this panel" seta hud_panel_chat_pos "" "position of this base of the panel" @@ -251,9 +254,12 @@ seta hud_panel_physics_baralign "" "0 = align bars to the left, 1 = align bars t seta hud_panel_physics_flip "" "flip speed/acceleration positions" seta hud_panel_physics_progressbar "" "enable progressbar in panel (2 = only for speed; 3 = only for acceleration)" seta hud_panel_physics_acceleration_max "" "acceleration progressbar gets completely filled up by this value (in g)" -seta hud_panel_physics_acceleration_mode "" "0 = progressbar increases from the center to the right if the acceleration is positive, to the left if it's negative; 1 = progressbar increases from the border in the same direction for both positive and negative accelerations" +seta hud_panel_physics_acceleration_progressbar_mode "" "0 = progressbar increases from the center to the right if the acceleration is positive, to the left if it's negative; 1 = progressbar increases from the border in the same direction for both positive and negative accelerations" +seta hud_panel_physics_acceleration_progressbar_scale "" "multiply acceleration progressbar values by this factor (allow progressbar to go out of panel bounds)" +seta hud_panel_physics_acceleration_progressbar_nonlinear "" "use a non linear function to display acceleration progressbar values (amplify more smaller values)" seta hud_panel_physics_acceleration_vertical "" "include the acceleration on the Z-axis" seta hud_panel_physics_text "" "show text in panel (2 = only for speed; 3 = only for acceleration)" +seta hud_panel_physics_text_scale "" "scale text height by this factor" seta hud_panel_physics_speed_unit "" "speed unit (1 = qu/s, 2 = m/s, 3 = km/h, 4 = mph, 5 = knots)" seta hud_panel_physics_speed_unit_show "" "also show speed unit" seta hud_panel_physics_speed_max "" "speed progressbar gets filled up completely by this value (in qu/s)" diff --git a/balance25.cfg b/balance25.cfg index 2374897b7..aafb163b4 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -1,9 +1,10 @@ +g_mod_balance Nexuiz25 + // {{{ starting gear set g_start_weapon_laser -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_shotgun -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_uzi -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_grenadelauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_minelayer -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_electro -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_crylink -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_nex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" @@ -12,11 +13,8 @@ set g_start_weapon_rocketlauncher -1 "0 = never provide the weapon, 1 = always p set g_start_weapon_minstanex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_porto -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_hook -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_hlac -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_rifle -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_fireball -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_seeker -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_balance_health_start 150 set g_balance_armor_start 0 set g_start_ammo_shells 40 @@ -100,12 +98,14 @@ set g_pickup_respawntime_medium 20 set g_pickup_respawntime_long 30 set g_pickup_respawntime_powerup 120 set g_pickup_respawntime_weapon 15 +set g_pickup_respawntime_superweapon 120 set g_pickup_respawntime_ammo 15 set g_pickup_respawntimejitter_short 0 set g_pickup_respawntimejitter_medium 0 set g_pickup_respawntimejitter_long 0 set g_pickup_respawntimejitter_powerup 10 set g_pickup_respawntimejitter_weapon 0 +set g_pickup_respawntimejitter_superweapon 10 set g_pickup_respawntimejitter_ammo 0 // }}} @@ -158,17 +158,16 @@ set g_throughfloor_force 1 set g_projectiles_damage 2 // possible values: // -2: absolutely no damage to projectiles (no exceptions) -// -1: no damage other than the exceptions (electro combo, hagar join explode, minelayer mines) +// -1: no damage other than the exceptions (electro combo, hagar join explode, ML mines) // 0: only damage from contents (lava/slime) or exceptions // 1: only self damage or damage from contents or exceptions // 2: allow all damage to projectiles normally +set g_projectiles_keep_owner 0 set g_projectiles_newton_style 2 // possible values: // 0: absolute velocity projectiles (like Quake) // 1: relative velocity projectiles, "Newtonian" (like Tribes 2) // 2: relative velocity projectiles, but aim is precorrected so projectiles hit the crosshair (note: strafe rockets then are SLOWER than ones shot while standing, happens in 1 too when aiming correctly which is hard) -// 3: absolute velocity + player velocity component in shot direction (note: does NOT yield the right relative velocity, but may be good enough, but it is somewhat prone to sniper rockets) -// 4: just add the player velocity length to the absolute velocity (tZork's sniper rockets) set g_projectiles_newton_style_2_minfactor 0.7 set g_projectiles_newton_style_2_maxfactor 5 set g_projectiles_spread_style 0 @@ -203,6 +202,7 @@ set g_balance_powerup_strength_force 4 set g_balance_powerup_strength_time 30 set g_balance_powerup_strength_selfdamage 1.5 set g_balance_powerup_strength_selfforce 1.5 +set g_balance_superweapons_time 30 // }}} // {{{ jetpack/hook @@ -369,31 +369,6 @@ set g_balance_grenadelauncher_bouncestop 0.075 set g_balance_grenadelauncher_reload_ammo 0 //default: 12 set g_balance_grenadelauncher_reload_time 2 // }}} -// {{{ minelayer -set g_balance_minelayer_damage 35 -set g_balance_minelayer_edgedamage 30 -set g_balance_minelayer_force 250 -set g_balance_minelayer_radius 175 -set g_balance_minelayer_proximityradius 150 -set g_balance_minelayer_speed 750 -set g_balance_minelayer_lifetime 60 -set g_balance_minelayer_lifetime_countdown 0 -set g_balance_minelayer_refire 1.5 -set g_balance_minelayer_animtime 0.4 -set g_balance_minelayer_ammo 5 -set g_balance_minelayer_health 15 -set g_balance_minelayer_limit 4 // 0 disables the limit -set g_balance_minelayer_protection 1 // don't explode if the mine would hurt the owner or a team mate -set g_balance_minelayer_damageforcescale 0 -set g_balance_minelayer_detonatedelay -1 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time -set g_balance_minelayer_time 0.5 -set g_balance_minelayer_remote_damage 45 -set g_balance_minelayer_remote_edgedamage 40 -set g_balance_minelayer_remote_radius 200 -set g_balance_minelayer_remote_force 300 -set g_balance_minelayer_reload_ammo 0 //default: 15 -set g_balance_minelayer_reload_time 2 -// }}} // {{{ electro set g_balance_electro_lightning 0 set g_balance_electro_primary_damage 65 @@ -624,6 +599,11 @@ set g_balance_porto_primary_refire 1.5 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 // }}} @@ -649,77 +629,6 @@ set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds set g_balance_hook_secondary_health 0 set g_balance_hook_secondary_damageforcescale 0 // }}} -// {{{ hlac -set g_balance_hlac_primary_spread_min 0.01 -set g_balance_hlac_primary_spread_max 0.25 -set g_balance_hlac_primary_spread_add 0.0045 -set g_balance_hlac_primary_spread_crouchmod 0.25 - -set g_balance_hlac_primary_damage 23 -set g_balance_hlac_primary_edgedamage 10 -set g_balance_hlac_primary_force 100 -set g_balance_hlac_primary_radius 70 -set g_balance_hlac_primary_speed 9000 -set g_balance_hlac_primary_lifetime 5 - -set g_balance_hlac_primary_refire 0.1 -set g_balance_hlac_primary_animtime 0.4 -set g_balance_hlac_primary_ammo 1 - -set g_balance_hlac_secondary 1 -set g_balance_hlac_secondary_spread 0.15 -set g_balance_hlac_secondary_spread_crouchmod 0.5 - -set g_balance_hlac_secondary_damage 23 -set g_balance_hlac_secondary_edgedamage 10 -set g_balance_hlac_secondary_force 100 -set g_balance_hlac_secondary_radius 70 -set g_balance_hlac_secondary_speed 9000 -set g_balance_hlac_secondary_lifetime 5 - -set g_balance_hlac_secondary_refire 1 -set g_balance_hlac_secondary_animtime 0.3 -set g_balance_hlac_secondary_ammo 10 -set g_balance_hlac_secondary_shots 6 - -set g_balance_hlac_reload_ammo 0 //default: 20 -set g_balance_hlac_reload_time 2 -// }}} -// {{{ rifle -set g_balance_rifle_bursttime 0 -set g_balance_rifle_primary_tracer 0 -set g_balance_rifle_primary_shots 1 -set g_balance_rifle_primary_damage 60 -set g_balance_rifle_primary_headshotaddeddamage 100 -set g_balance_rifle_primary_spread 0 -set g_balance_rifle_primary_force 2 -set g_balance_rifle_primary_speed 35000 -set g_balance_rifle_primary_lifetime 5 -set g_balance_rifle_primary_refire 0.8 -set g_balance_rifle_primary_animtime 0.3 -set g_balance_rifle_primary_ammo 10 -set g_balance_rifle_primary_bulletconstant 130 // 56.3qu -set g_balance_rifle_primary_burstcost 0 -set g_balance_rifle_primary_bullethail 0 // empty magazine on shot -set g_balance_rifle_secondary 1 -set g_balance_rifle_secondary_reload 0 -set g_balance_rifle_secondary_tracer 0 -set g_balance_rifle_secondary_shots 1 -set g_balance_rifle_secondary_damage 35 -set g_balance_rifle_secondary_headshotaddeddamage 15 // 50 damage only on head -set g_balance_rifle_secondary_spread 0.008 -set g_balance_rifle_secondary_force 1 -set g_balance_rifle_secondary_speed 20000 -set g_balance_rifle_secondary_lifetime 5 -set g_balance_rifle_secondary_refire 0.15 -set g_balance_rifle_secondary_animtime 0.1 -set g_balance_rifle_secondary_ammo 10 -set g_balance_rifle_secondary_bulletconstant 130 // 18.3qu -set g_balance_rifle_secondary_burstcost 0 -set g_balance_rifle_secondary_bullethail 0 // empty magazine on shot -set g_balance_rifle_reload_ammo 80 //default: 80 -set g_balance_rifle_reload_time 2 -// }}} // {{{ tuba set g_balance_tuba_refire 0.05 set g_balance_tuba_animtime 0.05 @@ -733,7 +642,6 @@ set g_balance_tuba_force 40 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 @@ -753,7 +661,6 @@ set g_balance_fireball_primary_refire 5 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 @@ -769,60 +676,4 @@ set g_balance_fireball_secondary_speed 900 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_seeker_flac_ammo 0.5 -set g_balance_seeker_flac_animtime 0.1 -set g_balance_seeker_flac_damage 15 -set g_balance_seeker_flac_edgedamage 10 -set g_balance_seeker_flac_force 50 -set g_balance_seeker_flac_lifetime 0.1 -set g_balance_seeker_flac_lifetime_rand 0.05 -set g_balance_seeker_flac_radius 100 -set g_balance_seeker_flac_refire 0.1 -set g_balance_seeker_flac_speed 3000 -set g_balance_seeker_flac_speed_up 1000 -set g_balance_seeker_flac_speed_z 0 -set g_balance_seeker_flac_spread 0.4 -set g_balance_seeker_missile_accel 3000 -set g_balance_seeker_missile_ammo 2 -set g_balance_seeker_missile_animtime 0.3 -set g_balance_seeker_missile_count 4 -set g_balance_seeker_missile_damage 40 -set g_balance_seeker_missile_damageforcescale 4 -set g_balance_seeker_missile_decel 6000 -set g_balance_seeker_missile_delay 0.25 -set g_balance_seeker_missile_edgedamage 10 -set g_balance_seeker_missile_force 250 -set g_balance_seeker_missile_health 5 -set g_balance_seeker_missile_lifetime 15 -set g_balance_seeker_missile_proxy 0 -set g_balance_seeker_missile_proxy_delay 0.2 -set g_balance_seeker_missile_proxy_maxrange 45 -set g_balance_seeker_missile_radius 80 -set g_balance_seeker_missile_refire 0.5 -set g_balance_seeker_missile_smart 1 -set g_balance_seeker_missile_smart_mindist 800 -set g_balance_seeker_missile_smart_trace_max 2500 -set g_balance_seeker_missile_smart_trace_min 1000 -set g_balance_seeker_missile_speed 700 -set g_balance_seeker_missile_speed_up 300 -set g_balance_seeker_missile_speed_z 0 -set g_balance_seeker_missile_speed_max 1250 -set g_balance_seeker_missile_spread 0 -set g_balance_seeker_missile_turnrate 0.65 -set g_balance_seeker_tag_ammo 1 -set g_balance_seeker_tag_animtime 0.3 -set g_balance_seeker_tag_damageforcescale 4 -set g_balance_seeker_tag_health 5 -set g_balance_seeker_tag_lifetime 15 -set g_balance_seeker_tag_refire 0.7 -set g_balance_seeker_tag_speed 9000 -set g_balance_seeker_tag_spread 0 -set g_balance_seeker_tag_tracker_lifetime 10 -set g_balance_seeker_reload_ammo 0 //default: 15 -set g_balance_seeker_reload_time 2 -// End new seeker diff --git a/balanceFruitieX.cfg b/balanceFruitieX.cfg index 8a0bbc043..1bb898912 100644 --- a/balanceFruitieX.cfg +++ b/balanceFruitieX.cfg @@ -1,9 +1,10 @@ +g_mod_balance FruitieX + // {{{ starting gear set g_start_weapon_laser -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_shotgun -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_uzi -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_grenadelauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_minelayer -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_electro -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_crylink -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_nex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" @@ -12,11 +13,8 @@ set g_start_weapon_rocketlauncher -1 "0 = never provide the weapon, 1 = always p set g_start_weapon_minstanex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_porto -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_hook -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_hlac -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_rifle -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_fireball -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_seeker -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_balance_health_start 125 set g_balance_armor_start 0 set g_start_ammo_shells 20 @@ -100,12 +98,14 @@ set g_pickup_respawntime_medium 20 set g_pickup_respawntime_long 30 set g_pickup_respawntime_powerup 120 set g_pickup_respawntime_weapon 10 +set g_pickup_respawntime_superweapon 120 set g_pickup_respawntime_ammo 25 set g_pickup_respawntimejitter_short 0 set g_pickup_respawntimejitter_medium 0 set g_pickup_respawntimejitter_long 0 set g_pickup_respawntimejitter_powerup 10 set g_pickup_respawntimejitter_weapon 0 +set g_pickup_respawntimejitter_superweapon 10 set g_pickup_respawntimejitter_ammo 0 // }}} @@ -158,17 +158,16 @@ set g_throughfloor_force 0.8 set g_projectiles_damage 2 // possible values: // -2: absolutely no damage to projectiles (no exceptions) -// -1: no damage other than the exceptions (electro combo, hagar join explode, minelayer mines) +// -1: no damage other than the exceptions (electro combo, hagar join explode, ML mines) // 0: only damage from contents (lava/slime) or exceptions // 1: only self damage or damage from contents or exceptions // 2: allow all damage to projectiles normally +set g_projectiles_keep_owner 0 set g_projectiles_newton_style 2 // possible values: // 0: absolute velocity projectiles (like Quake) // 1: relative velocity projectiles, "Newtonian" (like Tribes 2) // 2: relative velocity projectiles, but aim is precorrected so projectiles hit the crosshair (note: strafe rockets then are SLOWER than ones shot while standing, happens in 1 too when aiming correctly which is hard) -// 3: absolute velocity + player velocity component in shot direction (note: does NOT yield the right relative velocity, but may be good enough, but it is somewhat prone to sniper rockets) -// 4: just add the player velocity length to the absolute velocity (tZork's sniper rockets) set g_projectiles_newton_style_2_minfactor 0.7 set g_projectiles_newton_style_2_maxfactor 5 set g_projectiles_spread_style 7 @@ -203,6 +202,7 @@ set g_balance_powerup_strength_force 4 set g_balance_powerup_strength_time 30 set g_balance_powerup_strength_selfdamage 1.5 set g_balance_powerup_strength_selfforce 1.5 +set g_balance_superweapons_time 30 // }}} // {{{ jetpack/hook @@ -369,31 +369,6 @@ set g_balance_grenadelauncher_bouncestop 0.12 set g_balance_grenadelauncher_reload_ammo 0 //default: 12 set g_balance_grenadelauncher_reload_time 2 // }}} -// {{{ minelayer -set g_balance_minelayer_damage 42 -set g_balance_minelayer_edgedamage 30 -set g_balance_minelayer_force 250 -set g_balance_minelayer_radius 175 -set g_balance_minelayer_proximityradius 150 -set g_balance_minelayer_speed 750 -set g_balance_minelayer_lifetime 60 -set g_balance_minelayer_lifetime_countdown 0 -set g_balance_minelayer_refire 1.5 -set g_balance_minelayer_animtime 0.3 -set g_balance_minelayer_ammo 5 -set g_balance_minelayer_health 15 -set g_balance_minelayer_limit 3 // 0 disables the limit // LOG: 4 -> 3 -set g_balance_minelayer_protection 1 // don't explode if the mine would hurt the owner or a team mate -set g_balance_minelayer_damageforcescale 0 -set g_balance_minelayer_detonatedelay -1 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time -set g_balance_minelayer_time 0.5 -set g_balance_minelayer_remote_damage 45 -set g_balance_minelayer_remote_edgedamage 40 -set g_balance_minelayer_remote_radius 200 -set g_balance_minelayer_remote_force 300 -set g_balance_minelayer_reload_ammo 0 //default: 15 -set g_balance_minelayer_reload_time 2 -// }}} // {{{ electro set g_balance_electro_lightning 1 set g_balance_electro_primary_damage 100 @@ -624,6 +599,11 @@ set g_balance_porto_primary_refire 1.5 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 // }}} @@ -649,77 +629,6 @@ set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds set g_balance_hook_secondary_health 0 set g_balance_hook_secondary_damageforcescale 0 // }}} -// {{{ hlac -set g_balance_hlac_primary_spread_min 0.01 -set g_balance_hlac_primary_spread_max 0.075 -set g_balance_hlac_primary_spread_add 0.001 -set g_balance_hlac_primary_spread_crouchmod 0.25 - -set g_balance_hlac_primary_damage 15 -set g_balance_hlac_primary_edgedamage 10 -set g_balance_hlac_primary_force 70 -set g_balance_hlac_primary_radius 40 -set g_balance_hlac_primary_speed 9000 -set g_balance_hlac_primary_lifetime 5 - -set g_balance_hlac_primary_refire 0.1 -set g_balance_hlac_primary_animtime 0.2 -set g_balance_hlac_primary_ammo 1 - -set g_balance_hlac_secondary 1 -set g_balance_hlac_secondary_spread 0.15 -set g_balance_hlac_secondary_spread_crouchmod 0.5 - -set g_balance_hlac_secondary_damage 20 -set g_balance_hlac_secondary_edgedamage 13 -set g_balance_hlac_secondary_force 100 -set g_balance_hlac_secondary_radius 45 -set g_balance_hlac_secondary_speed 9000 -set g_balance_hlac_secondary_lifetime 5 - -set g_balance_hlac_secondary_refire 0.8 -set g_balance_hlac_secondary_animtime 0.4 -set g_balance_hlac_secondary_ammo 4 -set g_balance_hlac_secondary_shots 6 - -set g_balance_hlac_reload_ammo 0 //default: 20 -set g_balance_hlac_reload_time 2 -// }}} -// {{{ rifle -set g_balance_rifle_bursttime 0 -set g_balance_rifle_primary_tracer 1 -set g_balance_rifle_primary_shots 1 -set g_balance_rifle_primary_damage 60 -set g_balance_rifle_primary_headshotaddeddamage 60 -set g_balance_rifle_primary_spread 0 -set g_balance_rifle_primary_force 2 -set g_balance_rifle_primary_speed 40000 -set g_balance_rifle_primary_lifetime 5 -set g_balance_rifle_primary_refire 1.5 -set g_balance_rifle_primary_animtime 1.4 -set g_balance_rifle_primary_ammo 10 -set g_balance_rifle_primary_bulletconstant 110 // 62.2qu -set g_balance_rifle_primary_burstcost 0 -set g_balance_rifle_primary_bullethail 0 // empty magazine on shot -set g_balance_rifle_secondary 1 -set g_balance_rifle_secondary_reload 1 -set g_balance_rifle_secondary_tracer 0 -set g_balance_rifle_secondary_shots 1 -set g_balance_rifle_secondary_damage 42 -set g_balance_rifle_secondary_headshotaddeddamage 42 -set g_balance_rifle_secondary_spread 0 -set g_balance_rifle_secondary_force 2 -set g_balance_rifle_secondary_speed 20000 -set g_balance_rifle_secondary_lifetime 5 -set g_balance_rifle_secondary_refire 1.5 -set g_balance_rifle_secondary_animtime 1.4 -set g_balance_rifle_secondary_ammo 10 -set g_balance_rifle_secondary_bulletconstant 110 // 15.5qu -set g_balance_rifle_secondary_burstcost 0 -set g_balance_rifle_secondary_bullethail 0 // empty magazine on shot -set g_balance_rifle_reload_ammo 80 //default: 80 -set g_balance_rifle_reload_time 2 -// }}} // {{{ tuba set g_balance_tuba_refire 0.05 set g_balance_tuba_animtime 0.05 @@ -733,7 +642,6 @@ set g_balance_tuba_force 40 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 @@ -753,7 +661,6 @@ set g_balance_fireball_primary_refire 5 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 @@ -769,60 +676,4 @@ set g_balance_fireball_secondary_speed 900 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_seeker_flac_ammo 0.5 -set g_balance_seeker_flac_animtime 0.1 -set g_balance_seeker_flac_damage 15 -set g_balance_seeker_flac_edgedamage 10 -set g_balance_seeker_flac_force 50 -set g_balance_seeker_flac_lifetime 0.1 -set g_balance_seeker_flac_lifetime_rand 0.05 -set g_balance_seeker_flac_radius 100 -set g_balance_seeker_flac_refire 0.1 -set g_balance_seeker_flac_speed 3000 -set g_balance_seeker_flac_speed_up 1000 -set g_balance_seeker_flac_speed_z 0 -set g_balance_seeker_flac_spread 0.4 -set g_balance_seeker_missile_accel 1400 -set g_balance_seeker_missile_ammo 2 -set g_balance_seeker_missile_animtime 0.2 -set g_balance_seeker_missile_count 3 // LOG: 8 -> 3 -set g_balance_seeker_missile_damage 30 // LOG: 15 -> 30 -set g_balance_seeker_missile_damageforcescale 4 -set g_balance_seeker_missile_decel 1400 -set g_balance_seeker_missile_delay 0.25 -set g_balance_seeker_missile_edgedamage 10 -set g_balance_seeker_missile_force 150 // LOG: 100 -> 150 -set g_balance_seeker_missile_health 5 -set g_balance_seeker_missile_lifetime 15 -set g_balance_seeker_missile_proxy 0 -set g_balance_seeker_missile_proxy_delay 0.2 -set g_balance_seeker_missile_proxy_maxrange 45 -set g_balance_seeker_missile_radius 80 -set g_balance_seeker_missile_refire 0.5 -set g_balance_seeker_missile_smart 1 -set g_balance_seeker_missile_smart_mindist 800 -set g_balance_seeker_missile_smart_trace_max 2500 -set g_balance_seeker_missile_smart_trace_min 1000 -set g_balance_seeker_missile_speed 700 -set g_balance_seeker_missile_speed_up 300 -set g_balance_seeker_missile_speed_z 0 -set g_balance_seeker_missile_speed_max 1300 // LOG: 1400 -> 1300 -set g_balance_seeker_missile_spread 0 -set g_balance_seeker_missile_turnrate 0.65 -set g_balance_seeker_tag_ammo 1 -set g_balance_seeker_tag_animtime 0.2 -set g_balance_seeker_tag_damageforcescale 4 -set g_balance_seeker_tag_health 5 -set g_balance_seeker_tag_lifetime 15 -set g_balance_seeker_tag_refire 0.75 // LOG: 0.7 -> 0.75 -set g_balance_seeker_tag_speed 5000 -set g_balance_seeker_tag_spread 0 -set g_balance_seeker_tag_tracker_lifetime 10 -set g_balance_seeker_reload_ammo 0 //default: 15 -set g_balance_seeker_reload_time 2 -// End new seeker diff --git a/balanceXPM.cfg b/balanceXPM.cfg index a866d7524..759551d8d 100644 --- a/balanceXPM.cfg +++ b/balanceXPM.cfg @@ -1,9 +1,10 @@ +g_mod_balance XPM + // {{{ starting gear set g_start_weapon_laser -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_shotgun -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_uzi -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_grenadelauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_minelayer -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_electro -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_crylink -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_nex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" @@ -12,11 +13,8 @@ set g_start_weapon_rocketlauncher -1 "0 = never provide the weapon, 1 = always p set g_start_weapon_minstanex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_porto -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_hook -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_hlac -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE -set g_start_weapon_rifle -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_start_weapon_fireball -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_seeker -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" set g_balance_health_start 100 set g_balance_armor_start 0 set g_start_ammo_shells 15 @@ -73,39 +71,41 @@ set g_pickup_fuel_jetpack 100 set g_pickup_fuel_max 100 set g_pickup_armorsmall 5 set g_pickup_armorsmall_max 200 -set g_pickup_armorsmall_anyway 1 +set g_pickup_armorsmall_anyway 0 set g_pickup_armormedium 25 -set g_pickup_armormedium_max 200 -set g_pickup_armormedium_anyway 1 +set g_pickup_armormedium_max 100 +set g_pickup_armormedium_anyway 0 set g_pickup_armorbig 50 -set g_pickup_armorbig_max 200 -set g_pickup_armorbig_anyway 1 +set g_pickup_armorbig_max 100 +set g_pickup_armorbig_anyway 0 set g_pickup_armorlarge 100 set g_pickup_armorlarge_max 200 -set g_pickup_armorlarge_anyway 1 +set g_pickup_armorlarge_anyway 0 set g_pickup_healthsmall 5 set g_pickup_healthsmall_max 200 -set g_pickup_healthsmall_anyway 1 +set g_pickup_healthsmall_anyway 0 set g_pickup_healthmedium 25 -set g_pickup_healthmedium_max 200 -set g_pickup_healthmedium_anyway 1 +set g_pickup_healthmedium_max 100 +set g_pickup_healthmedium_anyway 0 set g_pickup_healthlarge 50 -set g_pickup_healthlarge_max 200 -set g_pickup_healthlarge_anyway 1 +set g_pickup_healthlarge_max 100 +set g_pickup_healthlarge_anyway 0 set g_pickup_healthmega 100 set g_pickup_healthmega_max 200 -set g_pickup_healthmega_anyway 1 +set g_pickup_healthmega_anyway 0 set g_pickup_respawntime_short 15 set g_pickup_respawntime_medium 20 set g_pickup_respawntime_long 30 set g_pickup_respawntime_powerup 120 set g_pickup_respawntime_weapon 10 +set g_pickup_respawntime_superweapon 120 set g_pickup_respawntime_ammo 15 set g_pickup_respawntimejitter_short 0 set g_pickup_respawntimejitter_medium 0 set g_pickup_respawntimejitter_long 0 set g_pickup_respawntimejitter_powerup 30 set g_pickup_respawntimejitter_weapon 0 +set g_pickup_respawntimejitter_superweapon 10 set g_pickup_respawntimejitter_ammo 0 // }}} @@ -114,7 +114,7 @@ set g_balance_health_regen 0.08 set g_balance_health_regenlinear 0.5 set g_balance_pause_health_regen 5 set g_balance_pause_health_regen_spawn 0 -set g_balance_health_rot 0.04 +set g_balance_health_rot 0.03 set g_balance_health_rotlinear 0.75 set g_balance_pause_health_rot 1 set g_balance_pause_health_rot_spawn 5 @@ -123,7 +123,7 @@ set g_balance_health_rotstable 100 set g_balance_health_limit 999 set g_balance_armor_regen 0 set g_balance_armor_regenlinear 0 -set g_balance_armor_rot 0.04 +set g_balance_armor_rot 0.03 set g_balance_armor_rotlinear 0.75 set g_balance_pause_armor_rot 1 set g_balance_pause_armor_rot_spawn 5 @@ -145,7 +145,7 @@ set g_balance_fuel_limit 999 // {{{ misc set g_balance_selfdamagepercent 0.65 -set g_balance_weaponswitchdelay 0.15 +set g_balance_weaponswitchdelay 0.2 set g_weaponspeedfactor 1 "weapon projectile speed multiplier" set g_weaponratefactor 1 "weapon fire rate multiplier" set g_weapondamagefactor 1 "weapon damage multiplier" @@ -158,17 +158,16 @@ set g_throughfloor_force 0.75 set g_projectiles_damage 1 // possible values: // -2: absolutely no damage to projectiles (no exceptions) -// -1: no damage other than the exceptions (electro combo, hagar join explode, minelayer mines) +// -1: no damage other than the exceptions (electro combo, hagar join explode, ML mines) // 0: only damage from contents (lava/slime) or exceptions // 1: only self damage or damage from contents or exceptions // 2: allow all damage to projectiles normally +set g_projectiles_keep_owner 0 set g_projectiles_newton_style 0 // possible values: // 0: absolute velocity projectiles (like Quake) // 1: relative velocity projectiles, "Newtonian" (like Tribes 2) // 2: relative velocity projectiles, but aim is precorrected so projectiles hit the crosshair (note: strafe rockets then are SLOWER than ones shot while standing, happens in 1 too when aiming correctly which is hard) -// 3: absolute velocity + player velocity component in shot direction (note: does NOT yield the right relative velocity, but may be good enough, but it is somewhat prone to sniper rockets) -// 4: just add the player velocity length to the absolute velocity (tZork's sniper rockets) set g_projectiles_newton_style_2_minfactor 0.8 set g_projectiles_newton_style_2_maxfactor 1.5 set g_projectiles_spread_style 7 @@ -203,6 +202,7 @@ set g_balance_powerup_strength_force 3 set g_balance_powerup_strength_time 30 set g_balance_powerup_strength_selfdamage 1.5 set g_balance_powerup_strength_selfforce 1.5 +set g_balance_superweapons_time 30 // }}} // {{{ jetpack/hook @@ -235,7 +235,7 @@ set g_balance_laser_primary_radius 70 set g_balance_laser_primary_speed 6000 set g_balance_laser_primary_spread 0 set g_balance_laser_primary_refire 0.7 -set g_balance_laser_primary_animtime 0.3 +set g_balance_laser_primary_animtime 0.2 set g_balance_laser_primary_lifetime 5 set g_balance_laser_primary_shotangle 0 set g_balance_laser_primary_delay 0 @@ -251,7 +251,7 @@ set g_balance_laser_secondary_radius 70 set g_balance_laser_secondary_speed 12000 set g_balance_laser_secondary_spread 0 set g_balance_laser_secondary_refire 0.7 -set g_balance_laser_secondary_animtime 0.3 +set g_balance_laser_secondary_animtime 0.2 set g_balance_laser_secondary_lifetime 5 set g_balance_laser_secondary_shotangle -90 set g_balance_laser_secondary_delay 0 @@ -369,31 +369,6 @@ set g_balance_grenadelauncher_bouncestop 0.075 set g_balance_grenadelauncher_reload_ammo 0 //default: 12 set g_balance_grenadelauncher_reload_time 2 // }}} -// {{{ minelayer -set g_balance_minelayer_damage 40 -set g_balance_minelayer_edgedamage 20 -set g_balance_minelayer_force 250 -set g_balance_minelayer_radius 175 -set g_balance_minelayer_proximityradius 150 -set g_balance_minelayer_speed 1000 -set g_balance_minelayer_lifetime 10 -set g_balance_minelayer_lifetime_countdown 0.5 -set g_balance_minelayer_refire 1.5 -set g_balance_minelayer_animtime 0.4 -set g_balance_minelayer_ammo 4 -set g_balance_minelayer_health 15 -set g_balance_minelayer_limit 3 // 0 disables the limit -set g_balance_minelayer_protection 0 // don't explode if the mine would hurt the owner or a team mate -set g_balance_minelayer_damageforcescale 0 -set g_balance_minelayer_detonatedelay -1 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time -set g_balance_minelayer_time 0.5 -set g_balance_minelayer_remote_damage 45 -set g_balance_minelayer_remote_edgedamage 40 -set g_balance_minelayer_remote_radius 200 -set g_balance_minelayer_remote_force 300 -set g_balance_minelayer_reload_ammo 0 //default: 15 -set g_balance_minelayer_reload_time 2 -// }}} // {{{ electro set g_balance_electro_lightning 0 set g_balance_electro_primary_damage 40 @@ -401,12 +376,12 @@ set g_balance_electro_primary_edgedamage 20 set g_balance_electro_primary_force 200 set g_balance_electro_primary_force_up 0 set g_balance_electro_primary_radius 100 -set g_balance_electro_primary_comboradius 150 +set g_balance_electro_primary_comboradius 200 set g_balance_electro_primary_speed 2500 set g_balance_electro_primary_spread 0 set g_balance_electro_primary_lifetime 5 set g_balance_electro_primary_refire 0.6 -set g_balance_electro_primary_animtime 0.1 +set g_balance_electro_primary_animtime 0.3 set g_balance_electro_primary_ammo 4 set g_balance_electro_primary_range 0 set g_balance_electro_primary_falloff_mindist 255 // 0.3 * radius @@ -416,10 +391,10 @@ set g_balance_electro_secondary_damage 40 set g_balance_electro_secondary_edgedamage 20 set g_balance_electro_secondary_force 50 set g_balance_electro_secondary_radius 150 -set g_balance_electro_secondary_speed 900 +set g_balance_electro_secondary_speed 1000 set g_balance_electro_secondary_speed_up 200 set g_balance_electro_secondary_speed_z 0 -set g_balance_electro_secondary_spread 0.05 +set g_balance_electro_secondary_spread 0.04 set g_balance_electro_secondary_lifetime 3 set g_balance_electro_secondary_refire 0.2 set g_balance_electro_secondary_refire2 1.5 @@ -429,22 +404,22 @@ set g_balance_electro_secondary_health 5 set g_balance_electro_secondary_damageforcescale 4 set g_balance_electro_secondary_damagedbycontents 1 set g_balance_electro_secondary_count 3 -set g_balance_electro_secondary_bouncefactor 0.4 +set g_balance_electro_secondary_bouncefactor 0.3 set g_balance_electro_secondary_bouncestop 0.05 set g_balance_electro_combo_damage 50 set g_balance_electro_combo_edgedamage 25 set g_balance_electro_combo_force 120 set g_balance_electro_combo_radius 175 -set g_balance_electro_combo_comboradius 275 +set g_balance_electro_combo_comboradius 300 set g_balance_electro_combo_speed 2000 -set g_balance_electro_combo_safeammocheck 0 +set g_balance_electro_combo_safeammocheck 1 set g_balance_electro_reload_ammo 0 //default: 20 set g_balance_electro_reload_time 2 // }}} // {{{ crylink -set g_balance_crylink_primary_damage 10 -set g_balance_crylink_primary_edgedamage 5 -set g_balance_crylink_primary_force -55 +set g_balance_crylink_primary_damage 12 +set g_balance_crylink_primary_edgedamage 6 +set g_balance_crylink_primary_force -60 set g_balance_crylink_primary_radius 80 set g_balance_crylink_primary_speed 2000 set g_balance_crylink_primary_spread 0.08 @@ -504,7 +479,7 @@ set g_balance_crylink_reload_time 2 set g_balance_nex_primary_damage 90 set g_balance_nex_primary_force 400 set g_balance_nex_primary_refire 1.5 -set g_balance_nex_primary_animtime 0.45 +set g_balance_nex_primary_animtime 0.4 set g_balance_nex_primary_ammo 6 set g_balance_nex_primary_damagefalloff_mindist 0 // 1000 For tZork ;3 set g_balance_nex_primary_damagefalloff_maxdist 0 // 3000 @@ -561,7 +536,7 @@ set g_balance_hagar_primary_force 100 set g_balance_hagar_primary_health 15 set g_balance_hagar_primary_damageforcescale 0 set g_balance_hagar_primary_radius 65 -set g_balance_hagar_primary_spread 0.04 +set g_balance_hagar_primary_spread 0.03 set g_balance_hagar_primary_speed 2200 set g_balance_hagar_primary_lifetime 5 set g_balance_hagar_primary_refire 0.16667 // 6 rockets per second @@ -602,7 +577,7 @@ set g_balance_rocketlauncher_speedaccel 1300 set g_balance_rocketlauncher_speedstart 1000 set g_balance_rocketlauncher_lifetime 10 set g_balance_rocketlauncher_refire 1.1 -set g_balance_rocketlauncher_animtime 0.35 +set g_balance_rocketlauncher_animtime 0.4 set g_balance_rocketlauncher_ammo 4 set g_balance_rocketlauncher_health 30 // 30 // 5 hitpoints above maximum laser value -- this way lasers can't blow it up, but grenadelauncher still can most the time. set g_balance_rocketlauncher_damageforcescale 1 // low damage force scale so that it can still be affected by other hits, but not so much that it does a 90 degree turn @@ -624,6 +599,11 @@ set g_balance_porto_primary_refire 1.5 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 // }}} @@ -649,77 +629,6 @@ set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds set g_balance_hook_secondary_health 15 set g_balance_hook_secondary_damageforcescale 0 // }}} -// {{{ hlac // TO BE REMOVED -set g_balance_hlac_primary_spread_min 0.01 -set g_balance_hlac_primary_spread_max 0.25 -set g_balance_hlac_primary_spread_add 0.0045 -set g_balance_hlac_primary_spread_crouchmod 0.25 - -set g_balance_hlac_primary_damage 18 -set g_balance_hlac_primary_edgedamage 9 -set g_balance_hlac_primary_force 90 -set g_balance_hlac_primary_radius 70 -set g_balance_hlac_primary_speed 9000 -set g_balance_hlac_primary_lifetime 5 - -set g_balance_hlac_primary_refire 0.15 -set g_balance_hlac_primary_animtime 0.4 -set g_balance_hlac_primary_ammo 1 - -set g_balance_hlac_secondary 1 -set g_balance_hlac_secondary_spread 0.15 -set g_balance_hlac_secondary_spread_crouchmod 0.5 - -set g_balance_hlac_secondary_damage 15 -set g_balance_hlac_secondary_edgedamage 7.5 -set g_balance_hlac_secondary_force 90 -set g_balance_hlac_secondary_radius 70 -set g_balance_hlac_secondary_speed 9000 -set g_balance_hlac_secondary_lifetime 5 - -set g_balance_hlac_secondary_refire 1 -set g_balance_hlac_secondary_animtime 0.3 -set g_balance_hlac_secondary_ammo 10 -set g_balance_hlac_secondary_shots 6 - -set g_balance_hlac_reload_ammo 0 //default: 20 -set g_balance_hlac_reload_time 2 -// }}} -// {{{ rifle -set g_balance_rifle_bursttime 0 -set g_balance_rifle_primary_tracer 1 -set g_balance_rifle_primary_shots 1 -set g_balance_rifle_primary_damage 40 -set g_balance_rifle_primary_headshotaddeddamage 40 -set g_balance_rifle_primary_spread 0 -set g_balance_rifle_primary_force 100 -set g_balance_rifle_primary_speed 40000 -set g_balance_rifle_primary_lifetime 5 -set g_balance_rifle_primary_refire 1.2 -set g_balance_rifle_primary_animtime 0.4 -set g_balance_rifle_primary_ammo 10 -set g_balance_rifle_primary_bulletconstant 110 // 62.2qu -set g_balance_rifle_primary_burstcost 0 -set g_balance_rifle_primary_bullethail 0 // empty magazine on shot -set g_balance_rifle_secondary 1 -set g_balance_rifle_secondary_reload 0 -set g_balance_rifle_secondary_tracer 0 -set g_balance_rifle_secondary_shots 4 -set g_balance_rifle_secondary_damage 10 -set g_balance_rifle_secondary_headshotaddeddamage 20 -set g_balance_rifle_secondary_spread 0.04 -set g_balance_rifle_secondary_force 50 -set g_balance_rifle_secondary_speed 20000 -set g_balance_rifle_secondary_lifetime 5 -set g_balance_rifle_secondary_refire 0.9 -set g_balance_rifle_secondary_animtime 0.3 -set g_balance_rifle_secondary_ammo 10 -set g_balance_rifle_secondary_bulletconstant 110 // 15.5qu -set g_balance_rifle_secondary_burstcost 0 -set g_balance_rifle_secondary_bullethail 0 // empty magazine on shot -set g_balance_rifle_reload_ammo 80 //default: 80 -set g_balance_rifle_reload_time 2 -// }}} // {{{ tuba set g_balance_tuba_refire 0.05 set g_balance_tuba_animtime 0.05 @@ -733,8 +642,7 @@ set g_balance_tuba_force 40 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_animtime 0.4 set g_balance_fireball_primary_bfgdamage 100 set g_balance_fireball_primary_bfgforce 0 set g_balance_fireball_primary_bfgradius 1000 @@ -753,7 +661,6 @@ set g_balance_fireball_primary_refire 2 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 @@ -769,60 +676,4 @@ set g_balance_fireball_secondary_speed 900 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_seeker_flac_ammo 0.5 -set g_balance_seeker_flac_animtime 0.1 -set g_balance_seeker_flac_damage 15 -set g_balance_seeker_flac_edgedamage 10 -set g_balance_seeker_flac_force 50 -set g_balance_seeker_flac_lifetime 0.1 -set g_balance_seeker_flac_lifetime_rand 0.05 -set g_balance_seeker_flac_radius 100 -set g_balance_seeker_flac_refire 0.1 -set g_balance_seeker_flac_speed 3000 -set g_balance_seeker_flac_speed_up 1000 -set g_balance_seeker_flac_speed_z 0 -set g_balance_seeker_flac_spread 0.4 -set g_balance_seeker_tag_ammo 1 -set g_balance_seeker_tag_animtime 0.2 -set g_balance_seeker_tag_damageforcescale 0 -set g_balance_seeker_tag_health 0 -set g_balance_seeker_tag_lifetime 15 -set g_balance_seeker_tag_refire 0.75 // LOG: 0.7 -> 0.75 -set g_balance_seeker_tag_speed 5000 -set g_balance_seeker_tag_spread 0 -set g_balance_seeker_tag_tracker_lifetime 10 -set g_balance_seeker_missile_accel 1500 -set g_balance_seeker_missile_ammo 2 -set g_balance_seeker_missile_animtime 0.2 -set g_balance_seeker_missile_count 3 // LOG: 8 -> 3 -set g_balance_seeker_missile_damage 16 // LOG: 15 -> 30 -set g_balance_seeker_missile_damageforcescale 4 -set g_balance_seeker_missile_decel 6000 -set g_balance_seeker_missile_delay 0.25 -set g_balance_seeker_missile_edgedamage 8 -set g_balance_seeker_missile_force 50 // LOG: 100 -> 150 -set g_balance_seeker_missile_health 1 -set g_balance_seeker_missile_lifetime 15 -set g_balance_seeker_missile_proxy 0 -set g_balance_seeker_missile_proxy_delay 0.2 -set g_balance_seeker_missile_proxy_maxrange 45 -set g_balance_seeker_missile_radius 70 -set g_balance_seeker_missile_refire 0.25 -set g_balance_seeker_missile_smart 0 -set g_balance_seeker_missile_smart_mindist 800 -set g_balance_seeker_missile_smart_trace_max 2500 -set g_balance_seeker_missile_smart_trace_min 1000 -set g_balance_seeker_missile_speed 1500 -set g_balance_seeker_missile_speed_up 0 -set g_balance_seeker_missile_speed_z 0 -set g_balance_seeker_missile_speed_max 2000 // LOG: 1400 -> 1300 -set g_balance_seeker_missile_spread 0 -set g_balance_seeker_missile_turnrate 0.15 -set g_balance_seeker_reload_ammo 0 //default: 15 -set g_balance_seeker_reload_time 2 -// End new seeker diff --git a/balanceXonotic.cfg b/balanceXonotic.cfg index b4e368a28..52c8a74d8 100644 --- a/balanceXonotic.cfg +++ b/balanceXonotic.cfg @@ -1,22 +1,20 @@ +g_mod_balance Xonotic + // {{{ starting gear -set g_start_weapon_laser -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_shotgun -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_uzi -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_grenadelauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_minelayer -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_electro -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_crylink -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_nex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_hagar -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE -set g_start_weapon_rocketlauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_minstanex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_porto -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_hook -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_hlac -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE -set g_start_weapon_rifle -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE -set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_fireball -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" -set g_start_weapon_seeker -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" +set g_start_weapon_laser -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_shotgun -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_uzi -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_grenadelauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_electro -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_crylink -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_nex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_hagar -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" // UNTIL IT CAN BE REMOVED FROM CODE +set g_start_weapon_rocketlauncher -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_minstanex -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_porto -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_hook -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" +set g_start_weapon_fireball -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default" set g_balance_health_start 100 set g_balance_armor_start 0 set g_start_ammo_shells 15 @@ -100,12 +98,14 @@ set g_pickup_respawntime_medium 20 set g_pickup_respawntime_long 30 set g_pickup_respawntime_powerup 120 set g_pickup_respawntime_weapon 10 +set g_pickup_respawntime_superweapon 120 set g_pickup_respawntime_ammo 10 set g_pickup_respawntimejitter_short 0 set g_pickup_respawntimejitter_medium 0 set g_pickup_respawntimejitter_long 0 set g_pickup_respawntimejitter_powerup 30 set g_pickup_respawntimejitter_weapon 0 +set g_pickup_respawntimejitter_superweapon 10 set g_pickup_respawntimejitter_ammo 0 // }}} @@ -145,7 +145,7 @@ set g_balance_fuel_limit 999 // {{{ misc set g_balance_selfdamagepercent 0.65 -set g_balance_weaponswitchdelay 0.15 +set g_balance_weaponswitchdelay 0.2 set g_weaponspeedfactor 1 "weapon projectile speed multiplier" set g_weaponratefactor 1 "weapon fire rate multiplier" set g_weapondamagefactor 1 "weapon damage multiplier" @@ -158,17 +158,16 @@ set g_throughfloor_force 0.75 set g_projectiles_damage 2 // possible values: // -2: absolutely no damage to projectiles (no exceptions) -// -1: no damage other than the exceptions (electro combo, hagar join explode, minelayer mines) +// -1: no damage other than the exceptions (electro combo, hagar join explode, ML mines) // 0: only damage from contents (lava/slime) or exceptions // 1: only self damage or damage from contents or exceptions // 2: allow all damage to projectiles normally +set g_projectiles_keep_owner 0 set g_projectiles_newton_style 2 // possible values: // 0: absolute velocity projectiles (like Quake) // 1: relative velocity projectiles, "Newtonian" (like Tribes 2) // 2: relative velocity projectiles, but aim is precorrected so projectiles hit the crosshair (note: strafe rockets then are SLOWER than ones shot while standing, happens in 1 too when aiming correctly which is hard) -// 3: absolute velocity + player velocity component in shot direction (note: does NOT yield the right relative velocity, but may be good enough, but it is somewhat prone to sniper rockets) -// 4: just add the player velocity length to the absolute velocity (tZork's sniper rockets) set g_projectiles_newton_style_2_minfactor 0.8 set g_projectiles_newton_style_2_maxfactor 1.5 set g_projectiles_spread_style 7 @@ -203,6 +202,7 @@ set g_balance_powerup_strength_force 3 set g_balance_powerup_strength_time 30 set g_balance_powerup_strength_selfdamage 1.5 set g_balance_powerup_strength_selfforce 1.5 +set g_balance_superweapons_time 30 // }}} // {{{ jetpack/hook @@ -235,7 +235,7 @@ set g_balance_laser_primary_radius 70 set g_balance_laser_primary_speed 6000 set g_balance_laser_primary_spread 0 set g_balance_laser_primary_refire 0.7 -set g_balance_laser_primary_animtime 0.3 +set g_balance_laser_primary_animtime 0.2 set g_balance_laser_primary_lifetime 5 set g_balance_laser_primary_shotangle 0 set g_balance_laser_primary_delay 0 @@ -251,7 +251,7 @@ set g_balance_laser_secondary_radius 70 set g_balance_laser_secondary_speed 12000 set g_balance_laser_secondary_spread 0 set g_balance_laser_secondary_refire 0.7 -set g_balance_laser_secondary_animtime 0.3 +set g_balance_laser_secondary_animtime 0.2 set g_balance_laser_secondary_lifetime 5 set g_balance_laser_secondary_shotangle -90 set g_balance_laser_secondary_delay 0 @@ -369,31 +369,6 @@ set g_balance_grenadelauncher_bouncestop 0.075 set g_balance_grenadelauncher_reload_ammo 0 //default: 12 set g_balance_grenadelauncher_reload_time 2 // }}} -// {{{ minelayer -set g_balance_minelayer_damage 40 -set g_balance_minelayer_edgedamage 20 -set g_balance_minelayer_force 250 -set g_balance_minelayer_radius 175 -set g_balance_minelayer_proximityradius 150 -set g_balance_minelayer_speed 1000 -set g_balance_minelayer_lifetime 10 -set g_balance_minelayer_lifetime_countdown 0.5 -set g_balance_minelayer_refire 1.5 -set g_balance_minelayer_animtime 0.4 -set g_balance_minelayer_ammo 4 -set g_balance_minelayer_health 15 -set g_balance_minelayer_limit 3 // 0 disables the limit -set g_balance_minelayer_protection 0 // don't explode if the mine would hurt the owner or a team mate -set g_balance_minelayer_damageforcescale 0 -set g_balance_minelayer_detonatedelay -1 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time -set g_balance_minelayer_time 0.5 -set g_balance_minelayer_remote_damage 45 -set g_balance_minelayer_remote_edgedamage 40 -set g_balance_minelayer_remote_radius 200 -set g_balance_minelayer_remote_force 300 -set g_balance_minelayer_reload_ammo 0 //default: 15 -set g_balance_minelayer_reload_time 2 -// }}} // {{{ electro set g_balance_electro_lightning 0 set g_balance_electro_primary_damage 40 @@ -401,12 +376,12 @@ set g_balance_electro_primary_edgedamage 20 set g_balance_electro_primary_force 200 set g_balance_electro_primary_force_up 0 set g_balance_electro_primary_radius 100 -set g_balance_electro_primary_comboradius 150 +set g_balance_electro_primary_comboradius 200 set g_balance_electro_primary_speed 2500 set g_balance_electro_primary_spread 0 set g_balance_electro_primary_lifetime 5 set g_balance_electro_primary_refire 0.6 -set g_balance_electro_primary_animtime 0.1 +set g_balance_electro_primary_animtime 0.3 set g_balance_electro_primary_ammo 4 set g_balance_electro_primary_range 0 set g_balance_electro_primary_falloff_mindist 255 // 0.3 * radius @@ -416,10 +391,10 @@ set g_balance_electro_secondary_damage 40 set g_balance_electro_secondary_edgedamage 20 set g_balance_electro_secondary_force 50 set g_balance_electro_secondary_radius 150 -set g_balance_electro_secondary_speed 900 +set g_balance_electro_secondary_speed 1000 set g_balance_electro_secondary_speed_up 200 set g_balance_electro_secondary_speed_z 0 -set g_balance_electro_secondary_spread 0.05 +set g_balance_electro_secondary_spread 0.04 set g_balance_electro_secondary_lifetime 3 set g_balance_electro_secondary_refire 0.2 set g_balance_electro_secondary_refire2 1.5 @@ -429,22 +404,22 @@ set g_balance_electro_secondary_health 5 set g_balance_electro_secondary_damageforcescale 4 set g_balance_electro_secondary_damagedbycontents 1 set g_balance_electro_secondary_count 3 -set g_balance_electro_secondary_bouncefactor 0.4 +set g_balance_electro_secondary_bouncefactor 0.3 set g_balance_electro_secondary_bouncestop 0.05 set g_balance_electro_combo_damage 50 set g_balance_electro_combo_edgedamage 25 set g_balance_electro_combo_force 120 set g_balance_electro_combo_radius 175 -set g_balance_electro_combo_comboradius 275 +set g_balance_electro_combo_comboradius 300 set g_balance_electro_combo_speed 2000 set g_balance_electro_combo_safeammocheck 1 set g_balance_electro_reload_ammo 0 //default: 20 set g_balance_electro_reload_time 2 // }}} // {{{ crylink -set g_balance_crylink_primary_damage 10 -set g_balance_crylink_primary_edgedamage 5 -set g_balance_crylink_primary_force -55 +set g_balance_crylink_primary_damage 12 +set g_balance_crylink_primary_edgedamage 6 +set g_balance_crylink_primary_force -60 set g_balance_crylink_primary_radius 80 set g_balance_crylink_primary_speed 2000 set g_balance_crylink_primary_spread 0.08 @@ -504,7 +479,7 @@ set g_balance_crylink_reload_time 2 set g_balance_nex_primary_damage 90 set g_balance_nex_primary_force 400 set g_balance_nex_primary_refire 1.5 -set g_balance_nex_primary_animtime 0.45 +set g_balance_nex_primary_animtime 0.4 set g_balance_nex_primary_ammo 6 set g_balance_nex_primary_damagefalloff_mindist 0 // 1000 For tZork ;3 set g_balance_nex_primary_damagefalloff_maxdist 0 // 3000 @@ -561,7 +536,7 @@ set g_balance_hagar_primary_force 100 set g_balance_hagar_primary_health 15 set g_balance_hagar_primary_damageforcescale 0 set g_balance_hagar_primary_radius 65 -set g_balance_hagar_primary_spread 0.04 +set g_balance_hagar_primary_spread 0.03 set g_balance_hagar_primary_speed 2200 set g_balance_hagar_primary_lifetime 5 set g_balance_hagar_primary_refire 0.16667 // 6 rockets per second @@ -574,7 +549,7 @@ set g_balance_hagar_secondary_load_spread_bias 0.5 set g_balance_hagar_secondary_load_max 4 set g_balance_hagar_secondary_load_hold 4 set g_balance_hagar_secondary_load_releasedeath 0 -set g_balance_hagar_secondary_load_abort 1 +set g_balance_hagar_secondary_load_abort 0 set g_balance_hagar_secondary_load_linkexplode 0 set g_balance_hagar_secondary_load_animtime 0.2 set g_balance_hagar_secondary_damage 40 @@ -602,7 +577,7 @@ set g_balance_rocketlauncher_speedaccel 1300 set g_balance_rocketlauncher_speedstart 1000 set g_balance_rocketlauncher_lifetime 10 set g_balance_rocketlauncher_refire 1.1 -set g_balance_rocketlauncher_animtime 0.35 +set g_balance_rocketlauncher_animtime 0.4 set g_balance_rocketlauncher_ammo 4 set g_balance_rocketlauncher_health 30 // 30 // 5 hitpoints above maximum laser value -- this way lasers can't blow it up, but grenadelauncher still can most the time. set g_balance_rocketlauncher_damageforcescale 1 // low damage force scale so that it can still be affected by other hits, but not so much that it does a 90 degree turn @@ -624,6 +599,11 @@ set g_balance_porto_primary_refire 1.5 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 // }}} @@ -649,77 +629,6 @@ set g_balance_hook_secondary_duration 1.5 // effect runs for three seconds set g_balance_hook_secondary_health 15 set g_balance_hook_secondary_damageforcescale 0 // }}} -// {{{ hlac // TO BE REMOVED -set g_balance_hlac_primary_spread_min 0.01 -set g_balance_hlac_primary_spread_max 0.25 -set g_balance_hlac_primary_spread_add 0.0045 -set g_balance_hlac_primary_spread_crouchmod 0.25 - -set g_balance_hlac_primary_damage 18 -set g_balance_hlac_primary_edgedamage 9 -set g_balance_hlac_primary_force 90 -set g_balance_hlac_primary_radius 70 -set g_balance_hlac_primary_speed 9000 -set g_balance_hlac_primary_lifetime 5 - -set g_balance_hlac_primary_refire 0.15 -set g_balance_hlac_primary_animtime 0.4 -set g_balance_hlac_primary_ammo 1 - -set g_balance_hlac_secondary 1 -set g_balance_hlac_secondary_spread 0.15 -set g_balance_hlac_secondary_spread_crouchmod 0.5 - -set g_balance_hlac_secondary_damage 15 -set g_balance_hlac_secondary_edgedamage 7.5 -set g_balance_hlac_secondary_force 90 -set g_balance_hlac_secondary_radius 70 -set g_balance_hlac_secondary_speed 9000 -set g_balance_hlac_secondary_lifetime 5 - -set g_balance_hlac_secondary_refire 1 -set g_balance_hlac_secondary_animtime 0.3 -set g_balance_hlac_secondary_ammo 10 -set g_balance_hlac_secondary_shots 6 - -set g_balance_hlac_reload_ammo 0 //default: 20 -set g_balance_hlac_reload_time 2 -// }}} -// {{{ rifle -set g_balance_rifle_bursttime 0 -set g_balance_rifle_primary_tracer 1 -set g_balance_rifle_primary_shots 1 -set g_balance_rifle_primary_damage 40 -set g_balance_rifle_primary_headshotaddeddamage 40 -set g_balance_rifle_primary_spread 0 -set g_balance_rifle_primary_force 100 -set g_balance_rifle_primary_speed 40000 -set g_balance_rifle_primary_lifetime 5 -set g_balance_rifle_primary_refire 1.2 -set g_balance_rifle_primary_animtime 0.4 -set g_balance_rifle_primary_ammo 10 -set g_balance_rifle_primary_bulletconstant 110 // 62.2qu -set g_balance_rifle_primary_burstcost 0 -set g_balance_rifle_primary_bullethail 0 // empty magazine on shot -set g_balance_rifle_secondary 1 -set g_balance_rifle_secondary_reload 0 -set g_balance_rifle_secondary_tracer 0 -set g_balance_rifle_secondary_shots 4 -set g_balance_rifle_secondary_damage 10 -set g_balance_rifle_secondary_headshotaddeddamage 20 -set g_balance_rifle_secondary_spread 0.04 -set g_balance_rifle_secondary_force 50 -set g_balance_rifle_secondary_speed 20000 -set g_balance_rifle_secondary_lifetime 5 -set g_balance_rifle_secondary_refire 0.9 -set g_balance_rifle_secondary_animtime 0.3 -set g_balance_rifle_secondary_ammo 10 -set g_balance_rifle_secondary_bulletconstant 110 // 15.5qu -set g_balance_rifle_secondary_burstcost 0 -set g_balance_rifle_secondary_bullethail 0 // empty magazine on shot -set g_balance_rifle_reload_ammo 80 //default: 80 -set g_balance_rifle_reload_time 2 -// }}} // {{{ tuba set g_balance_tuba_refire 0.05 set g_balance_tuba_animtime 0.05 @@ -733,7 +642,6 @@ set g_balance_tuba_force 40 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 @@ -753,7 +661,6 @@ set g_balance_fireball_primary_refire 2 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 @@ -769,60 +676,4 @@ set g_balance_fireball_secondary_speed 900 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_seeker_flac_ammo 0.5 -set g_balance_seeker_flac_animtime 0.1 -set g_balance_seeker_flac_damage 15 -set g_balance_seeker_flac_edgedamage 10 -set g_balance_seeker_flac_force 50 -set g_balance_seeker_flac_lifetime 0.1 -set g_balance_seeker_flac_lifetime_rand 0.05 -set g_balance_seeker_flac_radius 100 -set g_balance_seeker_flac_refire 0.1 -set g_balance_seeker_flac_speed 3000 -set g_balance_seeker_flac_speed_up 1000 -set g_balance_seeker_flac_speed_z 0 -set g_balance_seeker_flac_spread 0.4 -set g_balance_seeker_tag_ammo 1 -set g_balance_seeker_tag_animtime 0.2 -set g_balance_seeker_tag_damageforcescale 0 -set g_balance_seeker_tag_health 0 -set g_balance_seeker_tag_lifetime 15 -set g_balance_seeker_tag_refire 0.75 // LOG: 0.7 -> 0.75 -set g_balance_seeker_tag_speed 5000 -set g_balance_seeker_tag_spread 0 -set g_balance_seeker_tag_tracker_lifetime 10 -set g_balance_seeker_missile_accel 1500 -set g_balance_seeker_missile_ammo 2 -set g_balance_seeker_missile_animtime 0.2 -set g_balance_seeker_missile_count 3 // LOG: 8 -> 3 -set g_balance_seeker_missile_damage 16 // LOG: 15 -> 30 -set g_balance_seeker_missile_damageforcescale 4 -set g_balance_seeker_missile_decel 6000 -set g_balance_seeker_missile_delay 0.25 -set g_balance_seeker_missile_edgedamage 8 -set g_balance_seeker_missile_force 50 // LOG: 100 -> 150 -set g_balance_seeker_missile_health 1 -set g_balance_seeker_missile_lifetime 15 -set g_balance_seeker_missile_proxy 0 -set g_balance_seeker_missile_proxy_delay 0.2 -set g_balance_seeker_missile_proxy_maxrange 45 -set g_balance_seeker_missile_radius 70 -set g_balance_seeker_missile_refire 0.25 -set g_balance_seeker_missile_smart 0 -set g_balance_seeker_missile_smart_mindist 800 -set g_balance_seeker_missile_smart_trace_max 2500 -set g_balance_seeker_missile_smart_trace_min 1000 -set g_balance_seeker_missile_speed 1500 -set g_balance_seeker_missile_speed_up 0 -set g_balance_seeker_missile_speed_z 0 -set g_balance_seeker_missile_speed_max 2000 // LOG: 1400 -> 1300 -set g_balance_seeker_missile_spread 0 -set g_balance_seeker_missile_turnrate 0.15 -set g_balance_seeker_reload_ammo 0 //default: 15 -set g_balance_seeker_reload_time 2 -// End new seeker diff --git a/check-translations.sh b/check-translations.sh index 99882291a..94a94f8e7 100755 --- a/check-translations.sh +++ b/check-translations.sh @@ -8,7 +8,7 @@ case "$1" in po) mode=po mail=true - language= + language=$2 ;; '') echo "Sorry, you are not supposed to use this script." @@ -54,22 +54,49 @@ for VM in menu csprogs; do if [ x"${X#*.dat.}" != x"$language.po" ]; then continue fi + else + if [ x"${X#*.dat.}" = x"en.po" ]; then + continue + fi fi + msgmerge -F -U "$X" "$VM".dat.pot >&2 + msgattrib --untranslated "$X" | grep . > "$X".untranslated || rm -f "$X".untranslated + msgattrib --fuzzy "$X" | grep . > "$X".fuzzy || rm -f "$X".fuzzy + nu=$((`grep -c ^#: "$X".untranslated 2>/dev/null` + 0)) + nf=$((`grep -c ^#: "$X".fuzzy 2>/dev/null` + 0)) + n=$(($nu + $nf)) + changed=false for Y in ~/check-translations/"$X".*; do [ -f "$Y" ] || continue + echo "Merging $Y..." + vim -E "$Y" </dev/null; then + echo "File $Y has syntax errors. Skipped." + continue + fi msgcat -F --use-first "$Y" "$X" > "$X".new mv "$X".new "$X" + changed=true done - msgmerge -F -U "$X" "$VM".dat.pot >&2 - msgattrib --untranslated "$X" | grep . > "$X".untranslated || rm -f "$X".untranslated - msgattrib --fuzzy "$X" | grep . > "$X".fuzzy || rm -f "$X".fuzzy - nu=$((`grep -c ^#: "$X".untranslated` + 0)) - nf=$((`grep -c ^#: "$X".fuzzy` + 0)) - n=$(($nu + $nf)) + nu0=$nu + nf0=$nf + if $changed; then + msgmerge -F -U "$X" "$VM".dat.pot >&2 + msgattrib --untranslated "$X" | grep . > "$X".untranslated || rm -f "$X".untranslated + msgattrib --fuzzy "$X" | grep . > "$X".fuzzy || rm -f "$X".fuzzy + nu=$((`grep -c ^#: "$X".untranslated 2>/dev/null` + 0)) + nf=$((`grep -c ^#: "$X".fuzzy 2>/dev/null` + 0)) + n=$(($nu + $nf)) + fi if [ $n -gt 0 ]; then echo "TODO for translation $X:" - echo "Untranslated: $nu" - echo "Fuzzy: $nf" + echo "Untranslated: $nu (was: $nu0)" + echo "Fuzzy: $nf (was: $nf0)" ltr=`grep '^"Last-Translator: ' "$X" | cut -d ' ' -f 2- | cut -d '\\' -f 1 | egrep -v '|'` ltm=`grep '^"Language-Team: ' "$X" | cut -d ' ' -f 2- | cut -d '\\' -f 1 | egrep -v '|'` echo "Translators: $ltr, $ltm" @@ -114,6 +141,9 @@ as you provided us with translations in the past, we kindly ask you to update the translation to match changes in the Xonotic source. Can you please work on them and provide updates to us? +For reference, the current version of the translation file is at: +http://git.xonotic.org/?p=xonotic/xonotic-data.pk3dir.git;a=blob;f=$X + If you do not wish to be contacted for translation updates any more, please tell us in a reply to this message. @@ -147,7 +177,7 @@ EOF -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 @@ -158,6 +188,8 @@ EOF esac done fi + else + echo "$X is complete!" fi done diff --git a/commands.cfg b/commands.cfg index 21f2da6e3..174a45834 100644 --- a/commands.cfg +++ b/commands.cfg @@ -12,7 +12,8 @@ _if_dedicated alias if_client "" 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 $${* !}" @@ -51,8 +52,10 @@ alias who "qc_cmd_svcmd who ${* ?}" // Displa // generic commands (across all programs) alias addtolist "qc_cmd_svmenu addtolist ${* ?}" // Add a string to a cvar +alias qc_curl "qc_cmd_svmenu curl ${* ?}" // curl requests alias dumpcommands "qc_cmd_svmenu dumpcommands ${* ?}" // Dump all commands on the program to *_cmd_dump.txt alias maplist "qc_cmd_svmenu maplist ${* ?}" // Automatic control of maplist +alias nextframe "qc_cmd_svmenu nextframe ${* ?}" // do something next frame alias removefromlist "qc_cmd_svmenu removefromlist ${* ?}" // Remove a string from a cvar alias rpn "qc_cmd_svmenu rpn ${* ?}" // RPN calculator //alias settemp "qc_cmd_svmenu settemp ${* ?}" // Temporarily set a value to a cvar which is restored later @@ -220,7 +223,7 @@ alias movetoauto "moveplayer ${1 ?} auto" // 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" @@ -229,6 +232,7 @@ alias settemp_restore "qc_cmd_svcl settemp_restore" // =================================== alias ban "qc_cmd_sv ban ${* ?}" // Ban an IP address or a range of addresses (like 1.2.3) alias banlist "qc_cmd_sv banlist ${* ?}" // List all existing bans +alias bans "qc_cmd_sv bans ${* ?}" // COMPATIBILITY COMMAND FOR 0.5 CLIENTS alias kickban "qc_cmd_sv kickban ${* ?}" // Disconnect a client and ban it at the same time alias unban "qc_cmd_sv unban ${* ?}" // Remove an existing ban @@ -258,18 +262,22 @@ set sv_vote_majority_factor_of_voted 0.5 "What percentage of the VOTERS constitu // when disabled, don't allow game type changes "note: set these two equal to JUST support simple majorities" set sv_vote_override_mostrecent 0 -alias vhelp "cmd vote help" -alias vstatus "cmd vote status" -alias vcall "cmd vote call ${* ?}" -alias vstop "cmd vote stop" -alias vmaster "cmd vote master" -alias vlogin "cmd vote master login ${* ?}" -alias vdo "cmd vote master do ${* ?}" -alias vyes "cl_cmd handlevote yes; cl_cmd vyes" // NOTE: COMPATIBILITY FOR 0.5 IS ADDED HERE WITH "VYES", REMOVE LATER -alias vno "cl_cmd handlevote no; cl_cmd vno" // ^^^ same, see above -alias vdontcare "cmd vote abstain" -alias vabstain "cmd vote abstain" - +// aliases for client only +alias vmaster "qc_cmd_cmd vote master" +alias vlogin "qc_cmd_cmd vote master login ${* ?}" +alias vdo "qc_cmd_cmd vote master do ${* ?}" +alias vyes "qc_cmd_cl handlevote yes; cl_cmd vyes" // NOTE: COMPATIBILITY FOR 0.5 IS ADDED HERE WITH "VYES", REMOVE LATER +alias vno "qc_cmd_cl handlevote no; cl_cmd vno" // ^^^ same, see above +alias vdontcare "qc_cmd_cmd vote abstain" +alias vabstain "qc_cmd_cmd vote abstain" + +// aliases for both client and server +alias vcall "qc_cmd_svcmd vote call ${* ?}" +alias vhelp "qc_cmd_svcmd vote help" +alias vstatus "qc_cmd_svcmd vote status" +alias vstop "qc_cmd_svcmd vote stop" + +// general alias vmap "vcall gotomap ${1 ?}" alias vnextmap "vcall nextmap ${1 ?}" alias vkick "vcall kick ${1 ?}" @@ -285,9 +293,3 @@ alias vdoend "vdo endmatch" // ====================== rcon_secure 1 set rcon_restricted_commands "restart fraglimit chmap gotomap endmatch reducematchtime extendmatchtime allready kick kickban \"sv_cmd bans\" \"sv_cmd unban *\" status \"sv_cmd teamstatus\" movetoauto movetored movetoblue movetoyellow movetopink" - -// ============================= -// other miscellaneous aliases -// ============================= -alias autoscreenshot "screenshot screenshots/autoscreenshot/${1 !}-${2 !}.jpg; echo \"^5A screenshot has been taken at request of the server.\"" - diff --git a/crosshairs.cfg b/crosshairs.cfg new file mode 100644 index 000000000..7385853b1 --- /dev/null +++ b/crosshairs.cfg @@ -0,0 +1,155 @@ +// ================================================ +// 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 diff --git a/csprogs.dat.de.po b/csprogs.dat.de.po index a53553547..92a86e464 100644 --- a/csprogs.dat.de.po +++ b/csprogs.dat.de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1preview\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: 2011-04-20 10:46+0200\n" "Last-Translator: Rudolf Polzer \n" "Language-Team: Rudolf Polzer \n" @@ -16,11 +16,11 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: qcsrc/client/Main.qc:30 +#: qcsrc/client/Main.qc:8 msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!" msgstr "FEHLER - MENÜ IST SICHTBAR ABER KEIN MENÜ WURDE DEFINIERT!" -#: qcsrc/client/Main.qc:104 +#: qcsrc/client/Main.qc:83 msgid "" "^3Your engine build is outdated\n" "^3This Server uses a newer QC VM. Please update!\n" @@ -28,47 +28,23 @@ msgstr "" "^3Diese Engine ist veraltet.\n" "^3Dieser Server verwendet eine neuere QC VM. Bitte updaten!\n" -#: qcsrc/client/Main.qc:114 +#: qcsrc/client/Main.qc:93 #, c-format msgid "^4CSQC Build information: ^1%s\n" msgstr "^4CSQC Build-Information: ^1%s (deutsch)\n" -#: qcsrc/client/Main.qc:293 qcsrc/client/Main.qc:309 +#: qcsrc/client/Main.qc:258 qcsrc/client/Main.qc:274 #, c-format msgid "trying to switch to unsupported team %d\n" msgstr "es wurde versucht, in das nicht unterstützte Team %d zu wechseln" -#: qcsrc/client/Main.qc:424 qcsrc/client/scoreboard.qc:241 -msgid "Usage:\n" -msgstr "Syntax:\n" - -#: qcsrc/client/Main.qc:425 -msgid "hud_save configname (saves to hud_skinname_configname.cfg)\n" -msgstr "hud_save configname (speichert als hud_skinname_configname.cfg)\n" - -#: qcsrc/client/Main.qc:549 -msgid "Usage: cl_cmd COMMAND..., where possible commands are:\n" -msgstr "Syntax: cl_cmd BEFEHL..., wobei mögliche Befehle sind:\n" - -#: qcsrc/client/Main.qc:550 -msgid " settemp cvar value\n" -msgstr " settemp Cvar Wert\n" - -#: qcsrc/client/Main.qc:551 -msgid " scoreboard_columns_set ...\n" -msgstr " scoreboard_columns_set ...\n" - -#: qcsrc/client/Main.qc:552 -msgid " scoreboard_columns_help\n" -msgstr " scoreboard_columns_help\n" - -#: qcsrc/client/Main.qc:788 +#: qcsrc/client/Main.qc:466 #, c-format msgid "A CSQC entity changed its owner! (edict: %d, classname: %s)\n" msgstr "" "Ein CSQC-Entity hat seinen Besitzer gewechselt! (edict: %d, classname: %s)\n" -#: qcsrc/client/Main.qc:1029 +#: qcsrc/client/Main.qc:707 #, c-format msgid "" "A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n" @@ -76,14 +52,14 @@ msgstr "" "Ein CSQC-Entity hat seinen Typ gewechselt! (edict: %d, server: %d, type: %d -" "> %d)\n" -#: qcsrc/client/Main.qc:1038 +#: qcsrc/client/Main.qc:716 #, c-format msgid "" "A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n" msgstr "" "Ein CSQC-Entity kam aus dem Nichts! (edict: %d, server: %d, type: %d)\n" -#: qcsrc/client/Main.qc:1080 +#: qcsrc/client/Main.qc:758 #, c-format msgid "" "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: " @@ -92,12 +68,12 @@ msgstr "" "Unbekannter Entity-Typ in CSQC_Ent_Update (enttype: %d, edict: %d, " "classname: %s)\n" -#: qcsrc/client/Main.qc:1526 +#: qcsrc/client/Main.qc:1206 #, c-format msgid "%s (not bound)" msgstr "%s (nicht zugewiesen)" -#: qcsrc/client/Main.qc:1531 qcsrc/client/hud.qc:230 +#: qcsrc/client/Main.qc:1211 qcsrc/client/hud.qc:230 #, c-format msgid "%s (%s)" msgstr "%s (%s)" @@ -129,16 +105,6 @@ msgstr "Du hast die %s genommen!" msgid "You got the %s!" msgstr "Du hast die %s!" -#: qcsrc/client/csqcmodel_hooks.qc:17 -#, c-format -msgid "Trying to use non existing model %s. " -msgstr "Modell %s existiert nicht! " - -#: qcsrc/client/csqcmodel_hooks.qc:19 -#, c-format -msgid "Reverted to %s.\n" -msgstr "Es wird stattdessen %s verwendet.\n" - #: qcsrc/client/hud.qc:160 msgid "1st" msgstr "1." @@ -196,493 +162,493 @@ msgstr "nicht vorhanden" msgid "Unavailable" msgstr "nicht verfügbar" -#: qcsrc/client/hud.qc:1534 +#: qcsrc/client/hud.qc:1625 #, c-format msgid "^1%s^1 couldn't take it anymore\n" msgstr "^1%s^1 konnte es nicht mehr ertragen\n" -#: qcsrc/client/hud.qc: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 "^1%s^1 ist gestorben\n" -#: 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 "^7%s^7 hat sich erhängt. Was ist schon ein Leben ohne Munition?\n" -#: 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 "^1%s^1 dachte, einen tollen Campingplatz gefunden zu haben\n" -#: 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 "^1%s^1 bekam Probleme mit dem Lord of Teamplay\n" -#: qcsrc/client/hud.qc:1554 +#: qcsrc/client/hud.qc:1645 #, c-format msgid "^1%s^1 unfairly eliminated themself\n" msgstr "^1%s^1 hat sich selbst auf unfaire Weise erledigt\n" -#: qcsrc/client/hud.qc:1558 +#: qcsrc/client/hud.qc:1649 #, c-format msgid "^1%s^1 burned to death\n" msgstr "^1%s^1 brannte zu Tode\n" -#: 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 "" "^1%s^1 konnte dem Drang zur Selbstzerstörung einfach nicht widerstehen\n" -#: 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 "^1%s^1 machte seinem %d-Amoklauf ein Ende\n" -#: qcsrc/client/hud.qc:1583 +#: qcsrc/client/hud.qc:1670 #, c-format msgid "^1%s^1 took action against a team mate\n" msgstr "^1%s^1 ergriff Maßnahmen gegen einen Mitspieler\n" -#: qcsrc/client/hud.qc:1585 +#: qcsrc/client/hud.qc:1672 #, c-format msgid "^1%s^1 mows down a team mate\n" msgstr "^1%s^1 mähte einen Mitspieler nieder\n" -#: qcsrc/client/hud.qc: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 "" "^1%s^1 dachte, %d Punkte hintereinander reichen, und trug dies an einem " "Mitspieler aus\n" -#: 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 "^1%s^1 beendete seinen %d-Amoklauf, indem er einen Mitspieler tötete\n" -#: 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 "" "^1%s^1s %s Punkte hintereinander wurden von einem Mitspieler gestört!\n" -#: 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 "^1%s^1s %s-Amoklauf wurde von einem Mitspieler beendet!\n" -#: qcsrc/client/hud.qc:1602 +#: qcsrc/client/hud.qc:1689 #, c-format msgid "^1%s^1 drew first blood\n" msgstr "^1%s^1 war der Erste\n" -#: 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 "^1%s^1 dachte, %s^1 am Teleportieren hindern zu können\n" -#: qcsrc/client/hud.qc:1608 +#: qcsrc/client/hud.qc:1695 #, c-format msgid "^1%s^1 was telefragged by %s\n" msgstr "^1%s^1 wurde von %s^1 telefragged\n" -#: qcsrc/client/hud.qc:1613 +#: qcsrc/client/hud.qc:1700 #, c-format msgid "^1%s^1 was drowned by %s\n" msgstr "^1%s^1 wurde von %s^1 etränkt\n" -#: qcsrc/client/hud.qc:1618 +#: qcsrc/client/hud.qc:1705 #, c-format msgid "^1%s^1 was slimed by %s\n" msgstr "^1%s^1 wurde von %s^1 im Schleim versenkt\n" -#: qcsrc/client/hud.qc:1623 +#: qcsrc/client/hud.qc:1710 #, c-format msgid "^1%s^1 was cooked by %s\n" msgstr "^1%s^1 wurde von %s^1 gebraten\n" -#: qcsrc/client/hud.qc:1628 +#: qcsrc/client/hud.qc:1715 #, c-format msgid "^1%s^1 was grounded by %s\n" msgstr "^1%s^1 wurde von %s^1 geerdet\n" -#: qcsrc/client/hud.qc:1633 +#: qcsrc/client/hud.qc:1720 #, c-format msgid "^1%s^1 was shot into space by %s\n" msgstr "^1%s^1 wurde von %s^1 ins All geschossen\n" -#: qcsrc/client/hud.qc:1638 +#: qcsrc/client/hud.qc:1725 #, c-format msgid "^1%s^1 was conserved by %s\n" msgstr "^1%s^1 wurde von %s^1 konserviert\n" -#: qcsrc/client/hud.qc:1644 +#: qcsrc/client/hud.qc:1731 #, c-format msgid "^1%s^1 was thrown into a world of hurt by %s\n" msgstr "^1%s^1 wurde von %s^1 in eine Welt des Schmerzes geworfen\n" -#: qcsrc/client/hud.qc:1648 +#: qcsrc/client/hud.qc:1735 #, c-format msgid "^1%s^1 was crushed by %s\n" msgstr "^1%s^1 wurde von %s^1 zerquetscht\n" -#: qcsrc/client/hud.qc:1652 +#: qcsrc/client/hud.qc:1739 #, c-format msgid "^1%s^1 got shredded by %s\n" msgstr "^1%s^1 wurde von %s^1 zerstückelt\n" -#: qcsrc/client/hud.qc:1656 +#: qcsrc/client/hud.qc:1743 #, c-format msgid "^1%s^1 was blasted to bits by %s\n" msgstr "^1%s^1 wurde von %s^1 in die Luft gejagt\n" -#: qcsrc/client/hud.qc:1660 +#: qcsrc/client/hud.qc:1747 #, c-format msgid "^1%s^1 got caught in the destruction of %s^1's vehicle\n" msgstr "^1%s^1 wurde von der Explosion von %s^1s Fahrzeug erwischt\n" -#: qcsrc/client/hud.qc:1664 +#: qcsrc/client/hud.qc:1751 #, c-format msgid "^1%s^1 was bolted down by %s\n" msgstr "^1%s^1 wurde von %s^1 niedergeschmettert\n" -#: qcsrc/client/hud.qc:1668 +#: qcsrc/client/hud.qc:1755 #, c-format msgid "^1%s^1 could find no shelter from %s^1's rockets\n" msgstr "^1%s^1 fand keine Deckung vor %s^1s Raketen\n" -#: qcsrc/client/hud.qc:1672 +#: qcsrc/client/hud.qc:1759 #, c-format msgid "^1%s^1 dies when %s^1's wakizashi dies.\n" msgstr "^1%s^1 starb zusammen mit %s^1's Wakizashi.\n" -#: qcsrc/client/hud.qc:1676 +#: qcsrc/client/hud.qc:1763 #, c-format msgid "^1%s^1 nailed to hell by %s\n" msgstr "^1%s^1 wurde von %s^1 in die Hölle geschossen\n" -#: qcsrc/client/hud.qc:1680 +#: qcsrc/client/hud.qc:1767 #, c-format msgid "^1%s^1 cluster crushed by %s\n" msgstr "^1%s^1 wurde von %s^1 total zerstört\n" -#: qcsrc/client/hud.qc:1684 +#: qcsrc/client/hud.qc:1771 #, c-format msgid "^1%s^1 dies when %s^1's raptor dies.\n" msgstr "^1%s^1 starb zusammen mit %s^1's Raptor.\n" -#: qcsrc/client/hud.qc:1688 +#: qcsrc/client/hud.qc:1775 #, c-format msgid "^1%s^1 was pushed into the line of fire by %s\n" msgstr "^1%s^1 wurde von %s^1 ins offene Feuer geschubst\n" -#: qcsrc/client/hud.qc:1692 +#: qcsrc/client/hud.qc:1779 #, c-format msgid "^1%s^1 was pushed into an accident by %s\n" msgstr "^1%s^1 wurde von %s^1 in einen unglücklichen Unfall geschubst\n" -#: qcsrc/client/hud.qc:1696 +#: qcsrc/client/hud.qc:1783 #, c-format msgid "^1%s^1 was unfairly eliminated by %s\n" msgstr "^1%s^1 wurde von %s auf unfaire Weise erledigt\n" -#: qcsrc/client/hud.qc:1700 +#: qcsrc/client/hud.qc:1787 #, c-format msgid "^1%s^1 was burnt to death by %s\n" msgstr "^1%s^1 wurde von %s verbrannt\n" -#: qcsrc/client/hud.qc:1712 +#: qcsrc/client/hud.qc:1799 #, c-format msgid "^1%s^1 was fragged by %s\n" msgstr "^1%s^1 wurde von %s^1 gefraggt\n" -#: qcsrc/client/hud.qc:1717 +#: qcsrc/client/hud.qc:1804 #, c-format msgid "^1%s^1's %s scoring spree was ended by %s\n" msgstr "^1%s^1's Punkte-Folge wurde von %s^1 beendet\n" -#: qcsrc/client/hud.qc:1719 +#: qcsrc/client/hud.qc:1806 #, c-format msgid "^1%s^1's %s kill spree was ended by %s\n" msgstr "^1%s^1's Kill-Spree wurde von %s^1 beendet\n" -#: qcsrc/client/hud.qc:1722 +#: qcsrc/client/hud.qc:1809 #, c-format msgid "^1%s^1 made %s scores in a row\n" msgstr "^1%s^1 machte %s Punkte hintereinander\n" -#: qcsrc/client/hud.qc:1724 +#: qcsrc/client/hud.qc:1811 #, c-format msgid "^1%s^1 has %s frags in a row\n" msgstr "^1%s^1 hat %s Frags hintereinander\n" -#: qcsrc/client/hud.qc:1727 +#: qcsrc/client/hud.qc:1814 #, c-format msgid "%s^7 made a ^1TRIPLE SCORE\n" msgstr "%s^7 hat einen ^1TRIPLE SCORE\n" -#: qcsrc/client/hud.qc:1729 +#: qcsrc/client/hud.qc:1816 #, c-format msgid "%s^7 made a ^1TRIPLE FRAG\n" msgstr "%s^7 hat einen ^1TRIPLE FRAG\n" -#: qcsrc/client/hud.qc:1732 +#: qcsrc/client/hud.qc:1819 #, c-format msgid "%s^7 unleashes ^1SCORING RAGE\n" msgstr "%s^7 hat ^1PUNKTE-RASEN\n" -#: qcsrc/client/hud.qc:1734 +#: qcsrc/client/hud.qc:1821 #, c-format msgid "%s^7 unleashes ^1RAGE\n" msgstr "%s^7 ^1RAST VOR ZORN\n" -#: qcsrc/client/hud.qc:1737 +#: qcsrc/client/hud.qc:1824 #, c-format msgid "%s^7 made ^1TEN SCORES IN A ROW!\n" msgstr "%s^7 hat ^1ZEHN PUNKTE HINTEREINANDER!\n" -#: qcsrc/client/hud.qc:1739 +#: qcsrc/client/hud.qc:1826 #, c-format msgid "%s^7 starts the ^1MASSACRE!\n" msgstr "%s^7 beginnt das ^1MASSAKER!\n" -#: qcsrc/client/hud.qc:1742 +#: qcsrc/client/hud.qc:1829 #, c-format msgid "%s^7 made ^1FIFTEEN SCORES IN A ROW!\n" msgstr "%s^7 hat ^1FÜNFZEHN PUNKTE HINTEREINANDER\n" -#: qcsrc/client/hud.qc:1744 +#: qcsrc/client/hud.qc:1831 #, c-format msgid "%s^7 executes ^1MAYHEM!\n" msgstr "%s^7 erzeugt das ^1CHAOS!\n" -#: qcsrc/client/hud.qc:1747 +#: qcsrc/client/hud.qc:1834 #, c-format msgid "%s^7 made ^1TWENTY SCORES IN A ROW!\n" msgstr "%s^7 hat ^1ZWANZIG PUNKTE HINTEREINANDER\n" -#: qcsrc/client/hud.qc:1749 +#: qcsrc/client/hud.qc:1836 #, c-format msgid "%s^7 is a ^1BERSERKER!\n" msgstr "%s^7 ist ein ^1BERSERKER!\n" -#: qcsrc/client/hud.qc:1752 +#: qcsrc/client/hud.qc:1839 #, c-format msgid "%s^7 made ^1TWENTY FIVE SCORES IN A ROW!\n" msgstr "%s^7 hat ^1FÜNFUNDZWANZIG PUNKTE HINTEREINANDER!\n" -#: qcsrc/client/hud.qc:1754 +#: qcsrc/client/hud.qc:1841 #, c-format msgid "%s^7 inflicts ^1CARNAGE!\n" msgstr "%s^7 hält ein ^1BLUTBAD!\n" -#: qcsrc/client/hud.qc:1757 +#: qcsrc/client/hud.qc:1844 #, c-format msgid "%s^7 made ^1THIRTY SCORES IN A ROW!\n" msgstr "%s^7 hat ^1DREISSIG PUNKTE HINTEREINANDER\n" -#: qcsrc/client/hud.qc:1759 +#: qcsrc/client/hud.qc:1846 #, c-format msgid "%s^7 unleashes ^1ARMAGEDDON!\n" msgstr "%s^7 lässt die ^1APOKALYPSE^7 los!\n" -#: 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 "^1%s^1 war zu lange im Wasser\n" -#: qcsrc/client/hud.qc:1769 +#: qcsrc/client/hud.qc:1856 #, c-format msgid "^1%s^1 drowned\n" msgstr "^1%s^1 ertrank\n" -#: qcsrc/client/hud.qc:1774 +#: qcsrc/client/hud.qc:1861 #, c-format msgid "^1%s^1 was slimed\n" msgstr "^1%s^1 wurde im Schleim versenkt\n" -#: qcsrc/client/hud.qc:1780 +#: qcsrc/client/hud.qc:1867 #, c-format msgid "^1%s^1 found a hot place\n" msgstr "^1%s^1 fand einen heißen Ort\n" -#: qcsrc/client/hud.qc:1782 +#: qcsrc/client/hud.qc:1869 #, c-format msgid "^1%s^1 turned into hot slag\n" msgstr "^1%s^1 verwandelte sich in heiße Schlacke\n" -#: qcsrc/client/hud.qc:1789 +#: qcsrc/client/hud.qc:1876 #, c-format msgid "^1%s^1 tested gravity (and it worked)\n" msgstr "^1%s^1 probierte die Gravitation aus (und sie funktionierte)\n" -#: qcsrc/client/hud.qc:1791 +#: qcsrc/client/hud.qc:1878 #, c-format msgid "^1%s^1 hit the ground with a crunch\n" msgstr "^1%s^1 landete mit einem Knall auf dem Boden\n" -#: qcsrc/client/hud.qc:1796 +#: qcsrc/client/hud.qc:1883 #, c-format msgid "^1%s^1 became a shooting star\n" msgstr "^1%s^1 wurde zu einer Sternschnuppe\n" -#: qcsrc/client/hud.qc:1802 +#: qcsrc/client/hud.qc:1889 #, c-format msgid "^1%s^1 discovered a swamp\n" msgstr "^1%s^1 entdeckte einen Sumpf\n" -#: 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 "^1%s^1 ist jetzt für Jahrhunderte konserviert\n" -#: qcsrc/client/hud.qc:1811 +#: qcsrc/client/hud.qc:1898 #, c-format msgid "^1%s^1 ran into a turret\n" msgstr "^1%s^1 probierte die Selbstschussanlage aus\n" -#: 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 "^1%s^1 wurde von einem eWheel gelasert\n" -#: qcsrc/client/hud.qc:1820 +#: qcsrc/client/hud.qc:1907 #, 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 +#: qcsrc/client/hud.qc:1910 #, c-format msgid "^1%s^1 was riddeld full of riddled by a machinegun turret \n" msgstr "" "^1%s^1 wurde von einer Maschinengewehr-Selbstschussanlage durchlöchert\n" -#: 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 "^1%s^1 bekam eine Blei-Überdosis von einem Walker\n" -#: qcsrc/client/hud.qc:1829 +#: qcsrc/client/hud.qc:1916 #, c-format msgid "^1%s^1 was impaled by a walker turret \n" msgstr "^1%s^1 wurde von einem Walker aufgepiekst\n" -#: 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 "^1%s^1 wurde von einem Walker in die Luft gejagt\n" -#: qcsrc/client/hud.qc:1835 +#: qcsrc/client/hud.qc:1922 #, c-format msgid "^1%s^1 was blasted away hellion turret \n" msgstr "^1%s^1 wurde von einem Hellion weggeblasen\n" -#: 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 "" "%s konnte sich vor der Selbstschussanlage Marke Hunter nicht verstecken" -#: 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 "^1%s^1 wurde von einem MLRS-Turret zerstückelt\n" -#: 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 "^1%s^1 bekam ein wenig heißes Plasma serviert\n" -#: qcsrc/client/hud.qc:1847 +#: qcsrc/client/hud.qc:1934 #, c-format msgid "^1%s^1 was phased out \n" msgstr "^1%s^1 verschwand in der Phasenverschiebung\n" -#: qcsrc/client/hud.qc:1850 +#: qcsrc/client/hud.qc:1937 #, c-format msgid "^1%s^1 was electrocuted by a tesla turret \n" msgstr "^1%s^1 fand Tesla-Turrets elektrisierend\n" -#: qcsrc/client/hud.qc:1866 +#: qcsrc/client/hud.qc:1953 #, c-format msgid "^1%s^1 died in an accident\n" msgstr "^1%s^1 starb an einem Unfall\n" -#: qcsrc/client/hud.qc:1870 +#: qcsrc/client/hud.qc:1957 #, c-format msgid "^1%s^1 was unfairly eliminated\n" msgstr "^1%s^1 wurde auf unfaire Weise eliminiert\n" -#: qcsrc/client/hud.qc:1876 +#: qcsrc/client/hud.qc:1963 #, 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 +#: qcsrc/client/hud.qc:1965 #, c-format msgid "^1%s^1 burnt to death\n" msgstr "^1%s^1 verbrannte\n" -#: qcsrc/client/hud.qc:1885 +#: qcsrc/client/hud.qc:1972 #, c-format msgid "^1%s^1 needs a restart\n" msgstr "^1%s^1 braucht einen Neustart\n" -#: 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 "^1%s^1 braucht einen Neustart nach %d Punkten in Folge\n" -#: qcsrc/client/hud.qc:1894 +#: qcsrc/client/hud.qc:1981 #, c-format msgid "^1%s^1 died with a %d kill spree\n" msgstr "^1%s^1 starb mit einer %d-Kill-Spree\n" -#: qcsrc/client/hud.qc:1898 +#: qcsrc/client/hud.qc:1985 #, c-format msgid "%s^7 got the %s\n" msgstr "%s^7 bekam die %s\n" -#: qcsrc/client/hud.qc:1901 +#: qcsrc/client/hud.qc:1988 #, c-format msgid "%s^7 lost the %s\n" msgstr "%s^7 verlor die %s\n" -#: qcsrc/client/hud.qc:1904 +#: qcsrc/client/hud.qc:1991 #, c-format msgid "%s^7 picked up the %s\n" msgstr "%s^7 nahm sich die %s\n" -#: qcsrc/client/hud.qc:1907 +#: qcsrc/client/hud.qc:1994 #, c-format msgid "%s^7 returned the %s\n" msgstr "%s^7 brachte die %s^7 zurück\n" -#: qcsrc/client/hud.qc:1910 +#: qcsrc/client/hud.qc:1997 #, c-format msgid "%s^7 captured the %s%s\n" msgstr "%s^7 eroberte die %s%s\n" -#: qcsrc/client/hud.qc:1929 +#: qcsrc/client/hud.qc:2016 #, c-format msgid "%s^7 has picked up the ball!\n" msgstr "%s^7 hat den Ball genommen!\n" -#: qcsrc/client/hud.qc:1934 +#: qcsrc/client/hud.qc:2021 #, c-format msgid "%s^7 has dropped the ball!\n" msgstr "%s^7 hat den Ball verloren!\n" -#: qcsrc/client/hud.qc:1945 +#: qcsrc/client/hud.qc:2032 #, c-format msgid "You are now on: %s" msgstr "Du bist jetzt im: %s" -#: 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" @@ -691,312 +657,312 @@ msgstr "" "Du wurdest in ein anderes Team verschoben, um Team-Balance zu verbessern.\n" "Du bist jetzt im: %s" -#: qcsrc/client/hud.qc:1950 +#: qcsrc/client/hud.qc:2037 msgid "^1Reconsider your tactics, camper!" msgstr "^1Ändere dein Verhalten, Camper!" -#: qcsrc/client/hud.qc:1952 +#: qcsrc/client/hud.qc:2039 msgid "^1Die camper!" msgstr "^1Stirb, Camper!" -#: qcsrc/client/hud.qc:1955 +#: qcsrc/client/hud.qc:2042 msgid "^1You are reinserted into the game for running out of ammo..." msgstr "" "^1Du wurdest ins Spiel neu eingesetzt, weil dir die Munition ausging..." -#: qcsrc/client/hud.qc:1957 +#: qcsrc/client/hud.qc:2044 msgid "^1You were killed for running out of ammo..." msgstr "^1Du wurdest getötet, da dir die Munition ausging..." -#: qcsrc/client/hud.qc:1960 +#: qcsrc/client/hud.qc:2047 msgid "^1You need to preserve your health" msgstr "^1Du solltest deine Gesundheit erhalten" -#: qcsrc/client/hud.qc:1962 +#: qcsrc/client/hud.qc:2049 msgid "^1You grew too old without taking your medicine" msgstr "^1Du wurdest zu alt, und hast nicht deine Medizin genommen" -#: qcsrc/client/hud.qc:1965 +#: qcsrc/client/hud.qc:2052 msgid "^1Don't go against team mates!" msgstr "^1Ärgere deine Teamkollegen nicht!" -#: qcsrc/client/hud.qc:1967 +#: qcsrc/client/hud.qc:2054 msgid "^1Don't shoot your team mates!" msgstr "^1Schieße nicht auf deine Teamkollegen!" -#: qcsrc/client/hud.qc:1972 +#: qcsrc/client/hud.qc:2059 msgid "^1You need to be more careful!" msgstr "^1Sei vorsichtiger!" -#: qcsrc/client/hud.qc:1974 +#: qcsrc/client/hud.qc:2061 msgid "^1You killed your own dumb self!" msgstr "^1Du hast dich selbst umgebracht. Wie blöd." -#: qcsrc/client/hud.qc:1979 +#: qcsrc/client/hud.qc:2066 #, c-format msgid "^1Moron! You went against ^7%s^1, a team mate!" msgstr "^1Idiot! Du hast %s getroffen, also einen Teamkollegen von dir!" -#: qcsrc/client/hud.qc:1981 +#: qcsrc/client/hud.qc:2068 #, c-format msgid "^1Moron! You fragged ^7%s^1, a team mate!" msgstr "^1Idiot! Du hast %s getötet, also einen Teamkollegen von dir!" -#: qcsrc/client/hud.qc:1985 +#: qcsrc/client/hud.qc:2072 msgid "^1First score" msgstr "^1Erster Punkt" -#: qcsrc/client/hud.qc:1987 +#: qcsrc/client/hud.qc:2074 msgid "^1First blood" msgstr "^1Erstes Blut" -#: qcsrc/client/hud.qc:1991 +#: qcsrc/client/hud.qc:2078 msgid "^1First casualty" msgstr "^1Erster Kollateralschaden" -#: qcsrc/client/hud.qc:1993 +#: qcsrc/client/hud.qc:2080 msgid "^1First victim" msgstr "^1Erstes Opfer" -#: qcsrc/client/hud.qc:1997 +#: qcsrc/client/hud.qc:2084 #, c-format msgid "^1You scored against ^7%s^1 who was typing!" msgstr "^1Du hast gegen ^7%s^1 gepunktet, während er am Tippen war!" -#: qcsrc/client/hud.qc:1999 +#: qcsrc/client/hud.qc:2086 #, c-format msgid "^1You typefragged ^7%s" msgstr "^1Du hast ^7%s^1 beim Tippen erschossen" -#: 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 "^1Gegen dich hat ^7%s^1 gepunktet, während du am Tippen warst!" -#: qcsrc/client/hud.qc:2005 +#: qcsrc/client/hud.qc:2092 #, c-format msgid "^1You were typefragged by ^7%s" msgstr "^1Du wurdest von ^7%s^1 erschossen, während du am Tippen warst" -#: qcsrc/client/hud.qc:2009 +#: qcsrc/client/hud.qc:2096 #, c-format msgid "^4You scored against ^7%s" msgstr "^4Du hast gegen ^7%s^4 gepunktet" -#: qcsrc/client/hud.qc:2011 +#: qcsrc/client/hud.qc:2098 #, c-format msgid "^4You fragged ^7%s" msgstr "^4Du hast ^7%s^4 getötet" -#: qcsrc/client/hud.qc:2015 +#: qcsrc/client/hud.qc:2102 #, c-format msgid "^1You were scored against by ^7%s" msgstr "^1Gegen dich hat ^7%s^1 gepunktet" -#: qcsrc/client/hud.qc:2017 +#: qcsrc/client/hud.qc:2104 #, c-format msgid "^1You were fragged by ^7%s" msgstr "^1Du wurdest von ^7%s^1 getötet" -#: qcsrc/client/hud.qc:2022 +#: qcsrc/client/hud.qc:2109 msgid "^1Watch your step!" msgstr "^1Achte, wo du hintrittst!" -#: 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 "Spieler %d" -#: qcsrc/client/hud.qc:2907 +#: qcsrc/client/hud.qc:2995 msgid "^1Intermediate 1 (+15.42)" msgstr "^1Intermediate 1 (+15.42)" -#: 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 "^1STRAFE: %.1f (%s)" -#: qcsrc/client/hud.qc:2994 +#: qcsrc/client/hud.qc:3082 #, c-format msgid "^2PENALTY: %.1f (%s)" msgstr "^2STRAFE: %.1f (%s)" -#: qcsrc/client/hud.qc:3022 +#: qcsrc/client/hud.qc:3110 msgid "^1You must answer before entering hud configure mode\n" msgstr "^1Du musst antworten, bevore das HUD konfiguriert werden kann\n" -#: qcsrc/client/hud.qc:3027 +#: qcsrc/client/hud.qc:3115 msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats" msgstr "^2Name^7 statt \"^1Anonymous player^7\" in den Statistiken" -#: qcsrc/client/hud.qc:3109 +#: qcsrc/client/hud.qc:3197 msgid "A vote has been called for:" msgstr "Eine Abstimmung wurde initiiert für:" -#: qcsrc/client/hud.qc:3111 +#: qcsrc/client/hud.qc:3199 msgid "Allow servers to store and display your name?" msgstr "Erlaube Servern, deinen Namen zu speichern und später zu zeigen?" -#: qcsrc/client/hud.qc:3115 +#: qcsrc/client/hud.qc:3203 msgid "^1Configure the HUD" msgstr "^1Das HUD konfigurieren" -#: qcsrc/client/hud.qc:3119 +#: qcsrc/client/hud.qc:3207 #, c-format msgid "Yes (%s): %d" msgstr "Ja (%s): %d" -#: qcsrc/client/hud.qc:3121 +#: qcsrc/client/hud.qc:3209 #, c-format msgid "No (%s): %d" msgstr "Nein (%s): %d" -#: 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 "Persönliche Bestzeit" -#: 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 "Server-Bestzeit" -#: qcsrc/client/hud.qc:3993 +#: qcsrc/client/hud.qc:4081 msgid "^3Player^7: This is the chat area." msgstr "^3Player^7: Das ist der Chat-Bereich." -#: qcsrc/client/hud.qc:4061 +#: qcsrc/client/hud.qc:4149 #, c-format msgid "FPS: %.*f" msgstr "FPS: %.*f" -#: qcsrc/client/hud.qc:4128 +#: qcsrc/client/hud.qc:4216 msgid "^1Observing" msgstr "^1Beobachten" -#: 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 "^1Zuschauen bei: ^7%s" -#: qcsrc/client/hud.qc:4138 +#: qcsrc/client/hud.qc:4226 #, c-format msgid "^1Press ^3%s^1 to spectate" msgstr "^1Drücke ^3%s^1, um bei jemandem zuzuschauen" -#: qcsrc/client/hud.qc:4140 +#: qcsrc/client/hud.qc:4228 #, c-format msgid "^1Press ^3%s^1 for another player" msgstr "^1Drücke ^3%s^1 für einen anderen Spieler" -#: qcsrc/client/hud.qc:4144 +#: qcsrc/client/hud.qc:4232 #, c-format msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed" msgstr "^1Benutze ^3%s^1 oder ^3%s^1 zum Ändern der Geschwindigkeit" -#: qcsrc/client/hud.qc:4146 +#: qcsrc/client/hud.qc:4234 #, c-format msgid "^1Press ^3%s^1 to observe" msgstr "^1Drücke ^3%s^1 zum Beobachten" -#: qcsrc/client/hud.qc:4149 +#: qcsrc/client/hud.qc:4237 #, c-format msgid "^1Press ^3%s^1 for gamemode info" msgstr "^1Drücke ^3%s^1 für Spielmodus-Info" -#: qcsrc/client/hud.qc:4153 +#: qcsrc/client/hud.qc:4241 msgid "^1Wait for your turn to join" msgstr "^1Warte, bis du dran bist" -#: qcsrc/client/hud.qc:4159 +#: qcsrc/client/hud.qc:4247 msgid "^1Match has already begun" msgstr "^1Das Match hat bereits begonnen" -#: qcsrc/client/hud.qc:4161 +#: qcsrc/client/hud.qc:4249 msgid "^1You have no more lives left" msgstr "^1Du hast keine Leben mehr übrig" -#: 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 "^1Drücke ^3%s^1 zum Mitspielen" -#: qcsrc/client/hud.qc:4174 +#: qcsrc/client/hud.qc:4262 #, c-format msgid "^1Game starts in ^3%d^1 seconds" msgstr "^1Das Spiel beginnt in ^3%d^1 Sekunden" -#: qcsrc/client/hud.qc:4181 +#: qcsrc/client/hud.qc:4269 msgid "^2Currently in ^1warmup^2 stage!" msgstr "^2Momentan in der ^1Aufwärmphase!" -#: qcsrc/client/hud.qc:4196 +#: qcsrc/client/hud.qc:4284 #, 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 +#: qcsrc/client/hud.qc:4286 #, c-format msgid "%sPress ^3%s%s once you are ready" msgstr "%sDrücke ^3%s%s sobald du soweit bist" -#: qcsrc/client/hud.qc:4203 +#: qcsrc/client/hud.qc:4291 msgid "^2Waiting for others to ready up to end warmup..." msgstr "^2Warte, bis andere bereit sind, um die Aufwärmphase zu beenden" -#: qcsrc/client/hud.qc:4205 +#: qcsrc/client/hud.qc:4293 msgid "^2Waiting for others to ready up..." msgstr "^2Warte, bis andere bereit sind..." -#: qcsrc/client/hud.qc:4211 +#: qcsrc/client/hud.qc:4299 #, c-format msgid "^2Press ^3%s^2 to end warmup" msgstr "^2Drücke ^3%s^2 um die Aufwärmphase zu beenden" -#: qcsrc/client/hud.qc:4232 +#: qcsrc/client/hud.qc:4320 msgid "Teamnumbers are unbalanced!" msgstr "Die Teams sind unbalanciert!" -#: qcsrc/client/hud.qc:4237 +#: qcsrc/client/hud.qc:4325 #, c-format msgid " Press ^3%s%s to adjust" msgstr "Drücke ^3%s%s um dies zu korrigieren" -#: qcsrc/client/hud.qc:4245 +#: qcsrc/client/hud.qc:4333 msgid "^7Press ^3ESC ^7to show HUD options." msgstr "^7Drücke ^3ESC^7 um die HUD-Optionen zu zeigen" -#: qcsrc/client/hud.qc:4247 +#: qcsrc/client/hud.qc:4335 msgid "^3Doubleclick ^7a panel for panel-specific options." msgstr "^3Doppelklick^7 auf ein Panel für Panel-spezifische Optionen." -#: qcsrc/client/hud.qc:4249 +#: qcsrc/client/hud.qc:4337 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and" msgstr "^3CTRL^7 um Kollisionstests zu deaktivieren, ^3SHIFT^7 und" -#: qcsrc/client/hud.qc:4251 +#: qcsrc/client/hud.qc:4339 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments." msgstr "^3ALT^7 + ^3PFEILTASTEN^7 für Feinjustierungen" -#: qcsrc/client/hud.qc:4289 +#: qcsrc/client/hud.qc:4377 msgid " qu/s" msgstr "qu/s" -#: qcsrc/client/hud.qc:4293 +#: qcsrc/client/hud.qc:4381 msgid " m/s" msgstr "m/s" -#: qcsrc/client/hud.qc:4297 +#: qcsrc/client/hud.qc:4385 msgid " km/h" msgstr "km/h" -#: qcsrc/client/hud.qc:4301 +#: qcsrc/client/hud.qc:4389 msgid " mph" msgstr "mph" -#: qcsrc/client/hud.qc:4305 +#: qcsrc/client/hud.qc:4393 msgid " knots" msgstr "Knoten" -#: qcsrc/client/hud.qc:4968 +#: qcsrc/client/hud.qc:5059 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n" msgstr "Falsche Panel-Nummern in _hud_panelorder wurden automatisch behoben" @@ -1021,30 +987,30 @@ msgstr "(1 Stimme)" msgid " (%d votes)" msgstr "(%d Stimmen)" -#: qcsrc/client/mapvoting.qc:113 +#: qcsrc/client/mapvoting.qc:116 msgid "Don't care" msgstr "Egal" -#: qcsrc/client/mapvoting.qc:194 +#: qcsrc/client/mapvoting.qc:197 msgid "Vote for a map" msgstr "Wähle eine Map" -#: qcsrc/client/mapvoting.qc:200 +#: qcsrc/client/mapvoting.qc:203 #, c-format msgid "%d seconds left" msgstr "%d Sekunden übrig" -#: 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 "" "mv_mapdownload: ^3Dieser Befehl darf nur vom Server verwendet werden!\n" -#: qcsrc/client/mapvoting.qc:273 +#: qcsrc/client/mapvoting.qc:276 msgid "^1Error:^7 Couldn't find pak index.\n" msgstr "^1Fehler:^7 konnte den pak-Index nicht finden.\n" -#: qcsrc/client/mapvoting.qc:282 +#: qcsrc/client/mapvoting.qc:285 msgid "Requesting preview...\n" msgstr "Vorschau wird angefordert...\n" @@ -1202,6 +1168,10 @@ msgstr "" msgid "^3|---------------------------------------------------------------|\n" msgstr "^3|---------------------------------------------------------------|\n" +#: qcsrc/client/scoreboard.qc:241 +msgid "Usage:\n" +msgstr "Syntax:\n" + #: qcsrc/client/scoreboard.qc:242 msgid "^2scoreboard_columns_set default\n" msgstr "^2scoreboard_columns_set default\n" @@ -1258,7 +1228,7 @@ msgid "" "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 "" @@ -1270,7 +1240,7 @@ msgstr "" #: 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äger getötet wurden\n" #: qcsrc/client/scoreboard.qc:258 msgid "^3returns^7 Number of flag returns\n" @@ -1607,11 +1577,11 @@ msgstr "Laser" #: 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 "Maschinengewehr" #: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_grenadelauncher.qc:2 msgid "Mortar" @@ -1619,7 +1589,7 @@ msgstr "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" @@ -1663,7 +1633,7 @@ msgstr "Gewehr" #: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_minelayer.qc:2 msgid "Mine Layer" -msgstr "Mine Layer" +msgstr "Minenleger" #: qcsrc/client/waypointsprites.qc:311 msgid "Invisibility" @@ -1710,11 +1680,80 @@ msgstr "Fahrzeug" msgid "%s needing help!" msgstr "%s braucht Hilfe!" -#: qcsrc/common/mapinfo.qc:1097 +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "@!#%'n Tuba-Werfen" + +#: qcsrc/common/mapinfo.qc:1057 #, c-format msgid "%s: %s" msgstr "%s: %s" +#: qcsrc/common/mapinfo.qh:36 +msgid "Deathmatch" +msgstr "Deathmatch" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "Last Man Standing" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Arena" + +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "Runematch" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Race" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "Race CTS" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "Team Deathmatch" + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Capture The Flag" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Clan Arena" + +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Domination" + +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Key Hunt" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "Assault" + +#: 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 "Keepaway" + #: qcsrc/server/w_crylink.qc:666 #, c-format msgid "%s succeeded at self-destructing themself with the Crylink" @@ -1735,77 +1774,77 @@ msgstr "%s trat %ss Crylink zu nahe" msgid "%s took a close look at %s's Crylink" msgstr "%s schaute sich %ss Crylink sehr genau an" -#: qcsrc/server/w_electro.qc:581 +#: qcsrc/server/w_electro.qc:589 #, c-format msgid "%s could not remember where they put their electro plasma" msgstr "%s vergaß, wo er das Plasma hingetan hatte" -#: qcsrc/server/w_electro.qc:583 +#: qcsrc/server/w_electro.qc:591 #, c-format msgid "%s played with electro plasma" msgstr "%s spielte mit Plasma" -#: qcsrc/server/w_electro.qc:590 +#: qcsrc/server/w_electro.qc:598 #, c-format msgid "%s just noticed %s's electro plasma" msgstr "%s hat gerade %ss Plasma bemerkt" -#: 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 "%s kam mit %ss Plasma in Kontakt" -#: 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 "%s hat gespürt, wie %ss Combo die Luft elektrisierte" -#: 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 "%s kam zu nah an %ss blauen Strahl" -#: 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 "%s wurde von %ss blauen Strahl erwischt" -#: qcsrc/server/w_fireball.qc:421 +#: qcsrc/server/w_fireball.qc:403 #, c-format msgid "%s forgot about some firemine" msgstr "%s hat den Platz einer Feuermine vergessen" -#: qcsrc/server/w_fireball.qc:423 qcsrc/server/w_hlac.qc:240 +#: qcsrc/server/w_fireball.qc:405 qcsrc/server/w_hlac.qc:240 #, c-format msgid "%s should have used a smaller gun" msgstr "%s hätte eine kleinere Waffe nehmen sollen" -#: qcsrc/server/w_fireball.qc:430 +#: qcsrc/server/w_fireball.qc:412 #, c-format msgid "%s tried to catch %s's firemine" msgstr "%s hat versucht %ss Feuermine zu fangen" -#: qcsrc/server/w_fireball.qc:432 +#: qcsrc/server/w_fireball.qc:414 #, c-format msgid "%s fatefully ignored %s's firemine" msgstr "%s hat tragischerweise %ss Feuermine ignoriert" -#: qcsrc/server/w_fireball.qc:439 +#: qcsrc/server/w_fireball.qc:421 #, c-format msgid "%s could not hide from %s's fireball" msgstr "%s konnte sich nicht vor %ss Feuerball verstecken" -#: 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 "%s hat die hübschen Lichter von %ss Feuerball gesehen" -#: qcsrc/server/w_fireball.qc:444 +#: qcsrc/server/w_fireball.qc:426 #, c-format msgid "%s got too close to %s's fireball" msgstr "%s ist %ss Feuerball zu nahe getreten" -#: qcsrc/server/w_fireball.qc:446 +#: qcsrc/server/w_fireball.qc:428 #, c-format msgid "%s tasted %s's fireball" msgstr "%s hat von %ss Feuerball probiert" @@ -1863,7 +1902,7 @@ msgstr "%s wurde von %ss HLAC niedergehauen" msgid "Grappling Hook" msgstr "Enterhaken" -#: qcsrc/server/w_hook.qc:286 qcsrc/server/w_porto.qc:296 +#: qcsrc/server/w_hook.qc:286 qcsrc/server/w_porto.qc:386 #, c-format msgid "%s did the impossible" msgstr "%s hat das Unmögliche geschafft" @@ -1917,24 +1956,24 @@ msgstr "%s ist auf %ss Mine gelatscht" msgid "MinstaNex" msgstr "MinstaNex" -#: qcsrc/server/w_minstanex.qc:293 qcsrc/server/w_nex.qc:253 +#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:256 #: qcsrc/server/w_rifle.qc:232 qcsrc/server/w_shotgun.qc:271 #: qcsrc/server/w_uzi.qc:318 #, c-format msgid "%s is now thinking with portals" msgstr "%s kann jetzt mit Portalen denken" -#: qcsrc/server/w_minstanex.qc:295 +#: qcsrc/server/w_minstanex.qc:297 #, c-format msgid "%s has been vaporized by %s's minstanex" msgstr "%s^1 wurde von %ss MinstaNex vernichtet" -#: qcsrc/server/w_nex.qc:255 +#: qcsrc/server/w_nex.qc:258 #, c-format msgid "%s has been vaporized by %s's nex" msgstr "%s^1 wurde von %ss Nex vernichtet" -#: qcsrc/server/w_porto.qc:298 +#: qcsrc/server/w_porto.qc:388 #, c-format msgid "%s felt %s doing the impossible to him" msgstr "%s hat gespürt, wie %s das Unmögliche für ihn getan hat" @@ -1964,22 +2003,22 @@ msgstr "%s hat ein Loch im Kopf bekommen; schuld war %s" msgid "%s was sniped with a rifle by %s" msgstr "%s wurde von %s fachmännisch erledigt" -#: qcsrc/server/w_rocketlauncher.qc:507 +#: qcsrc/server/w_rocketlauncher.qc:466 #, c-format msgid "%s blew themself up with their rocketlauncher" msgstr "%s hat sich mit einem Raketenwerfer selbst in die Luft gejagt" -#: qcsrc/server/w_rocketlauncher.qc:511 +#: qcsrc/server/w_rocketlauncher.qc:470 #, c-format msgid "%s got too close to %s's rocket" msgstr "%s ist %ss Rakete zu nahe getreten" -#: qcsrc/server/w_rocketlauncher.qc:513 +#: qcsrc/server/w_rocketlauncher.qc:472 #, c-format msgid "%s almost dodged %s's rocket" msgstr "%s ist fast %ss Rakete ausgewichen" -#: qcsrc/server/w_rocketlauncher.qc:515 +#: qcsrc/server/w_rocketlauncher.qc:474 #, c-format msgid "%s ate %s's rocket" msgstr "%s hat %ss Rakete in den Mund genommen" @@ -2055,23 +2094,26 @@ msgstr "%s wurde von %ss Maschinengewehr erledigt" 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 "hud_save configname (saves to hud_skinname_configname.cfg)\n" +#~ msgstr "hud_save configname (speichert als hud_skinname_configname.cfg)\n" -#~ msgid "%s shot themself automatically" -#~ msgstr "%s hat sich vollautomatisch selbst erschossen" +#~ msgid "Usage: cl_cmd COMMAND..., where possible commands are:\n" +#~ msgstr "Syntax: cl_cmd BEFEHL..., wobei mögliche Befehle sind:\n" -#~ msgid "%s exploded" -#~ msgstr "%s ist explodiert" +#~ msgid " settemp cvar value\n" +#~ msgstr " settemp Cvar Wert\n" -#~ msgid "%s hoped %s's missiles wouldn't bounce" -#~ msgstr "%s hat gehofft, dass %ss Raketen nicht von Wänden abprallen" +#~ msgid " scoreboard_columns_set ...\n" +#~ msgstr " scoreboard_columns_set ...\n" -#~ msgid "%s detonated" -#~ msgstr "%s verfing sich in der eigenen Detonation" +#~ msgid " scoreboard_columns_help\n" +#~ msgstr " scoreboard_columns_help\n" -#~ msgid "%s tried out his own grenade" -#~ msgstr "%s wollte wissen, ob seine Granate funktioniert" +#~ msgid "Trying to use non existing model %s. " +#~ msgstr "Modell %s existiert nicht! " + +#~ msgid "Reverted to %s.\n" +#~ msgstr "Es wird stattdessen %s verwendet.\n" #~ msgid "Awaiting orders..." #~ msgstr "Warten auf Auftrag..." @@ -2101,7 +2143,7 @@ msgstr "%s ist von %s durchlöchert worden wie ein Schweizer Käse" #~ msgstr "ESC) Menü verlassen" #~ msgid "2) ^3next page" -#~ msgstr "2) ^3nächste Seite" +#~ msgstr "2) ^3nächste Seite" #~ msgid "1) ^3previous page" #~ msgstr "1) ^3vorherige Seite" @@ -2111,3 +2153,21 @@ msgstr "%s ist von %s durchlöchert worden wie ein Schweizer Käse" #~ msgid "----- Order Menu -----" #~ msgstr "----- Auftragsmenü -----" + +#~ msgid "%s detonated" +#~ msgstr "%s verfing sich in der eigenen Detonation" + +#~ 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 shot themself automatically" +#~ msgstr "%s hat sich vollautomatisch selbst erschossen" + +#~ msgid "%s sniped themself somehow" +#~ msgstr "%s hat so scharf geschossen, dass er sich selbst getroffen hat" + +#~ msgid "%s tried out his own grenade" +#~ msgstr "%s wollte wissen, ob seine Granate funktioniert" diff --git a/csprogs.dat.fr.po b/csprogs.dat.fr.po new file mode 100644 index 000000000..a9fcfa7c8 --- /dev/null +++ b/csprogs.dat.fr.po @@ -0,0 +1,2166 @@ +# 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 , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-01-26 12:24+0100\n" +"PO-Revision-Date: 2012-01-26 13:50+0100\n" +"Last-Translator: Calinou \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/Main.qc:8 +msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!" +msgstr "ERREUR - LE MENU EST VISIBLE MAIS NON DÉFIINI !" + +#: qcsrc/client/Main.qc:83 +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:93 +#, c-format +msgid "^4CSQC Build information: ^1%s\n" +msgstr "^4Information sur la version de CSQC: ^1%s\n" + +#: qcsrc/client/Main.qc:258 qcsrc/client/Main.qc:274 +#, 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:466 +#, 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:707 +#, c-format +msgid "" +"A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n" +msgstr "Une entité CSQC a changé de type ! (edict: %d, classname: %s)\n" + +#: qcsrc/client/Main.qc:716 +#, c-format +msgid "" +"A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n" +msgstr "" +"Une entité CSQC a changé de propriétaire ! (edict: %d, classname: %s)\n" + +#: qcsrc/client/Main.qc:758 +#, 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:1206 +#, c-format +msgid "%s (not bound)" +msgstr "%s (non assigné)" + +#: qcsrc/client/Main.qc:1211 qcsrc/client/hud.qc:230 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: qcsrc/client/announcer.qc:31 +msgid "^1Begin!" +msgstr "^1Commencez !" + +#: qcsrc/client/announcer.qc:41 +#, c-format +msgid "^1Game starts in %d seconds" +msgstr "^1La partie commence dans %d secondes" + +#: qcsrc/client/announcer.qc:153 +msgid "^1RED^7 flag" +msgstr "^7drapeau ^1ROUGE^7" + +#: qcsrc/client/announcer.qc:158 +msgid "^4BLUE^7 flag" +msgstr "^7drapeau ^4BLEU^7" + +#: qcsrc/client/announcer.qc:166 +#, c-format +msgid "You picked up the %s!" +msgstr "Vous avez pris le %s !" + +#: qcsrc/client/announcer.qc:170 +#, c-format +msgid "You got the %s!" +msgstr "Vous avez le %s !" + +#: 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:786 +msgid "Out of ammo" +msgstr "Plus de munitions" + +#: qcsrc/client/hud.qc:790 +msgid "Don't have" +msgstr "Ne possède pas" + +#: qcsrc/client/hud.qc:794 +msgid "Unavailable" +msgstr "Non disponible" + +#: qcsrc/client/hud.qc:1625 +#, 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:1629 qcsrc/client/hud.qc:1974 +#, c-format +msgid "^1%s^1 died\n" +msgstr "^1%s^1 est mort\n" + +#: qcsrc/client/hud.qc:1633 +#, 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:1637 +#, 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:1641 +#, 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:1645 +#, c-format +msgid "^1%s^1 unfairly eliminated themself\n" +msgstr "1%s^1 s'est auto-détruit\n" + +#: qcsrc/client/hud.qc:1649 +#, c-format +msgid "^1%s^1 burned to death\n" +msgstr "^1%s^1 a brûlé vif\n" + +#: qcsrc/client/hud.qc:1653 +#, 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:1657 +#, 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:1670 +#, 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:1672 +#, 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:1677 +#, 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:1679 +#, 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:1683 +#, 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:1685 +#, 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:1689 +#, 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:1693 +#, 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:1695 +#, 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:1700 +#, 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:1705 +#, c-format +msgid "^1%s^1 was slimed by %s\n" +msgstr "^1%s^1 a été" + +#: qcsrc/client/hud.qc:1710 +#, 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:1715 +#, 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:1720 +#, 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:1725 +#, 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:1731 +#, 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:1735 +#, 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:1739 +#, 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:1743 +#, c-format +msgid "^1%s^1 was blasted to bits by %s\n" +msgstr "^1%s^1 a été" + +#: qcsrc/client/hud.qc:1747 +#, 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:1751 +#, 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:1755 +#, c-format +msgid "^1%s^1 could find no shelter from %s^1's rockets\n" +msgstr "^1%s^1" + +#: qcsrc/client/hud.qc:1759 +#, 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:1763 +#, 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:1767 +#, 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:1771 +#, 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:1775 +#, 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:1779 +#, 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:1783 +#, 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:1787 +#, 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:1799 +#, 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:1804 +#, 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:1806 +#, 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:1809 +#, 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:1811 +#, 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:1814 +#, c-format +msgid "%s^7 made a ^1TRIPLE SCORE\n" +msgstr "%s^7 a fait un ^1TRIPLE SCORE\n" + +#: qcsrc/client/hud.qc:1816 +#, c-format +msgid "%s^7 made a ^1TRIPLE FRAG\n" +msgstr "%s^7 a fait un ^1TRIPLE FRAG\n" + +#: qcsrc/client/hud.qc:1819 +#, c-format +msgid "%s^7 unleashes ^1SCORING RAGE\n" +msgstr "%s^7 est ENRAGÉ\n" + +#: qcsrc/client/hud.qc:1821 +#, c-format +msgid "%s^7 unleashes ^1RAGE\n" +msgstr "%s^7 est ENRAGÉ\n" + +#: qcsrc/client/hud.qc:1824 +#, 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:1826 +#, c-format +msgid "%s^7 starts the ^1MASSACRE!\n" +msgstr "%s^7 a commencé un ^1MASSACRE !\n" + +#: qcsrc/client/hud.qc:1829 +#, 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:1831 +#, c-format +msgid "%s^7 executes ^1MAYHEM!\n" +msgstr "%s^7 éxécutes un ^1MAYHEM !\n" + +#: qcsrc/client/hud.qc:1834 +#, 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:1836 +#, c-format +msgid "%s^7 is a ^1BERSERKER!\n" +msgstr "%s^7 est un ^1BERSERKER !" + +#: qcsrc/client/hud.qc:1839 +#, 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:1841 +#, c-format +msgid "%s^7 inflicts ^1CARNAGE!\n" +msgstr "%s^7 a infligé un ^1CARNAGE !\n" + +#: qcsrc/client/hud.qc:1844 +#, 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:1846 +#, c-format +msgid "%s^7 unleashes ^1ARMAGEDDON!\n" +msgstr "%s^7 a fait un ^1ARMAGEDDON !\n" + +#: qcsrc/client/hud.qc:1854 +#, 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:1856 +#, c-format +msgid "^1%s^1 drowned\n" +msgstr "^1%s^1 s'est noyé\n" + +#: qcsrc/client/hud.qc:1861 +#, c-format +msgid "^1%s^1 was slimed\n" +msgstr "^1%s^1 a été acidulé\n" + +#: qcsrc/client/hud.qc:1867 +#, 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:1869 +#, 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:1876 +#, 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:1878 +#, 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:1883 +#, 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:1889 +#, 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:1891 +#, 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:1898 +#, c-format +msgid "^1%s^1 ran into a turret\n" +msgstr "^1%s^1 a sprinté vers une tourelle\n" + +#: qcsrc/client/hud.qc:1904 +#, c-format +msgid "^1%s^1 was laserd down by a eWheel turret \n" +msgstr "^1%s^1 a été tué par une tourelle eWheel\n" + +#: qcsrc/client/hud.qc:1907 +#, c-format +msgid "^1%s^1 got caught in the flac \n" +msgstr "^1%s^1 a été pris par une tourelle FLAC %s\n" + +#: qcsrc/client/hud.qc:1910 +#, c-format +msgid "^1%s^1 was riddeld full of riddled by a machinegun turret \n" +msgstr "^1%s^1 a été tué par une tourelle mitrailleuse\n" + +#: qcsrc/client/hud.qc:1913 +#, c-format +msgid "^1%s^1 got served a led enrichment by a walker turret \n" +msgstr "^1%s^1 a été enrichi avec des balles par une tourelle marcheuse\n" + +#: qcsrc/client/hud.qc:1916 +#, c-format +msgid "^1%s^1 was impaled by a walker turret \n" +msgstr "^1%s^1 a été impalé par une tourelle marcheuse\n" + +#: qcsrc/client/hud.qc:1919 +#, c-format +msgid "^1%s^1 was rocketed to hell by a walker turret \n" +msgstr "^1%s^1 a été explosé par une tourelle marcheuse\n" + +#: qcsrc/client/hud.qc:1922 +#, c-format +msgid "^1%s^1 was blasted away hellion turret \n" +msgstr "^1%s^1 a été tué par une tourelle hellion\n" + +#: qcsrc/client/hud.qc:1925 +#, c-format +msgid "^1%s^1 could not hide from the hunter turret \n" +msgstr "%s n'a pas pu se cacher de la tourelle chasseuse\n" + +#: qcsrc/client/hud.qc:1928 +#, c-format +msgid "^1%s^1 got turned into smoldering gibs by a mlrs turret \n" +msgstr "^1%s^1 a été transformé en gigot brûlant par une tourelle MLRS\n" + +#: qcsrc/client/hud.qc:1931 +#, c-format +msgid "^1%s^1 got served some superheated plasma from a plasma turret \n" +msgstr "^1%s^1 a été servi avec du plasma très chaud venant d'une tourelle\n" + +#: qcsrc/client/hud.qc:1934 +#, c-format +msgid "^1%s^1 was phased out \n" +msgstr "^1%s^1 a disparu\n" + +#: qcsrc/client/hud.qc:1937 +#, c-format +msgid "^1%s^1 was electrocuted by a tesla turret \n" +msgstr "^1%s^1 a été éléctrocuté par une tourelle tesla\n" + +#: qcsrc/client/hud.qc:1953 +#, 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:1957 +#, c-format +msgid "^1%s^1 was unfairly eliminated\n" +msgstr "^1%s^1 a été éliminé\n" + +#: qcsrc/client/hud.qc:1963 +#, c-format +msgid "^1%s^1 felt a little hot\n" +msgstr "^1%s^1 avait un peu chaud\n" + +#: qcsrc/client/hud.qc:1965 +#, c-format +msgid "^1%s^1 burnt to death\n" +msgstr "^1%s^1 a été brûlé à mort\n" + +#: qcsrc/client/hud.qc:1972 +#, 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:1979 +#, 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:1981 +#, 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:1985 +#, c-format +msgid "%s^7 got the %s\n" +msgstr "%s^7 a pris le %s\n" + +#: qcsrc/client/hud.qc:1988 +#, c-format +msgid "%s^7 lost the %s\n" +msgstr "%S^7 a perdu le %s\n" + +#: qcsrc/client/hud.qc:1991 +#, c-format +msgid "%s^7 picked up the %s\n" +msgstr "%s^7 a collecté le %s\n" + +#: qcsrc/client/hud.qc:1994 +#, c-format +msgid "%s^7 returned the %s\n" +msgstr "%s^7 a retourné le %s\n" + +#: qcsrc/client/hud.qc:1997 +#, c-format +msgid "%s^7 captured the %s%s\n" +msgstr "%s^7 a capturé le %s%s\n" + +#: qcsrc/client/hud.qc:2016 +#, c-format +msgid "%s^7 has picked up the ball!\n" +msgstr "%s^7 a collecté la balle !\n" + +#: qcsrc/client/hud.qc:2021 +#, c-format +msgid "%s^7 has dropped the ball!\n" +msgstr "%s^7 a lâché la balle !\n" + +#: qcsrc/client/hud.qc:2032 +#, c-format +msgid "You are now on: %s" +msgstr "Vous êtes maintenant dans l'%s" + +#: 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 "" +"Vous avez été changé d'équipe pour améliorer l'équilibre des équipes\n" +"Vous êtes maintenant dans l'%s" + +#: qcsrc/client/hud.qc:2037 +msgid "^1Reconsider your tactics, camper!" +msgstr "^1Change de tactique, campeur !" + +#: qcsrc/client/hud.qc:2039 +msgid "^1Die camper!" +msgstr "^1Meurs campeur !" + +#: qcsrc/client/hud.qc:2042 +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:2044 +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:2047 +msgid "^1You need to preserve your health" +msgstr "^1Vous aviez besoin de préserver votre santé" + +#: qcsrc/client/hud.qc:2049 +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:2052 +msgid "^1Don't go against team mates!" +msgstr "^1Ne tirez pas sur vos équipiers !" + +#: qcsrc/client/hud.qc:2054 +msgid "^1Don't shoot your team mates!" +msgstr "^1Ne tirez pas sur vos équipiers !" + +#: qcsrc/client/hud.qc:2059 +msgid "^1You need to be more careful!" +msgstr "^1Vous devez être plus prudent !" + +#: qcsrc/client/hud.qc:2061 +msgid "^1You killed your own dumb self!" +msgstr "^1Vous vous êtes suicidé !" + +#: qcsrc/client/hud.qc:2066 +#, 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:2068 +#, 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:2072 +msgid "^1First score" +msgstr "^1Premier score" + +#: qcsrc/client/hud.qc:2074 +msgid "^1First blood" +msgstr "^1Premier tué" + +#: qcsrc/client/hud.qc:2078 +msgid "^1First casualty" +msgstr "^1Première victime" + +#: qcsrc/client/hud.qc:2080 +msgid "^1First victim" +msgstr "^1Première victime" + +#: qcsrc/client/hud.qc:2084 +#, 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:2086 +#, c-format +msgid "^1You typefragged ^7%s" +msgstr "^1Vous avez typefraggué ^7%s" + +#: qcsrc/client/hud.qc:2090 +#, 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:2092 +#, c-format +msgid "^1You were typefragged by ^7%s" +msgstr "^1Vous avez été typefraggué par ^7%s" + +#: qcsrc/client/hud.qc:2096 +#, c-format +msgid "^4You scored against ^7%s" +msgstr "^4Vous avez scoré contre ^7%s" + +#: qcsrc/client/hud.qc:2098 +#, c-format +msgid "^4You fragged ^7%s" +msgstr "^4Vous avez fraggué ^7%s" + +#: qcsrc/client/hud.qc:2102 +#, c-format +msgid "^1You were scored against by ^7%s" +msgstr "^1Vous avez été scoré par ^7%s" + +#: qcsrc/client/hud.qc:2104 +#, c-format +msgid "^1You were fragged by ^7%s" +msgstr "^1Vous avez été fraggué pr ^7%s" + +#: qcsrc/client/hud.qc:2109 +msgid "^1Watch your step!" +msgstr "^1Attention à la marche !" + +#: qcsrc/client/hud.qc:2178 qcsrc/client/hud.qc:2179 qcsrc/client/hud.qc:2685 +#, c-format +msgid "Player %d" +msgstr "Joueur %d" + +#: qcsrc/client/hud.qc:2995 +msgid "^1Intermediate 1 (+15.42)" +msgstr "^1Intermédiaire 1 (+15.42)" + +#: qcsrc/client/hud.qc:2997 qcsrc/client/hud.qc:3039 qcsrc/client/hud.qc:3080 +#, c-format +msgid "^1PENALTY: %.1f (%s)" +msgstr "^1PÉNALITÉ: %.1f (%s)" + +#: qcsrc/client/hud.qc:3082 +#, c-format +msgid "^2PENALTY: %.1f (%s)" +msgstr "^2PÉLANITÉ %.1f (%s)" + +#: qcsrc/client/hud.qc:3110 +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:3115 +msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats" +msgstr "" +"^2Votre pseudonyme ^7à la place de \"^1Unregistered player^7\" dans les " +"statistiques" + +#: qcsrc/client/hud.qc:3197 +msgid "A vote has been called for:" +msgstr "Un vote a été lancé pour :" + +#: qcsrc/client/hud.qc:3199 +msgid "Allow servers to store and display your name?" +msgstr "Autoriser les serveurs à stocker et afficher votre pseudonyme ?" + +#: qcsrc/client/hud.qc:3203 +msgid "^1Configure the HUD" +msgstr "^1Configurer l'interface" + +#: qcsrc/client/hud.qc:3207 +#, c-format +msgid "Yes (%s): %d" +msgstr "Oui (%s): %d" + +#: qcsrc/client/hud.qc:3209 +#, c-format +msgid "No (%s): %d" +msgstr "Non (%s): %d" + +#: qcsrc/client/hud.qc:3712 qcsrc/client/hud.qc:3715 qcsrc/client/hud.qc:3717 +msgid "Personal best" +msgstr "Record personnel" + +#: qcsrc/client/hud.qc:3730 qcsrc/client/hud.qc:3733 qcsrc/client/hud.qc:3735 +msgid "Server best" +msgstr "Record du serveur" + +#: qcsrc/client/hud.qc:4081 +msgid "^3Player^7: This is the chat area." +msgstr "^3Joueur^7: Ceci est la zone du chat." + +#: qcsrc/client/hud.qc:4149 +#, c-format +msgid "FPS: %.*f" +msgstr "FPS: %.*f" + +#: qcsrc/client/hud.qc:4216 +msgid "^1Observing" +msgstr "^1Observation" + +#: qcsrc/client/hud.qc:4219 qcsrc/client/hud.qc:4221 +#, c-format +msgid "^1Spectating: ^7%s" +msgstr "^1En spectateur sur : ^7%s" + +#: qcsrc/client/hud.qc:4226 +#, 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:4228 +#, c-format +msgid "^1Press ^3%s^1 for another player" +msgstr "^1Appuyez sur ^3%s^1 pour un autre joueur" + +#: qcsrc/client/hud.qc:4232 +#, 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:4234 +#, c-format +msgid "^1Press ^3%s^1 to observe" +msgstr "^1Utiliez ^3ùs^1 pour observer" + +#: qcsrc/client/hud.qc:4237 +#, c-format +msgid "^1Press ^3%s^1 for gamemode info" +msgstr "^1Appuyez sur ^3%s^1 pour de l'information" + +#: qcsrc/client/hud.qc:4241 +msgid "^1Wait for your turn to join" +msgstr "^1Attendez votre tour pour jouer" + +#: qcsrc/client/hud.qc:4247 +msgid "^1Match has already begun" +msgstr "^1La partie a déjà commencé" + +#: qcsrc/client/hud.qc:4249 +msgid "^1You have no more lives left" +msgstr "^1Vous n'avez plus de vies" + +#: qcsrc/client/hud.qc:4251 qcsrc/client/hud.qc:4254 +#, c-format +msgid "^1Press ^3%s^1 to join" +msgstr "^1Appuyez sur ^3%s^1 pour jouer" + +#: qcsrc/client/hud.qc:4262 +#, c-format +msgid "^1Game starts in ^3%d^1 seconds" +msgstr "^1La partie commence dans ^3%d^1 secondes" + +#: qcsrc/client/hud.qc:4269 +msgid "^2Currently in ^1warmup^2 stage!" +msgstr "^2Actuellement en ^1mode échauffement^2 !" + +#: qcsrc/client/hud.qc:4284 +#, c-format +msgid "%sPress ^3%s%s to end warmup" +msgstr "%sAppuyez sur ^3%s%s pour finir l'échauffement" + +#: qcsrc/client/hud.qc:4286 +#, 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:4291 +msgid "^2Waiting for others to ready up to end warmup..." +msgstr "^2En attente des autres joueurs pour finir l'échauffement..." + +#: qcsrc/client/hud.qc:4293 +msgid "^2Waiting for others to ready up..." +msgstr "^2En attente des autres joueurs pour être prêt..." + +#: qcsrc/client/hud.qc:4299 +#, c-format +msgid "^2Press ^3%s^2 to end warmup" +msgstr "^2Appuyez sur ^3%s^2 pour finir l'échauffement" + +#: qcsrc/client/hud.qc:4320 +msgid "Teamnumbers are unbalanced!" +msgstr "Les équipes ne sont pas équilibrées !" + +#: qcsrc/client/hud.qc:4325 +#, c-format +msgid " Press ^3%s%s to adjust" +msgstr " Appuyez sur ^3%s%s pour ajuster" + +#: qcsrc/client/hud.qc:4333 +msgid "^7Press ^3ESC ^7to show HUD options." +msgstr "^7Appuyez sur ^3ESC ^7pour afficher les options de l'interface." + +#: qcsrc/client/hud.qc:4335 +msgid "^3Doubleclick ^7a panel for panel-specific options." +msgstr "^3Double-cliquez ^7un panneau pour des options." + +#: qcsrc/client/hud.qc:4337 +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:4339 +msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments." +msgstr "^3Alt ^7+ ^3Flèches ^7 pour des ajustements précis." + +#: qcsrc/client/hud.qc:4377 +msgid " qu/s" +msgstr " qu/s" + +#: qcsrc/client/hud.qc:4381 +msgid " m/s" +msgstr " m/s" + +#: qcsrc/client/hud.qc:4385 +msgid " km/h" +msgstr " km/h" + +#: qcsrc/client/hud.qc:4389 +msgid " mph" +msgstr " mph" + +#: qcsrc/client/hud.qc:4393 +msgid " knots" +msgstr " nœuds" + +#: qcsrc/client/hud.qc:5059 +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/hud_config.qc:185 +#, 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:189 +#, c-format +msgid "^1Couldn't write to %s\n" +msgstr "^1Ne peut pas écrire vers %s\n" + +#: 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:116 +msgid "Don't care" +msgstr "Ne pas voter" + +#: qcsrc/client/mapvoting.qc:197 +msgid "Vote for a map" +msgstr "Votez pour une carte" + +#: qcsrc/client/mapvoting.qc:203 +#, c-format +msgid "%d seconds left" +msgstr "%d secondes restantes" + +#: qcsrc/client/mapvoting.qc:266 +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:276 +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:285 +msgid "Requesting preview...\n" +msgstr "Demande d'aperçu...\n" + +#: qcsrc/client/miscfunctions.qc:100 +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/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/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 +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 ^7field1 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:1085 +msgid "Map stats:" +msgstr "Stats. de la carte :" + +#: qcsrc/client/scoreboard.qc:1101 +msgid "Secrets found:" +msgstr "Secrets trouvés :" + +#: qcsrc/client/scoreboard.qc:1128 +msgid "Rankings" +msgstr "Classements" + +#: qcsrc/client/scoreboard.qc:1223 +msgid "Scoreboard" +msgstr "Tableau des scores" + +#: qcsrc/client/scoreboard.qc:1268 +#, c-format +msgid "Speed award: %d ^7(%s^7)" +msgstr "Le plus rapide: %d ^7(%s^7)" + +#: qcsrc/client/scoreboard.qc:1272 +#, c-format +msgid "All-time fastest: %d ^7(%s^7)" +msgstr "Record de vitesse: %d ^7(%s^7)" + +#: qcsrc/client/scoreboard.qc:1305 qcsrc/client/teamplay.qc:63 +msgid "Spectators" +msgstr "Spectateurs" + +#: qcsrc/client/scoreboard.qc:1311 +#, c-format +msgid "playing on ^2%s^7" +msgstr "en train de jouer sur ^2%s^7" + +#: qcsrc/client/scoreboard.qc:1318 qcsrc/client/scoreboard.qc:1323 +#, c-format +msgid " for up to ^1%1.0f minutes^7" +msgstr " pour jusqu'à ^1%1.0f minutes^7" + +#: qcsrc/client/scoreboard.qc:1327 qcsrc/client/scoreboard.qc:1346 +msgid " or" +msgstr " ou" + +#: qcsrc/client/scoreboard.qc:1330 qcsrc/client/scoreboard.qc:1337 +#, c-format +msgid " until ^3%s %s^7" +msgstr " jusqu'à ^3%s %s^7" + +#: qcsrc/client/scoreboard.qc:1331 qcsrc/client/scoreboard.qc:1338 +#: qcsrc/client/scoreboard.qc:1350 qcsrc/client/scoreboard.qc:1357 +msgid "SCO^points" +msgstr "SCO^points" + +#: 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 "SCO^est battu" + +#: qcsrc/client/scoreboard.qc:1349 qcsrc/client/scoreboard.qc:1356 +#, 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/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/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/tturrets.qc:285 qcsrc/client/waypointsprites.qc:590 +msgid "Spam" +msgstr "Spam" + +#: qcsrc/client/tturrets.qc:294 +#, c-format +msgid "%s under attack!" +msgstr "%s attaqué !" + +#: 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:594 +#, c-format +msgid "%s needing help!" +msgstr "%s a besoin d'aide !" + +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "Lancer de @!#%'n Tuba" + +#: qcsrc/common/mapinfo.qc:1057 +#, c-format +msgid "%s: %s" +msgstr "%s : %s" + +#: qcsrc/common/mapinfo.qh:36 +msgid "Deathmatch" +msgstr "Match à Mort" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "Dernier Homme en Vie" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Arène" + +#: 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 en Équipe" + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Capture du Drapeau" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Arène de Clan" + +#: 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 "Stratégie" + +#: qcsrc/common/mapinfo.qh:75 +msgid "Nexball" +msgstr "Nexball" + +#: qcsrc/common/mapinfo.qh:78 +msgid "Freeze Tag" +msgstr "Loup Glacé" + +#: qcsrc/common/mapinfo.qh:81 +msgid "Keepaway" +msgstr "Keepaway" + +#: 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 au Crylink" + +#: 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" + +#: qcsrc/server/w_crylink.qc:673 +#, 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:675 +#, 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_electro.qc:589 +#, c-format +msgid "%s could not remember where they put their electro plasma" +msgstr "%s n'a pas pu se souvenir où il a mis du plasma d'electro" + +#: qcsrc/server/w_electro.qc:591 +#, c-format +msgid "%s played with electro plasma" +msgstr "%s a joué avec du plasma d'electro" + +#: qcsrc/server/w_electro.qc:598 +#, c-format +msgid "%s just noticed %s's electro plasma" +msgstr "%s vient juste de remarquer le plasma d'electro de %s" + +#: qcsrc/server/w_electro.qc:600 +#, c-format +msgid "%s got in touch with %s's electro plasma" +msgstr "%s a pu toucher le plasma d'electro de %s" + +#: qcsrc/server/w_electro.qc:605 +#, c-format +msgid "%s felt the electrifying air of %s's electro combo" +msgstr "%s a ressenti l'air éléctrique du combo d'electro de %s" + +#: qcsrc/server/w_electro.qc:607 +#, c-format +msgid "%s got too close to %s's blue electro bolt" +msgstr "%s s'est trop rapproché du laser bleu d'electro de %s" + +#: qcsrc/server/w_electro.qc:609 +#, c-format +msgid "%s was blasted by %s's blue electro bolt" +msgstr "%s a été pulvérisé par le laser bleu d'electro de %s" + +#: qcsrc/server/w_fireball.qc:403 +#, c-format +msgid "%s forgot about some firemine" +msgstr "%s est devenu une torche vivante pendant quelques secondes" + +#: qcsrc/server/w_fireball.qc:405 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" + +#: qcsrc/server/w_fireball.qc:412 +#, 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:414 +#, c-format +msgid "%s fatefully ignored %s's firemine" +msgstr "%s a ignoré la mine de feu de %s" + +#: qcsrc/server/w_fireball.qc:421 +#, 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:423 +#, 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:426 +#, 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:428 +#, c-format +msgid "%s tasted %s's fireball" +msgstr "%s a goûté la boule de feu de %s" + +#: qcsrc/server/w_grenadelauncher.qc:388 +#, c-format +msgid "%s didn't see their own grenade" +msgstr "%s n'a pas vu sa propre grenade" + +#: qcsrc/server/w_grenadelauncher.qc:390 +#, c-format +msgid "%s blew themself up with their grenadelauncher" +msgstr "%s s'est explosé avec son lance-grenades" + +#: qcsrc/server/w_grenadelauncher.qc:396 +#, 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:398 +#, c-format +msgid "%s almost dodged %s's grenade" +msgstr "%s a presque évité la grenade de %s" + +#: qcsrc/server/w_grenadelauncher.qc:400 +#, c-format +msgid "%s ate %s's grenade" +msgstr "%s a mangé la grenade de %s" + +#: qcsrc/server/w_hagar.qc:462 +#, c-format +msgid "%s played with tiny hagar rockets" +msgstr "%s a joué avec des mini-roquettes d'hagar" + +#: qcsrc/server/w_hagar.qc:466 +#, c-format +msgid "%s was pummeled with a burst of hagar rockets by %s" +msgstr "%s a été cribblé de roquettes d'hagar par %s" + +#: qcsrc/server/w_hagar.qc:468 +#, c-format +msgid "%s was pummeled with hagar rockets by %s" +msgstr "%s a été pommelé avec des roquettes d'hagar par %s" + +#: qcsrc/server/w_hlac.qc:2 +msgid "Heavy Laser Assault Cannon" +msgstr "Cannon Laser d'Assault Lourd" + +#: qcsrc/server/w_hlac.qc:242 +#, c-format +msgid "%s was cut down with a HLAC by %s" +msgstr "%s a été coupé par l'HLAC de %s" + +#: qcsrc/server/w_hook.qc:2 +msgid "Grappling Hook" +msgstr "Grappin" + +#: qcsrc/server/w_hook.qc:286 qcsrc/server/w_porto.qc:386 +#, c-format +msgid "%s did the impossible" +msgstr "%s a fait l'impossible" + +#: qcsrc/server/w_hook.qc:288 +#, c-format +msgid "%s was caught in %s's hook gravity bomb" +msgstr "%s a été pris dans la bombe à gravité de %s" + +#: qcsrc/server/w_laser.qc:312 +#, c-format +msgid "%s lasered themself to hell" +msgstr "%s s'est suicidé au laser" + +#: qcsrc/server/w_laser.qc:316 +#, 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:318 +#, c-format +msgid "%s was lasered to death by %s" +msgstr "%s a été tué au laser au %s" + +#: qcsrc/server/w_minelayer.qc:533 +#, c-format +msgid "%s blew themself up with their minelayer" +msgstr "%s s'est explosé avec son lance-mines" + +#: qcsrc/server/w_minelayer.qc:535 +#, c-format +msgid "%s forgot about their mine" +msgstr "%s a oublié sa mine" + +#: qcsrc/server/w_minelayer.qc:539 +#, 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:541 +#, c-format +msgid "%s almost dodged %s's mine" +msgstr "%s a presque évité la mine de %s" + +#: qcsrc/server/w_minelayer.qc:543 +#, c-format +msgid "%s stepped on %s's mine" +msgstr "%s a marché sur la mine de %s" + +#: qcsrc/server/w_minstanex.qc:2 +msgid "MinstaNex" +msgstr "MinstaNex" + +#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:256 +#: qcsrc/server/w_rifle.qc:232 qcsrc/server/w_shotgun.qc:271 +#: qcsrc/server/w_uzi.qc:318 +#, c-format +msgid "%s is now thinking with portals" +msgstr "%s pense maintenant avec les portails" + +#: qcsrc/server/w_minstanex.qc:297 +#, c-format +msgid "%s has been vaporized by %s's minstanex" +msgstr "%s a été vaporisé par le minstanex de %s" + +#: qcsrc/server/w_nex.qc:258 +#, c-format +msgid "%s has been vaporized by %s's nex" +msgstr "%s a été vaporisé par le nex de %s" + +#: qcsrc/server/w_porto.qc:388 +#, c-format +msgid "%s felt %s doing the impossible to him" +msgstr "%s a senti %s faire l'impossible" + +#: qcsrc/server/w_rifle.qc:239 +#, c-format +msgid "%s failed to hide from %s's rifle bullet hail" +msgstr "%s n'a pas pu se cacher de la chaîne de balles de fusil sniper de %s" + +#: qcsrc/server/w_rifle.qc:241 +#, c-format +msgid "%s died in %s's rifle bullet hail" +msgstr "%s est mort dans la chaîne de balles de %s" + +#: qcsrc/server/w_rifle.qc:248 +#, 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:253 +#, c-format +msgid "%s got shot in the head with a rifle by %s" +msgstr "%s a été tiré dans la tête avec un fusil sniper par %s" + +#: qcsrc/server/w_rifle.qc:255 +#, c-format +msgid "%s was sniped with a rifle by %s" +msgstr "%s a été snipé par le fusil sniper de %s" + +#: qcsrc/server/w_rocketlauncher.qc:466 +#, c-format +msgid "%s blew themself up with their rocketlauncher" +msgstr "%s s'est explosé avec son lance-roquettes" + +#: qcsrc/server/w_rocketlauncher.qc:470 +#, 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:472 +#, c-format +msgid "%s almost dodged %s's rocket" +msgstr "%s a presque évité la roquette de %s" + +#: qcsrc/server/w_rocketlauncher.qc:474 +#, c-format +msgid "%s ate %s's rocket" +msgstr "%s a mangé la roquette de %s" + +#: qcsrc/server/w_seeker.qc:2 +msgid "T.A.G. Seeker" +msgstr "T.A.G. Chercheur" + +#: qcsrc/server/w_seeker.qc:661 +#, c-format +msgid "%s played with tiny seeker rockets" +msgstr "%s a joué avec des roquettes chercheuses" + +#: qcsrc/server/w_seeker.qc:665 +#, c-format +msgid "%s was tagged with a seeker by %s" +msgstr "%s a été tagué par le chercheur de %s" + +#: qcsrc/server/w_seeker.qc:667 +#, c-format +msgid "%s was pummeled with seeker rockets by %s" +msgstr "%s a été pommelé avec des roquettes chercheuses par %s" + +#: qcsrc/server/w_shotgun.qc:275 +#, c-format +msgid "%2$s slapped %1$s around a bit with a large shotgun" +msgstr "%2$s a baffé %1$s avec un gros fusil" + +#: qcsrc/server/w_shotgun.qc:277 +#, c-format +msgid "%s was gunned down with a shotgun 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:444 +#, 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:447 +#, c-format +msgid "%s hurt his own ears with the @!#%%'n Accordeon" +msgstr "%s est devenu sourd à cause de son @!#%%'n Accordeon" + +#: qcsrc/server/w_tuba.qc:465 +#, 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_tuba.qc:468 +#, c-format +msgid "%s died of %s's great playing on the @!#%%'n Accordeon" +msgstr "%s est devenu sourd à cause du @!#%%'n Acoordeon de %s" + +#: qcsrc/server/w_uzi.qc:322 +#, c-format +msgid "%s was sniped by %s's machine gun" +msgstr "%s a été snipé par la mitraillette de %s" + +#: qcsrc/server/w_uzi.qc:324 +#, c-format +msgid "%s was riddled full of holes by %s's machine gun" +msgstr "%s a été cribblé de balles par la mitraillette de %s" + +#~ msgid "----- Order Menu -----" +#~ msgstr "----- Menu d'ordre -----" + +#~ msgid "Order: %s" +#~ msgstr "Ordre: %s" + +#~ msgid "1) ^3previous page" +#~ msgstr "1) ^3page précédente" + +#~ msgid "2) ^3next page" +#~ msgstr "2) ^3page suivante" + +#~ msgid "ESC) Exit Menu" +#~ msgstr "ESC) Quitter le menu" + +#~ msgid "Couldn't find player %d\n" +#~ msgstr "Ne peut pas trouver le joueur %d\n" + +#~ msgid "----- Command Menu -----" +#~ msgstr "----- Menu de commandes -----" + +#~ msgid "Issue orders:" +#~ msgstr "Donner des ordres:" + +#~ msgid " 1) Attack" +#~ msgstr "1) Attaquer" + +#~ msgid " 2) Defend" +#~ msgstr "2) Défendre" + +#~ msgid "3) Resign from command." +#~ msgstr "3) Abandonner l'ordre" + +#~ msgid "You're commander!" +#~ msgstr "Vous êtes le commandant !" + +#~ msgid "Awaiting orders..." +#~ msgstr "En attente d'ordres..." + +#~ msgid "hud_save configname (saves to hud_skinname_configname.cfg)\n" +#~ msgstr "hud_save configname (saves to hud_skinname_configname.cfg)\n" + +#~ msgid "Usage: cl_cmd COMMAND..., where possible commands are:\n" +#~ msgstr "Usage: cl_cmd COMMAND..., où les commandes possibles sont :\n" + +#~ msgid " settemp cvar value\n" +#~ msgstr " setteam cvar value\n" + +#~ msgid " scoreboard_columns_set ...\n" +#~ msgstr " scoreboard_columns_set ...\n" + +#~ msgid " scoreboard_columns_help\n" +#~ msgstr " scoreboard_columns_help\n" + +#~ msgid "%s shot themself automatically" +#~ msgstr "%s s'est tiré sur lui-même" + +#~ msgid "%s sniped themself somehow" +#~ msgstr "%s s'est tiré une balle dans la tête" + +#~ msgid "%s exploded" +#~ msgstr "%s a explosé" + +#~ msgid "%s tried out his own grenade" +#~ msgstr "%s a testé sa propre grenade" + +#~ msgid "%s detonated" +#~ msgstr "%s s'est détoné" + +#~ msgid "%s hoped %s's missiles wouldn't bounce" +#~ msgstr "%s avait espéré que les missiles de %s ne rebondissaient pas" diff --git a/csprogs.dat.hu.po b/csprogs.dat.hu.po new file mode 100644 index 000000000..5d23761e5 --- /dev/null +++ b/csprogs.dat.hu.po @@ -0,0 +1,2110 @@ +# Xonotic CSQC +# Copyright (C) 2011 Team Xonotic +# This file is distributed under the same license as the Xonotic package. +# +# Rudolf Polzer , 2011. +# Ákos RUSZKAI, 2012. +msgid "" +msgstr "" +"Project-Id-Version: 0.1preview\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-12-25 22:57+0100\n" +"PO-Revision-Date: 2012-01-29 20:34+0100\n" +"Last-Translator: Ákos RUSZKAI\n" +"Language-Team: Hungarian \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: qcsrc/client/Main.qc:30 +msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!" +msgstr "HIBA - A MENÜ LÁTHATÓ, DE NEM VOLT DEFINIÁLVA!" + +#: qcsrc/client/Main.qc:104 +msgid "" +"^3Your engine build is outdated\n" +"^3This Server uses a newer QC VM. Please update!\n" +msgstr "" +"^3A grafikus motorod elavult.\n" +"^3A szerver újabb QC Virtuális Gépet (VM) használ. Kérlek, frissítsd a " +"sajátodat!\n" + +#: qcsrc/client/Main.qc:114 +#, c-format +msgid "^4CSQC Build information: ^1%s\n" +msgstr "^4CSQC Build-Információ: ^1%s (magyar)\n" + +#: qcsrc/client/Main.qc:293 qcsrc/client/Main.qc:309 +#, c-format +msgid "trying to switch to unsupported team %d\n" +msgstr "nem támogatott %d csapathoz próbálsz csatlakozni" + +#: qcsrc/client/Main.qc:424 qcsrc/client/scoreboard.qc:241 +msgid "Usage:\n" +msgstr "Használat:\n" + +#: qcsrc/client/Main.qc:425 +msgid "hud_save configname (saves to hud_skinname_configname.cfg)\n" +msgstr "hud_save configname (hud_skinname_configname.cfg mentése)\n" + +#: qcsrc/client/Main.qc:549 +msgid "Usage: cl_cmd COMMAND..., where possible commands are:\n" +msgstr "Használat: cl_cmd PARANCS..., ahol a lehetséges parancsok:\n" + +#: qcsrc/client/Main.qc:550 +msgid " settemp cvar value\n" +msgstr " settemp Cvar Wert\n" + +#: qcsrc/client/Main.qc:551 +msgid " scoreboard_columns_set ...\n" +msgstr " scoreboard_columns_set ...\n" + +#: qcsrc/client/Main.qc:552 +msgid " scoreboard_columns_help\n" +msgstr " scoreboard_columns_help\n" + +#: qcsrc/client/Main.qc:788 +#, c-format +msgid "A CSQC entity changed its owner! (edict: %d, classname: %s)\n" +msgstr "Egy CSQC entitás gazdát cserélt! (edict: %d, classname: %s)\n" + +#: qcsrc/client/Main.qc:1029 +#, c-format +msgid "" +"A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n" +msgstr "" +"Egy CSQC entitás típust váltott! (edict: %d, server: %d, type: %d -" +"> %d)\n" + +#: qcsrc/client/Main.qc:1038 +#, c-format +msgid "" +"A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n" +msgstr "" +"Egy CSQC-entitás a nagy semmiből jelent meg! (edict: %d, server: %d, type: %" +"d)\n" + +#: qcsrc/client/Main.qc:1080 +#, c-format +msgid "" +"Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: " +"%s)\n" +msgstr "" +"Ismeretlen entitás típus CSQC_Ent_Update (enttype: %d, edict: %d, " +"classname: %s)\n" + +#: qcsrc/client/Main.qc:1526 +#, c-format +msgid "%s (not bound)" +msgstr "%s (nincs kiosztva)" + +#: qcsrc/client/Main.qc:1531 qcsrc/client/hud.qc:230 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: qcsrc/client/announcer.qc:31 +msgid "^1Begin!" +msgstr "^1Kezdődjék a játszma!" + +#: qcsrc/client/announcer.qc:41 +#, c-format +msgid "^1Game starts in %d seconds" +msgstr "^1A játszma kezdéséig még %d másodperc van hátra" + +#: qcsrc/client/announcer.qc:153 +msgid "^1RED^7 flag" +msgstr "^1VÖRÖS^7 ZÁSZLÓ" + +#: qcsrc/client/announcer.qc:158 +msgid "^4BLUE^7 flag" +msgstr "^4BLAUE^7 Flagge" + +#: qcsrc/client/announcer.qc:166 +#, c-format +msgid "You picked up the %s!" +msgstr "Felvetted a %s -t!" + +#: qcsrc/client/announcer.qc:170 +#, c-format +msgid "You got the %s!" +msgstr "Nálad van a %s!" + +#: qcsrc/client/csqcmodel_hooks.qc:17 +#, c-format +msgid "Trying to use non existing model %s. " +msgstr "A %s modell nem létezik " + +#: qcsrc/client/csqcmodel_hooks.qc:19 +#, c-format +msgid "Reverted to %s.\n" +msgstr "Visszaállítva %s helyzetbe.\n" + +#: qcsrc/client/hud.qc:160 +msgid "1st" +msgstr "1." + +#: qcsrc/client/hud.qc:162 +msgid "2nd" +msgstr "2." + +#: qcsrc/client/hud.qc:164 +msgid "3rd" +msgstr "3." + +#: qcsrc/client/hud.qc:166 +#, c-format +msgid "%dth" +msgstr "%d." + +#: qcsrc/client/hud.qc:198 +#, c-format +msgid " (-%dL)" +msgstr " (-%dR)" + +#: qcsrc/client/hud.qc:203 +#, c-format +msgid " (+%dL)" +msgstr " (+%dR)" + +#: qcsrc/client/hud.qc:219 +msgid "Start line" +msgstr "Start" + +#: qcsrc/client/hud.qc:221 qcsrc/client/hud.qc:225 +msgid "Finish line" +msgstr "Cél" + +#: qcsrc/client/hud.qc:223 +#, c-format +msgid "Intermediate %d" +msgstr "Közepes %d" + +#: qcsrc/client/hud.qc:232 +#, c-format +msgid "%s (%s %s)" +msgstr "%s (%s %s)" + +#: qcsrc/client/hud.qc:786 +msgid "Out of ammo" +msgstr "Nincs több lőszered." + +#: qcsrc/client/hud.qc:790 +msgid "Don't have" +msgstr "nincs nálad" + +#: qcsrc/client/hud.qc:794 +msgid "Unavailable" +msgstr "nem elérhető" + +#: qcsrc/client/hud.qc:1534 +#, c-format +msgid "^1%s^1 couldn't take it anymore\n" +msgstr "^1%s^1 már nem bírta tovább\n" + +#: qcsrc/client/hud.qc:1538 qcsrc/client/hud.qc:1887 +#, c-format +msgid "^1%s^1 died\n" +msgstr "^1%s^1 meghalt\n" + +#: qcsrc/client/hud.qc:1542 +#, c-format +msgid "^7%s^7 committed suicide. What's the point of living without ammo?\n" +msgstr "^7%s^7 öngyilkos lett. Lőszer nélkül mi értelme az életnek?\n" + +#: qcsrc/client/hud.qc:1546 +#, c-format +msgid "^1%s^1 thought they found a nice camping ground\n" +msgstr "^1%s^1 azt hitte, jó helyen vert tanyát\n" + +#: qcsrc/client/hud.qc:1550 +#, c-format +msgid "^1%s^1 didn't become friends with the Lord of Teamplay\n" +msgstr "^1%s^1 és a Csapatjátékosok Ura mégse jött ki jól egymással\n" + +#: qcsrc/client/hud.qc:1554 +#, c-format +msgid "^1%s^1 unfairly eliminated themself\n" +msgstr "^1%s^1 unfair módon kicsinálta magát\n" + +#: qcsrc/client/hud.qc:1558 +#, c-format +msgid "^1%s^1 burned to death\n" +msgstr "^1%s^1 szénné égett\n" + +#: qcsrc/client/hud.qc:1562 +#, c-format +msgid "^1%s^1 couldn't resist the urge to self-destruct\n" +msgstr "^1%s^1 szerint jó móka az öngyilkosság\n" + +#: qcsrc/client/hud.qc:1566 +#, c-format +msgid "^1%s^1 ended it all after a %d kill spree\n" +msgstr "^1%s^1 kinyírta magát %d-szeres Ámokfutása után\n" + +#: qcsrc/client/hud.qc:1583 +#, c-format +msgid "^1%s^1 took action against a team mate\n" +msgstr "^1%s^1 a saját csapattársa ellen fordult!\n" + +#: qcsrc/client/hud.qc:1585 +#, c-format +msgid "^1%s^1 mows down a team mate\n" +msgstr "^1%s^1 ledarált még egy csapattársat!\n" + +#: qcsrc/client/hud.qc:1590 +#, c-format +msgid "^1%s^1 ended a %d scoring spree by going against a team mate\n" +msgstr "^1%s^1 befejezte %d-szeres Ámokfutását, és a csapattársára rontott!\n" + +#: qcsrc/client/hud.qc:1592 +#, c-format +msgid "^1%s^1 ended a %d kill spree by killing a team mate\n" +msgstr "^1%s^1 bevégezte %d-szres Ámokfutását, és megölte egy csapattársát!\n" + +#: qcsrc/client/hud.qc:1596 +#, c-format +msgid "^1%s^1's %s scoring spree was ended by a team mate!\n" +msgstr "^1%s^1s %s-szeres Ámokfutásának egy csapattársa vetett véget!\n" + +#: qcsrc/client/hud.qc:1598 +#, c-format +msgid "^1%s^1's %s kill spree was ended by a team mate!\n" +msgstr "^1%s^1s %s-szeres Ámokfutását egy csapattársa fejezte be!\n" + +#: qcsrc/client/hud.qc:1602 +#, c-format +msgid "^1%s^1 drew first blood\n" +msgstr "^1%s^1 ontotta az első vért!\n" + +#: qcsrc/client/hud.qc:1606 +#, c-format +msgid "^1%s^1 tried to occupy %s^1's teleport destination space\n" +msgstr "^1%s^1 megpróbálta elfoglalni %s^1 teleportációs helyét\n" + +#: qcsrc/client/hud.qc:1608 +#, c-format +msgid "^1%s^1 was telefragged by %s\n" +msgstr "^1%s^1-ba %s^1 egyszerűen bele-teleportált\n" + +#: qcsrc/client/hud.qc:1613 +#, c-format +msgid "^1%s^1 was drowned by %s\n" +msgstr "^1%2$s^1 megfolytotta %1$^1-t a víz alatt\n" + +#: qcsrc/client/hud.qc:1618 +#, c-format +msgid "^1%s^1 was slimed by %s\n" +msgstr "^1%2$s^1 belelökte %1$s^1-t a trutymóba\n" + +#: qcsrc/client/hud.qc:1623 +#, c-format +msgid "^1%s^1 was cooked by %s\n" +msgstr "^1%2$s^1 ropogósra sütötte %1$s^1-t a lávában\n" + +#: qcsrc/client/hud.qc:1628 +#, c-format +msgid "^1%s^1 was grounded by %s\n" +msgstr "^1%2$s^1 lelökte %1$s^1-t a mélybe\n" + +#: qcsrc/client/hud.qc:1633 +#, c-format +msgid "^1%s^1 was shot into space by %s\n" +msgstr "^1%2$s^1 kilőtte %1$s^1-t az űrbe\n" + +#: qcsrc/client/hud.qc:1638 +#, c-format +msgid "^1%s^1 was conserved by %s\n" +msgstr "^1%2$s^1 összecsomagolta %1$s^1-t\n" + +#: qcsrc/client/hud.qc:1644 +#, c-format +msgid "^1%s^1 was thrown into a world of hurt by %s\n" +msgstr "^1%2$s^1 kilökte %1$s^1-t a nagy semmibe\n" + +#: qcsrc/client/hud.qc:1648 +#, c-format +msgid "^1%s^1 was crushed by %s\n" +msgstr "^1%2$s^1 összeroppantotta %1$s^1-t\n" + +#: qcsrc/client/hud.qc:1652 +#, c-format +msgid "^1%s^1 got shredded by %s\n" +msgstr "^1%2$s^1 ledarálta %1$s^1-t\n" + +#: qcsrc/client/hud.qc:1656 +#, c-format +msgid "^1%s^1 was blasted to bits by %s\n" +msgstr "^1%2$s^1 darabokra robbantotta %1$s^1\n" + +#: qcsrc/client/hud.qc:1660 +#, c-format +msgid "^1%s^1 got caught in the destruction of %s^1's vehicle\n" +msgstr "^1%s^1 túl közel merészkedett %s^1 járművének robbanásához\n" + +#: qcsrc/client/hud.qc:1664 +#, c-format +msgid "^1%s^1 was bolted down by %s\n" +msgstr "^1%2$s^1 odaszögezte %1$s^1-t\n" + +#: qcsrc/client/hud.qc:1668 +#, c-format +msgid "^1%s^1 could find no shelter from %s^1's rockets\n" +msgstr "^1%s^1 nem tudott fedezékbe húzódni %s^1s rakétái elől\n" + +#: qcsrc/client/hud.qc:1672 +#, c-format +msgid "^1%s^1 dies when %s^1's wakizashi dies.\n" +msgstr "^1%s^1 meghalt %s^1's Wakizashijának becsapódásától.\n" + +#: qcsrc/client/hud.qc:1676 +#, c-format +msgid "^1%s^1 nailed to hell by %s\n" +msgstr "^1%2$s^1 odaszögezte %1$s^1-t a földhöz\n" + +#: qcsrc/client/hud.qc:1680 +#, c-format +msgid "^1%s^1 cluster crushed by %s\n" +msgstr "^1%2$s^1 cafatokra tépte %1$s^1-t\n" + +#: qcsrc/client/hud.qc:1684 +#, c-format +msgid "^1%s^1 dies when %s^1's raptor dies.\n" +msgstr "^1%s^1 is belehalt %s^1 Raptorjának lezuhanásába.\n" + +#: qcsrc/client/hud.qc:1688 +#, c-format +msgid "^1%s^1 was pushed into the line of fire by %s\n" +msgstr "^1%2$s^1 kilökte %1$s^1-t a tűzvonalba\n" + +#: qcsrc/client/hud.qc:1692 +#, c-format +msgid "^1%s^1 was pushed into an accident by %s\n" +msgstr "^1%2$s^1 miatt %1$s^1 halálos balesetet szenvedett\n" + +#: qcsrc/client/hud.qc:1696 +#, c-format +msgid "^1%s^1 was unfairly eliminated by %s\n" +msgstr "^%2$s^1 unfair módon kinyírta %1$s^1-t\n" + +#: qcsrc/client/hud.qc:1700 +#, c-format +msgid "^1%s^1 was burnt to death by %s\n" +msgstr "^1%2$s^1 elégette %1$s^1-t\n" + +#: qcsrc/client/hud.qc:1712 +#, c-format +msgid "^1%s^1 was fragged by %s\n" +msgstr "^1%2$s^1 kinyírta %1$s^1-t\n" + +#: qcsrc/client/hud.qc:1717 +#, c-format +msgid "^1%s^1's %s scoring spree was ended by %s\n" +msgstr "^1%s^1 %s értékű pontgyűjtésének %s^1 vetet véget\n" + +#: qcsrc/client/hud.qc:1719 +#, c-format +msgid "^1%s^1's %s kill spree was ended by %s\n" +msgstr "^1%s^1 %s Gyilokos Ámokfutásának %s^1 vetett véget\n" + +#: qcsrc/client/hud.qc:1722 +#, c-format +msgid "^1%s^1 made %s scores in a row\n" +msgstr "^1%s^1 már a %s-dik pontot szerzi zsinórban!\n" + +#: qcsrc/client/hud.qc:1724 +#, c-format +msgid "^1%s^1 has %s frags in a row\n" +msgstr "^1%s^1 már a %s-dik ellenfelét öli meg zsinórban!\n" + +#: qcsrc/client/hud.qc:1727 +#, c-format +msgid "%s^7 made a ^1TRIPLE SCORE\n" +msgstr "%s^7-nak ^1MESTER HÁRMASA^7 van!\n" + +#: qcsrc/client/hud.qc:1729 +#, c-format +msgid "%s^7 made a ^1TRIPLE FRAG\n" +msgstr "%s^7-nak ^1TRIPLAGYILOK^7-j van!\n" + +#: qcsrc/client/hud.qc:1732 +#, c-format +msgid "%s^7 unleashes ^1SCORING RAGE\n" +msgstr "%s^7 egy ^1PONTSZERZŐGÉP!\n" + +#: qcsrc/client/hud.qc:1734 +#, c-format +msgid "%s^7 unleashes ^1RAGE\n" +msgstr "%s^7 egy^1GYILKOLÓGÉP!\n" + +#: qcsrc/client/hud.qc:1737 +#, c-format +msgid "%s^7 made ^1TEN SCORES IN A ROW!\n" +msgstr "%s^7 már ^1TÍZ PONTOT SZERZETT ZSINÓRBAN!\n" + +#: qcsrc/client/hud.qc:1739 +#, c-format +msgid "%s^7 starts the ^1MASSACRE!\n" +msgstr "%s^7 egy ^1MÉSZÁROS!\n" + +#: qcsrc/client/hud.qc:1742 +#, c-format +msgid "%s^7 made ^1FIFTEEN SCORES IN A ROW!\n" +msgstr "%s^7 már ^1TIZENÖT PONTOT SZERZETT ZSINÓRBAN!\n" + +#: qcsrc/client/hud.qc:1744 +#, c-format +msgid "%s^7 executes ^1MAYHEM!\n" +msgstr "%s^7 elhozta a ^1KÁOSZT!\n" + +#: qcsrc/client/hud.qc:1747 +#, c-format +msgid "%s^7 made ^1TWENTY SCORES IN A ROW!\n" +msgstr "%s^7 már ^1HÚSZ PONTOT GYŰJTÖTT ZSINÓRBAN!\n" + +#: qcsrc/client/hud.qc:1749 +#, c-format +msgid "%s^7 is a ^1BERSERKER!\n" +msgstr "%s^7 ^1ŐRÜLETBE ESETT!\n" + +#: qcsrc/client/hud.qc:1752 +#, c-format +msgid "%s^7 made ^1TWENTY FIVE SCORES IN A ROW!\n" +msgstr "%s^7 már ^1HUSZONÖT PONTOT SZERZETT ZSINÓRBAN!\n" + +#: qcsrc/client/hud.qc:1754 +#, c-format +msgid "%s^7 inflicts ^1CARNAGE!\n" +msgstr "%s^7 ^1VÉRFÜRDŐT RENDEZ!\n" + +#: qcsrc/client/hud.qc:1757 +#, c-format +msgid "%s^7 made ^1THIRTY SCORES IN A ROW!\n" +msgstr "%s^7 már ^1HARMINC PONTOT SZERZETT ZSINÓRBAN!\n" + +#: qcsrc/client/hud.qc:1759 +#, c-format +msgid "%s^7 unleashes ^1ARMAGEDDON!\n" +msgstr "%s^7 MAGA AZ ^1APOKALIPSZIS ANGYALA!\n" + +#: qcsrc/client/hud.qc:1767 +#, c-format +msgid "^1%s^1 was in the water for too long\n" +msgstr "^1%s^1 túl sokáig maradt a víz alatt\n" + +#: qcsrc/client/hud.qc:1769 +#, c-format +msgid "^1%s^1 drowned\n" +msgstr "^1%s^1 már a halakkal alszik\n" + +#: qcsrc/client/hud.qc:1774 +#, c-format +msgid "^1%s^1 was slimed\n" +msgstr "^1%s^1 feloldótott a trugymóban\n" + +#: qcsrc/client/hud.qc:1780 +#, c-format +msgid "^1%s^1 found a hot place\n" +msgstr "^1%s^1 ropogósra sült a lávában\n" + +#: qcsrc/client/hud.qc:1782 +#, c-format +msgid "^1%s^1 turned into hot slag\n" +msgstr "^1%s^1 szó szerint beleolvadt a környezetébe\n" + +#: qcsrc/client/hud.qc:1789 +#, c-format +msgid "^1%s^1 tested gravity (and it worked)\n" +msgstr "" +"^1%s^1 kíváncsi volt, hogy működik-e még a gravitáció (a válasz: igen)\n" + +#: qcsrc/client/hud.qc:1791 +#, c-format +msgid "^1%s^1 hit the ground with a crunch\n" +msgstr "^1%s^1 szétplaccsant a földön\n" + +#: qcsrc/client/hud.qc:1796 +#, c-format +msgid "^1%s^1 became a shooting star\n" +msgstr "^1%s^1 elszállt, mint a győzelmi zászló\n" + +#: qcsrc/client/hud.qc:1802 +#, c-format +msgid "^1%s^1 discovered a swamp\n" +msgstr "^1%s^1 rátalált egy mocsárra\n" + +#: qcsrc/client/hud.qc:1804 +#, c-format +msgid "^1%s^1 is now conserved for centuries to come\n" +msgstr "^1%s^1 már örökké elvan, mint a befőtt\n" + +#: qcsrc/client/hud.qc:1811 +#, c-format +msgid "^1%s^1 ran into a turret\n" +msgstr "^1%s^1 belefutott egy automatikus lövegbe\n" + +#: qcsrc/client/hud.qc:1817 +#, c-format +msgid "^1%s^1 was laserd down by a eWheel turret \n" +msgstr "^1%s^1 belenézett egy eWheel lézersugarába\n" + +#: qcsrc/client/hud.qc:1820 +#, c-format +msgid "^1%s^1 got caught in the flac \n" +msgstr "^1%s^1 beleszaladt a repeszekbe\n" + +#: qcsrc/client/hud.qc:1823 +#, c-format +msgid "^1%s^1 was riddeld full of riddled by a machinegun turret \n" +msgstr "^1Egy automatikus Gépágyú torony szitává lyuggatta 1%s^1-t\n" + +#: qcsrc/client/hud.qc:1826 +#, c-format +msgid "^1%s^1 got served a led enrichment by a walker turret \n" +msgstr "^1%s^1 megkapta az ólom beültetést egy Pókjárótól\n" + +#: qcsrc/client/hud.qc:1829 +#, c-format +msgid "^1%s^1 was impaled by a walker turret \n" +msgstr "^1Egy Pókjáró darabokra tépte %s^1-t\n" + +#: qcsrc/client/hud.qc:1832 +#, c-format +msgid "^1%s^1 was rocketed to hell by a walker turret \n" +msgstr "^1%s^1 lefejelte egy Pókjáró rakétáját\n" + +#: qcsrc/client/hud.qc:1835 +#, c-format +msgid "^1%s^1 was blasted away hellion turret \n" +msgstr "^1Egy Pokoltorony felrobbantotta %s^1-t a rakétáival\n" + +#: qcsrc/client/hud.qc:1838 +#, c-format +msgid "^1%s^1 could not hide from the hunter turret \n" +msgstr "^1%s nem tudott elbújni egy Vadász torony elől\n" + +#: qcsrc/client/hud.qc:1841 +#, c-format +msgid "^1%s^1 got turned into smoldering gibs by a mlrs turret \n" +msgstr "" +"^1%s^1 pici forró húscafatokká vált egy automatikus MLRS torony rakétáitól\n" + +#: qcsrc/client/hud.qc:1844 +#, c-format +msgid "^1%s^1 got served some superheated plasma from a plasma turret \n" +msgstr "^1%s^1 atomjaira hullott egy Plazma torony forró sugaraitól\n" + +#: qcsrc/client/hud.qc:1847 +#, c-format +msgid "^1%s^1 was phased out \n" +msgstr "^1%s^1 légneművé változott egy Fázistoronytól\n" + +#: qcsrc/client/hud.qc:1850 +#, c-format +msgid "^1%s^1 was electrocuted by a tesla turret \n" +msgstr "^1%s^1 egészen felvillanyozódott egy Tesla toronytól\n" + +#: qcsrc/client/hud.qc:1866 +#, c-format +msgid "^1%s^1 died in an accident\n" +msgstr "^1%s^1 elhunyt egy tragikus balesetben\n" + +#: qcsrc/client/hud.qc:1870 +#, c-format +msgid "^1%s^1 was unfairly eliminated\n" +msgstr "^1%s^1-t kicsinálták unfair módón \n" + +#: qcsrc/client/hud.qc:1876 +#, c-format +msgid "^1%s^1 felt a little hot\n" +msgstr "^1%s^1 kissé forrófejű lett\n" + +#: qcsrc/client/hud.qc:1878 +#, c-format +msgid "^1%s^1 burnt to death\n" +msgstr "^1%s^1 ropogósra sült\n" + +#: qcsrc/client/hud.qc:1885 +#, c-format +msgid "^1%s^1 needs a restart\n" +msgstr "^1%s^1 újra kell hogy kezdje\n" + +#: qcsrc/client/hud.qc:1892 +#, c-format +msgid "^1%s^1 needs a restart after a %d scoring spree\n" +msgstr "^1%s^1 újra kell hogy kezdje %d pont után\n" + +#: qcsrc/client/hud.qc:1894 +#, c-format +msgid "^1%s^1 died with a %d kill spree\n" +msgstr "^1%s^1 bevégezte %d-gyilokos ÁMOKFUTÁSÁT\n" + +#: qcsrc/client/hud.qc:1898 +#, c-format +msgid "%s^7 got the %s\n" +msgstr "%s^7 megszerezte a %s-t\n" + +#: qcsrc/client/hud.qc:1901 +#, c-format +msgid "%s^7 lost the %s\n" +msgstr "%s^7 elvesztette a %s-t\n" + +#: qcsrc/client/hud.qc:1904 +#, c-format +msgid "%s^7 picked up the %s\n" +msgstr "%s^7 felvette a %s-t\n" + +#: qcsrc/client/hud.qc:1907 +#, c-format +msgid "%s^7 returned the %s\n" +msgstr "%s^7 visszaszerezte a %s^7-t\n" + +#: qcsrc/client/hud.qc:1910 +#, c-format +msgid "%s^7 captured the %s%s\n" +msgstr "%s^7 elfoglalta a %s%s-t\n" + +#: qcsrc/client/hud.qc:1929 +#, c-format +msgid "%s^7 has picked up the ball!\n" +msgstr "%s^7 felvette a labdát!\n" + +#: qcsrc/client/hud.qc:1934 +#, c-format +msgid "%s^7 has dropped the ball!\n" +msgstr "%s^7 elhagyta a labdát!\n" + +#: qcsrc/client/hud.qc:1945 +#, c-format +msgid "You are now on: %s" +msgstr "Mostantól a %s tagja vagy." + +#: qcsrc/client/hud.qc:1947 +#, c-format +msgid "" +"You have been moved into a different team to improve team balance\n" +"You are now on: %s" +msgstr "" +"Át lettél mozgatva egy másik csapatba, hogy kiegyenlített legyen a játék.\n" +"Mostantól a %s tagja vagy." + +#: qcsrc/client/hud.qc:1950 +msgid "^1Reconsider your tactics, camper!" +msgstr "^1Ne ülj a tojásaidon, nem vagy te tojógalamb!!" + +#: qcsrc/client/hud.qc:1952 +msgid "^1Die camper!" +msgstr "^1Ne tanyázz le, ez itt nem a kemping !" + +#: qcsrc/client/hud.qc:1955 +msgid "^1You are reinserted into the game for running out of ammo..." +msgstr "^1Visszakerültél a játékba, mert kifogytál a lőszerből" + +#: qcsrc/client/hud.qc:1957 +msgid "^1You were killed for running out of ammo..." +msgstr "^1Meghaltál, mert elfogyott a lőszered..." + +#: qcsrc/client/hud.qc:1960 +msgid "^1You need to preserve your health" +msgstr "^1Szinten kell tartanod az életerőd" + +#: qcsrc/client/hud.qc:1962 +msgid "^1You grew too old without taking your medicine" +msgstr "^1Öregszel, be kéne venned a gyógyszereid" + +#: qcsrc/client/hud.qc:1965 +msgid "^1Don't go against team mates!" +msgstr "^1A csapattársaid ellen mész!" + +#: qcsrc/client/hud.qc:1967 +msgid "^1Don't shoot your team mates!" +msgstr "^1Ne lőj a csapattársaidra!" + +#: qcsrc/client/hud.qc:1972 +msgid "^1You need to be more careful!" +msgstr "^1Jobban oda kéne figyelned!" + +#: qcsrc/client/hud.qc:1974 +msgid "^1You killed your own dumb self!" +msgstr "^1Kinyírtad magad, hülyegyerek..." + +#: qcsrc/client/hud.qc:1979 +#, c-format +msgid "^1Moron! You went against ^7%s^1, a team mate!" +msgstr "^1Marha! %s ellen fordultál, pedig a csapattársad!" + +#: qcsrc/client/hud.qc:1981 +#, c-format +msgid "^1Moron! You fragged ^7%s^1, a team mate!" +msgstr "^1Idióta! Megölted %s-t pedig a csapattársad!" + +#: qcsrc/client/hud.qc:1985 +msgid "^1First score" +msgstr "^1ELSŐ PONT!" + +#: qcsrc/client/hud.qc:1987 +msgid "^1First blood" +msgstr "^1ELSŐ VÉR!" + +#: qcsrc/client/hud.qc:1991 +msgid "^1First casualty" +msgstr "^1Te vagy az első sérült" + +#: qcsrc/client/hud.qc:1993 +msgid "^1First victim" +msgstr "^1Ta vagy az első áldozat " + +#: qcsrc/client/hud.qc:1997 +#, c-format +msgid "^1You scored against ^7%s^1 who was typing!" +msgstr "^1Szereztél egy pontot ^7%s^1 ellen, aki épp gépelt!" + +#: qcsrc/client/hud.qc:1999 +#, c-format +msgid "^1You typefragged ^7%s" +msgstr "^1Csevejgyilok áltozatod: ^7%s^1" + +#: qcsrc/client/hud.qc:2003 +#, c-format +msgid "^1You were scored against by ^7%s^1 while you were typing!" +msgstr "" +"^7%s^1 szerzett egy pontot ellened, amíg a gépeléssel voltál elfoglalva!" + +#: qcsrc/client/hud.qc:2005 +#, c-format +msgid "^1You were typefragged by ^7%s" +msgstr "^7%s^1 kinyírt téged, amíg a gépeléssel voltál elfoglalva" + +#: qcsrc/client/hud.qc:2009 +#, c-format +msgid "^4You scored against ^7%s" +msgstr "^4Pontot szereztél ^7%s^4 ellen" + +#: qcsrc/client/hud.qc:2011 +#, c-format +msgid "^4You fragged ^7%s" +msgstr "^4Kinyírtad ^7%s^4-t!" + +#: qcsrc/client/hud.qc:2015 +#, c-format +msgid "^1You were scored against by ^7%s" +msgstr "^7%s^1 szerzett egy pontot ellened" + +#: qcsrc/client/hud.qc:2017 +#, c-format +msgid "^1You were fragged by ^7%s" +msgstr "^7%s^1 kinyírt téged" + +#: qcsrc/client/hud.qc:2022 +msgid "^1Watch your step!" +msgstr "^1Nézz a lábad elé!" + +#: qcsrc/client/hud.qc:2091 qcsrc/client/hud.qc:2092 qcsrc/client/hud.qc:2598 +#, c-format +msgid "Player %d" +msgstr "Játékos %d" + +#: qcsrc/client/hud.qc:2907 +msgid "^1Intermediate 1 (+15.42)" +msgstr "^1Közepes 1 (+15.42)" + +#: qcsrc/client/hud.qc:2909 qcsrc/client/hud.qc:2951 qcsrc/client/hud.qc:2992 +#, c-format +msgid "^1PENALTY: %.1f (%s)" +msgstr "^1BÜNTETÉS: %.1f (%s)" + +#: qcsrc/client/hud.qc:2994 +#, c-format +msgid "^2PENALTY: %.1f (%s)" +msgstr "^2BÜNTETÉS: %.1f (%s)" + +#: qcsrc/client/hud.qc:3022 +msgid "^1You must answer before entering hud configure mode\n" +msgstr "^1Választanod kell, mielőtt beléphetsz a HUD beállításokba\n" + +#: qcsrc/client/hud.qc:3027 +msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats" +msgstr "^2Név^7 mutatása \"^1Anonymous player^7\" helyett a statisztikákban" + +#: qcsrc/client/hud.qc:3109 +msgid "A vote has been called for:" +msgstr "Szavaznod kell az alábbi ügyben:" + +#: qcsrc/client/hud.qc:3111 +msgid "Allow servers to store and display your name?" +msgstr "Megengeded, hogy a szerver eltárolja én megjelenítse a neved?" + +#: qcsrc/client/hud.qc:3115 +msgid "^1Configure the HUD" +msgstr "^1A HUD beállításai" + +#: qcsrc/client/hud.qc:3119 +#, c-format +msgid "Yes (%s): %d" +msgstr "Igen (%s): %d" + +#: qcsrc/client/hud.qc:3121 +#, c-format +msgid "No (%s): %d" +msgstr "Nem (%s): %d" + +#: qcsrc/client/hud.qc:3624 qcsrc/client/hud.qc:3627 qcsrc/client/hud.qc:3629 +msgid "Personal best" +msgstr "Saját legjobb idő" + +#: qcsrc/client/hud.qc:3642 qcsrc/client/hud.qc:3645 qcsrc/client/hud.qc:3647 +msgid "Server best" +msgstr "Szerver legjobb idő" + +#: qcsrc/client/hud.qc:3993 +msgid "^3Player^7: This is the chat area." +msgstr "^3Player^7: Ez a csevej terület" + +#: qcsrc/client/hud.qc:4061 +#, c-format +msgid "FPS: %.*f" +msgstr "FPS: %.*f" + +#: qcsrc/client/hud.qc:4128 +msgid "^1Observing" +msgstr "^1Néző" + +#: qcsrc/client/hud.qc:4131 qcsrc/client/hud.qc:4133 +#, c-format +msgid "^1Spectating: ^7%s" +msgstr "^7%s^1-t nézed és követed" + +#: qcsrc/client/hud.qc:4138 +#, c-format +msgid "^1Press ^3%s^1 to spectate" +msgstr "^1Nyomd meg a ^3%s^1 gombot, hogy nézőként lépj be!" + +#: qcsrc/client/hud.qc:4140 +#, c-format +msgid "^1Press ^3%s^1 for another player" +msgstr "^1Nyomd meg a ^3%s^1 gombot egy másik játékos követéséhez!" + +#: qcsrc/client/hud.qc:4144 +#, c-format +msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed" +msgstr "^1Használd a ^3%s^1 vagy ^3%s^1 gombokat a sebesség változtatásához!" + +#: qcsrc/client/hud.qc:4146 +#, c-format +msgid "^1Press ^3%s^1 to observe" +msgstr "^1Nyomd meg a ^3%s^1 gombot, hogy néző lehess!" + +#: qcsrc/client/hud.qc:4149 +#, c-format +msgid "^1Press ^3%s^1 for gamemode info" +msgstr "^1Nyomd meg a ^3%s^1 gombot a játékmód információkért!" + +#: qcsrc/client/hud.qc:4153 +msgid "^1Wait for your turn to join" +msgstr "^1Várj kérlek a saját körödre!" + +#: qcsrc/client/hud.qc:4159 +msgid "^1Match has already begun" +msgstr "^1A játék már elkezdődött" + +#: qcsrc/client/hud.qc:4161 +msgid "^1You have no more lives left" +msgstr "^1Nincs több életed" + +#: qcsrc/client/hud.qc:4163 qcsrc/client/hud.qc:4166 +#, c-format +msgid "^1Press ^3%s^1 to join" +msgstr "^1Nyomd meg a ^3%s^1 gombot a játékba való belépéshez!" + +#: qcsrc/client/hud.qc:4174 +#, c-format +msgid "^1Game starts in ^3%d^1 seconds" +msgstr "^1A játék ^3%d^1 másodpercen belül elkezdődik!" + +#: qcsrc/client/hud.qc:4181 +msgid "^2Currently in ^1warmup^2 stage!" +msgstr "^2Jelenleg ^1BEMELEGÍTÉS^7 zajlik!" + +#: qcsrc/client/hud.qc:4196 +#, c-format +msgid "%sPress ^3%s%s to end warmup" +msgstr "%s, kérlek nyomd meg a ^3%s%s gombot a bemelegítés befejezéséhez!" + +#: qcsrc/client/hud.qc:4198 +#, c-format +msgid "%sPress ^3%s%s once you are ready" +msgstr "%s, kérlek nyomd meg a ^3%s%s gombot, amint készen állsz!" + +#: qcsrc/client/hud.qc:4203 +msgid "^2Waiting for others to ready up to end warmup..." +msgstr "^2Várakozás a többiekre, hogy befejezzék a bemelegítést..." + +#: qcsrc/client/hud.qc:4205 +msgid "^2Waiting for others to ready up..." +msgstr "^2Várj kérlek, amíg a többiek készen állnak..." + +#: qcsrc/client/hud.qc:4211 +#, c-format +msgid "^2Press ^3%s^2 to end warmup" +msgstr "^2Nyomd meg a ^3%s^2 gombot a bemelegítés befejezéséhez!" + +#: qcsrc/client/hud.qc:4232 +msgid "Teamnumbers are unbalanced!" +msgstr "A csapatok egyenlőtlenül vannak elosztva!" + +#: qcsrc/client/hud.qc:4237 +#, c-format +msgid " Press ^3%s%s to adjust" +msgstr " Nyomd meg a ^3%s%s gombot a kiegyenlítéshez!" + +#: qcsrc/client/hud.qc:4245 +msgid "^7Press ^3ESC ^7to show HUD options." +msgstr "^7Nyomd meg az ^3ESC^7 gombot a HUD beállításának lehetőségeihez!" + +#: qcsrc/client/hud.qc:4247 +msgid "^3Doubleclick ^7a panel for panel-specific options." +msgstr "^3Kattints duplán^7 egy panelre a panel-specifikus beállításokhoz!" + +#: qcsrc/client/hud.qc:4249 +msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and" +msgstr "" +"A ^3CTRL^7 gomb segítségével kikapcsolhatod az illesztést, a ^3SHIFT^7 és" + +#: qcsrc/client/hud.qc:4251 +msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments." +msgstr "az ^3ALT^7 + ^3NYÍLGOMBOK^7-kal finoman mozgathatsz!" + +#: qcsrc/client/hud.qc:4289 +msgid " qu/s" +msgstr "qu/s" + +#: qcsrc/client/hud.qc:4293 +msgid " m/s" +msgstr "m/s" + +#: qcsrc/client/hud.qc:4297 +msgid " km/h" +msgstr "km/h" + +#: qcsrc/client/hud.qc:4301 +msgid " mph" +msgstr "mph" + +#: qcsrc/client/hud.qc:4305 +msgid " knots" +msgstr "Csomó" + +#: qcsrc/client/hud.qc:4968 +msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n" +msgstr "A panel számok a _hud_panelorder -ben autonatikus javításra kerültek" + +#: qcsrc/client/hud_config.qc:185 +#, c-format +msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n" +msgstr "" +"^2Sikeresen exportálva %s -ként! (Figyelem: az adatok a data/data/ " +"könyvtárban találhatók meg!)\n" + +#: qcsrc/client/hud_config.qc:189 +#, c-format +msgid "^1Couldn't write to %s\n" +msgstr "^1Nem lehet írni a %s -ba/be\n" + +#: qcsrc/client/mapvoting.qc:28 +msgid " (1 vote)" +msgstr "(1 szavazat)" + +#: qcsrc/client/mapvoting.qc:30 +#, c-format +msgid " (%d votes)" +msgstr "(%d szavazat)" + +#: qcsrc/client/mapvoting.qc:113 +msgid "Don't care" +msgstr "Mindegy" + +#: qcsrc/client/mapvoting.qc:194 +msgid "Vote for a map" +msgstr "Válassz pályát!" + +#: qcsrc/client/mapvoting.qc:200 +#, c-format +msgid "%d seconds left" +msgstr "%d másodperc maradt hátra" + +#: qcsrc/client/mapvoting.qc:263 +msgid "" +"mv_mapdownload: ^3You're not supposed to use this command on your own!\n" +msgstr "mv_mapdownload: ^3Nem kéne ezt a parancsot használnod!\n" + +#: qcsrc/client/mapvoting.qc:273 +msgid "^1Error:^7 Couldn't find pak index.\n" +msgstr "^1Hiba:^7 nem találom a pak-Indexet\n" + +#: qcsrc/client/mapvoting.qc:282 +msgid "Requesting preview...\n" +msgstr "Előnézet kérése...\n" + +#: qcsrc/client/miscfunctions.qc:100 +msgid "Trying to remove a team which is not in the teamlist!" +msgstr "Olyan csapatot próbálsz eltávolítani, ami nincs a csapatlistában!" + +#: qcsrc/client/movetypes.qc:163 +#, c-format +msgid "Can't unstick an entity (edict: %d, classname: %s, origin: %s)\n" +msgstr "" +"Egy objektumot nem tudok felszabadítani (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 "" +"Objektum sikeresen felszabadítva (edict: %d, classname: %s, origin: %s)\n" + +#: qcsrc/client/scoreboard.qc:19 +msgid "SCO^bckills" +msgstr "LH gyilokok" + +#: qcsrc/client/scoreboard.qc:20 +msgid "SCO^bctime" +msgstr "Labdaidő" + +#: qcsrc/client/scoreboard.qc:21 +msgid "SCO^caps" +msgstr "Rablások" + +#: qcsrc/client/scoreboard.qc:22 +msgid "SCO^deaths" +msgstr "Halálok" + +#: qcsrc/client/scoreboard.qc:23 +msgid "SCO^destroyed" +msgstr "megsemmisítve" + +#: qcsrc/client/scoreboard.qc:24 +msgid "SCO^drops" +msgstr "elvesztve" + +#: qcsrc/client/scoreboard.qc:25 +msgid "SCO^faults" +msgstr "Hibák" + +#: qcsrc/client/scoreboard.qc:26 +msgid "SCO^fckills" +msgstr "ZH gyilokok" + +#: qcsrc/client/scoreboard.qc:27 +msgid "SCO^goals" +msgstr "Gólok" + +#: qcsrc/client/scoreboard.qc:28 +msgid "SCO^kckills" +msgstr "KH gyilokok" + +#: qcsrc/client/scoreboard.qc:29 +msgid "SCO^kdratio" +msgstr "ÖH arány" + +#: qcsrc/client/scoreboard.qc:30 +msgid "SCO^k/d" +msgstr "Ö/H" + +#: qcsrc/client/scoreboard.qc:31 +msgid "SCO^kd" +msgstr "ÖH" + +#: qcsrc/client/scoreboard.qc:32 +msgid "SCO^kdr" +msgstr "ÖHA" + +#: qcsrc/client/scoreboard.qc:33 +msgid "SCO^kills" +msgstr "Gyilokok" + +#: qcsrc/client/scoreboard.qc:34 +msgid "SCO^laps" +msgstr "Körök" + +#: qcsrc/client/scoreboard.qc:35 +msgid "SCO^lives" +msgstr "Életek" + +#: qcsrc/client/scoreboard.qc:36 +msgid "SCO^losses" +msgstr "elvesztve" + +#: qcsrc/client/scoreboard.qc:37 +msgid "SCO^name" +msgstr "Név" + +#: qcsrc/client/scoreboard.qc:38 +msgid "SCO^nick" +msgstr "Nick" + +#: qcsrc/client/scoreboard.qc:39 +msgid "SCO^objectives" +msgstr "célpontok" + +#: qcsrc/client/scoreboard.qc:40 +msgid "SCO^pickups" +msgstr "Zászlók" + +#: qcsrc/client/scoreboard.qc:41 +msgid "SCO^ping" +msgstr "Ping" + +#: qcsrc/client/scoreboard.qc:42 +msgid "SCO^pl" +msgstr "CSV" + +#: qcsrc/client/scoreboard.qc:43 +msgid "SCO^pushes" +msgstr "Lökések" + +#: qcsrc/client/scoreboard.qc:44 +msgid "SCO^rank" +msgstr "Rang" + +#: qcsrc/client/scoreboard.qc:45 +msgid "SCO^returns" +msgstr "Visszaszerzések" + +#: qcsrc/client/scoreboard.qc:46 +msgid "SCO^revivals" +msgstr "Újraéledések" + +#: qcsrc/client/scoreboard.qc:47 +msgid "SCO^score" +msgstr "Pontok" + +#: qcsrc/client/scoreboard.qc:48 +msgid "SCO^suicides" +msgstr "Öngyilokok" + +#: qcsrc/client/scoreboard.qc:49 +msgid "SCO^takes" +msgstr "Átvétel" + +#: qcsrc/client/scoreboard.qc:50 +msgid "SCO^ticks" +msgstr "Tikk" + +#: qcsrc/client/scoreboard.qc:239 +msgid "" +"You can modify the scoreboard using the ^2scoreboard_columns_set command.\n" +msgstr "" +"A ponttábla méretét a ^2scoreboard_columns_set paranccsal tudod " +"megváltoztatni.\n" + +#: qcsrc/client/scoreboard.qc:240 +msgid "^3|---------------------------------------------------------------|\n" +msgstr "^3|---------------------------------------------------------------|\n" + +#: qcsrc/client/scoreboard.qc:242 +msgid "^2scoreboard_columns_set default\n" +msgstr "^2scoreboard_columns_set default\n" + +#: qcsrc/client/scoreboard.qc:243 +msgid "^2scoreboard_columns_set ^7field1 field2 ...\n" +msgstr "^2scoreboard_columns_set ^7field1 field2 ...\n" + +#: qcsrc/client/scoreboard.qc:244 +msgid "The following field names are recognized (case insensitive):\n" +msgstr "" +"Az alábbi mező azonosítókat ismertem fel (nagybetű/kisbetű nem számít):\n" + +#: qcsrc/client/scoreboard.qc:245 +msgid "" +"You can use a ^3|^7 to start the right-aligned fields.\n" +"\n" +msgstr "A ^3|^7 karakterrel jobbra rendezett mezőket tudsz létrehozni.\n" + +#: qcsrc/client/scoreboard.qc:247 +msgid "^3name^7 or ^3nick^7 Name of a player\n" +msgstr "^3név ^7 vagy ^3nick^7 A játékos neve\n" + +#: qcsrc/client/scoreboard.qc:248 +msgid "^3ping^7 Ping time\n" +msgstr "^3ping^7 Ping\n" + +#: qcsrc/client/scoreboard.qc:249 +msgid "^3pl^7 Packet loss\n" +msgstr "^3csv^7 Csomagvesztés\n" + +#: qcsrc/client/scoreboard.qc:250 +msgid "^3kills^7 Number of kills\n" +msgstr "^3megölt^7 Megöltek száma\n" + +#: qcsrc/client/scoreboard.qc:251 +msgid "^3deaths^7 Number of deaths\n" +msgstr "^3halálok^7 Halálok száma\n" + +#: qcsrc/client/scoreboard.qc:252 +msgid "^3suicides^7 Number of suicides\n" +msgstr "^3öngyilkosságok^7 Öngyilkosságok száma\n" + +#: qcsrc/client/scoreboard.qc:253 +msgid "^3frags^7 kills - suicides\n" +msgstr "^3gyilokok^7 Ölések mínusz öngyilkosságok\n" + +#: qcsrc/client/scoreboard.qc:254 +msgid "^3kd^7 The kill-death ratio\n" +msgstr "^3GYH^7 Das Kill/Death-Ratio\n" + +#: qcsrc/client/scoreboard.qc:255 +msgid "" +"^3caps^7 How often a flag (CTF) or a key (KeyHunt) was " +"captured\n" +msgstr "" +"^3rablások^7 Hányszor rabolta el a zászlót (Zászlórablás) " +"vagy gyűjtötte össze a kulcsokat (Kulcsvadászat)\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 "" +"^3megszerzések^7 Hányszor szerezte meg a Zászlót/Kulcsot\n" + +#: qcsrc/client/scoreboard.qc:257 +msgid "^3fckills^7 Number of flag carrier kills\n" +msgstr "^3ZHgyilokok^7 Megölt zászlóhordozók száma\n" + +#: qcsrc/client/scoreboard.qc:258 +msgid "^3returns^7 Number of flag returns\n" +msgstr "^3visszaszerzések^7 Zászló visszaszerzések száma\n" + +#: qcsrc/client/scoreboard.qc:259 +msgid "^3drops^7 Number of flag drops\n" +msgstr "^3elvesztések^7 Hányszor dobta el a zászlót\n" + +#: qcsrc/client/scoreboard.qc:260 +msgid "^3lives^7 Number of lives (LMS)\n" +msgstr "^3életek^7 Életek száma (Csak egy maradhat)\n" + +#: qcsrc/client/scoreboard.qc:261 +msgid "^3rank^7 Player rank\n" +msgstr "^3rank^7 Játékos rangja\n" + +#: qcsrc/client/scoreboard.qc:262 +msgid "^3pushes^7 Number of players pushed into void\n" +msgstr "^3lökések^7 A Nagy Semmibe lökött áldozatok száma\n" + +#: qcsrc/client/scoreboard.qc:263 +msgid "" +"^3destroyed^7 Number of keys destroyed by pushing them into " +"void\n" +msgstr "" +"^3elpusztítva^7 A Nagy Semmiben elpusztított kulcsok száma\n" + +#: qcsrc/client/scoreboard.qc:264 +msgid "^3kckills^7 Number of keys carrier kills\n" +msgstr "^3KHgyilokok^7 Megölt kulcshordozók száma\n" + +#: qcsrc/client/scoreboard.qc:265 +msgid "^3losses^7 Number of times a key was lost\n" +msgstr "^3elvesztve^7 Elvesztett kulcsok száma\n" + +#: qcsrc/client/scoreboard.qc:266 +msgid "^3laps^7 Number of laps finished (race/cts)\n" +msgstr "" +"^3körök^7 Befejezett körök száma " +"(Verseny/Ügyességi v.)\n" + +#: qcsrc/client/scoreboard.qc:267 +msgid "^3time^7 Total time raced (race/cts)\n" +msgstr "" +"^3idő^7 Összes versenyzéssel töltött idő " +"(Verseny/Ügyességi v.)\n" + +#: qcsrc/client/scoreboard.qc:268 +msgid "^3fastest^7 Time of fastest lap (race/cts)\n" +msgstr "" +"^3leggyorsabb^7 Leggyorsabb kör ideje " +"(Verseny/Ügyességi v.)\n" + +#: qcsrc/client/scoreboard.qc:269 +msgid "^3ticks^7 Number of ticks (DOM)\n" +msgstr "^3ketyegés^7 Ketyegések száma (Uralom)\n" + +#: qcsrc/client/scoreboard.qc:270 +msgid "^3takes^7 Number of domination points taken (DOM)\n" +msgstr "^3foglalás^7 Elfoglalt Uralompontok (Uralom)\n" + +#: qcsrc/client/scoreboard.qc:271 +msgid "^3bckills^7 Number of ball carrier kills\n" +msgstr "^3LHgyilokok^7 Megölt labdahordozók száma\n" + +#: qcsrc/client/scoreboard.qc:272 +msgid "" +"^3bctime^7 Total amount of time holding the ball in " +"Keepaway\n" +msgstr "" +"^3LHidő^7 Labda birtoklásának összesített ideje (Önzőség)\n" + +#: qcsrc/client/scoreboard.qc:273 +msgid "" +"^3score^7 Total score\n" +"\n" +msgstr "" +"^3pont^7 Teljes pontszám\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 "" +"Egy mező elé elé tégy + vagy - jelet, majd vesszőkkel elválasztva\n" +"azon játék típusok listáját bezárva egy / jellel, amelyekben szeretnéd\n" +"hogy megjelenjen vagy ne jelenjen meg az adott mező." + +#: 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 "" +"A 'teams' és 'noteams' speciális kifejezésekkel\n" +"az összes csapatjátékos módra (teams) és egyéni (noteams)\n" +"módra utalhatsz. " + +#: qcsrc/client/scoreboard.qc:283 +msgid "Example: scoreboard_columns_set name ping pl | +ctf/field3 -dm/field4\n" +msgstr "" +"Például: scoreboard_columns_set name ping pl | +ctf/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 "" +"balra rendezve kiírja a nevet, a pinget, a csv-t\n" +"a jobb oldalra rendezett egyenes vonal jobb oldalára." + +#: 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' csak Zászlórablás játékmódban látszik,\n" +"'field4' pedig Haláljátszma kivételével az összes többiben.\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 "Pótoltam a '%s' hiányzó mezőt\n" + +#: qcsrc/client/scoreboard.qc:515 qcsrc/client/scoreboard.qc:522 +msgid "N/A" +msgstr "-" + +#: qcsrc/client/scoreboard.qc:950 +#, c-format +msgid "Accuracy stats (average %d%%)" +msgstr "Tüzelési pontosság (Átlag: %d%%)" + +#: qcsrc/client/scoreboard.qc:1015 +#, c-format +msgid "%d%%" +msgstr "%d%%" + +#: qcsrc/client/scoreboard.qc:1085 +msgid "Map stats:" +msgstr "Pálya statisztikák:" + +#: qcsrc/client/scoreboard.qc:1101 +msgid "Secrets found:" +msgstr "Feldezett titkok:" + +#: qcsrc/client/scoreboard.qc:1128 +msgid "Rankings" +msgstr "Helyezések" + +#: qcsrc/client/scoreboard.qc:1223 +msgid "Scoreboard" +msgstr "Ponttábla" + +#: qcsrc/client/scoreboard.qc:1268 +#, c-format +msgid "Speed award: %d ^7(%s^7)" +msgstr "Gyorsasági díj: %d ^7(%s^7)" + +#: qcsrc/client/scoreboard.qc:1272 +#, c-format +msgid "All-time fastest: %d ^7(%s^7)" +msgstr "Rekord: %d ^7(%s^7)" + +#: qcsrc/client/scoreboard.qc:1305 qcsrc/client/teamplay.qc:63 +msgid "Spectators" +msgstr "Nézők" + +#: qcsrc/client/scoreboard.qc:1311 +#, c-format +msgid "playing on ^2%s^7" +msgstr "A játék a ^2%s^7 pályán zajlik" + +#: qcsrc/client/scoreboard.qc:1318 qcsrc/client/scoreboard.qc:1323 +#, c-format +msgid " for up to ^1%1.0f minutes^7" +msgstr " még ^1%.1f percig^7" + +#: qcsrc/client/scoreboard.qc:1327 qcsrc/client/scoreboard.qc:1346 +msgid " or" +msgstr " vagy " + +#: qcsrc/client/scoreboard.qc:1330 qcsrc/client/scoreboard.qc:1337 +#, c-format +msgid " until ^3%s %s^7" +msgstr "^3%s %s^7" + +#: qcsrc/client/scoreboard.qc:1331 qcsrc/client/scoreboard.qc:1338 +#: qcsrc/client/scoreboard.qc:1350 qcsrc/client/scoreboard.qc:1357 +msgid "SCO^points" +msgstr "pontszámig" + +#: 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 " időt valaki meg nem dönti" + +#: qcsrc/client/scoreboard.qc:1349 qcsrc/client/scoreboard.qc:1356 +#, c-format +msgid " until a lead of ^3%s %s^7" +msgstr " amíg valaki ^3%s %s^7 -ig nem vezeti a mezőnyt." + +#: qcsrc/client/target_music.qc:93 qcsrc/client/target_music.qc:181 +#, c-format +msgid "Cannot initialize sound %s\n" +msgstr "Nem tudtam a %s hangot inicializálni\n" + +#: qcsrc/client/teamplay.qc:64 +msgid "Red Team" +msgstr "Vörös Csapat" + +#: qcsrc/client/teamplay.qc:65 +msgid "Blue Team" +msgstr "Kék Csapat" + +#: qcsrc/client/teamplay.qc:66 +msgid "Yellow Team" +msgstr "Sárga Csapat" + +#: qcsrc/client/teamplay.qc:67 +msgid "Pink Team" +msgstr "Rózsaszín Csapat" + +#: qcsrc/client/tturrets.qc:285 qcsrc/client/waypointsprites.qc:590 +msgid "Spam" +msgstr "Spam" + +#: qcsrc/client/tturrets.qc:294 +#, c-format +msgid "%s under attack!" +msgstr "%s támadás alatt!" + +#: qcsrc/client/waypointsprites.qc:254 +msgid "Push" +msgstr "Nyomd meg!" + +#: qcsrc/client/waypointsprites.qc:255 +msgid "Destroy" +msgstr "Pusztítsd el!" + +#: qcsrc/client/waypointsprites.qc:256 +msgid "Defend" +msgstr "Védd meg!" + +#: qcsrc/client/waypointsprites.qc:257 +msgid "Blue base" +msgstr "Kék Bázis" + +#: qcsrc/client/waypointsprites.qc:258 +msgid "DANGER" +msgstr "VESZÉLY!" + +#: qcsrc/client/waypointsprites.qc:259 +msgid "Flag carrier" +msgstr "Zászlóhordozó" + +#: qcsrc/client/waypointsprites.qc:260 +msgid "Dropped flag" +msgstr "Elhagyott zászló" + +#: qcsrc/client/waypointsprites.qc:261 +msgid "Help me!" +msgstr "Segítség!" + +#: qcsrc/client/waypointsprites.qc:262 +msgid "Here" +msgstr "Itt" + +#: qcsrc/client/waypointsprites.qc:263 +msgid "Dropped key" +msgstr "Elhagyott kulcs" + +#: 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 "Kulcshordozó" + +#: qcsrc/client/waypointsprites.qc:265 +msgid "Run here" +msgstr "Rohanj ide!" + +#: qcsrc/client/waypointsprites.qc:270 +msgid "Red base" +msgstr "Vörös Bázis" + +#: qcsrc/client/waypointsprites.qc:271 +msgid "Waypoint" +msgstr "Irányjelző" + +#: qcsrc/client/waypointsprites.qc:272 qcsrc/client/waypointsprites.qc:273 +#: qcsrc/client/waypointsprites.qc:274 +msgid "Generator" +msgstr "Generátor" + +#: 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 "Uralompont" + +#: qcsrc/client/waypointsprites.qc:283 +msgid "Checkpoint" +msgstr "Ellenőrző pont" + +#: qcsrc/client/waypointsprites.qc:284 qcsrc/client/waypointsprites.qc:286 +msgid "Finish" +msgstr "Cél" + +#: qcsrc/client/waypointsprites.qc:285 qcsrc/client/waypointsprites.qc:286 +msgid "Start" +msgstr "Start" + +#: qcsrc/client/waypointsprites.qc:287 qcsrc/client/waypointsprites.qc:288 +msgid "Ball" +msgstr "Labda" + +#: qcsrc/client/waypointsprites.qc:289 +msgid "Ball carrier" +msgstr "Labdahordozó" + +#: qcsrc/client/waypointsprites.qc:290 qcsrc/server/w_laser.qc:2 +msgid "Laser" +msgstr "Lézer" + +#: qcsrc/client/waypointsprites.qc:291 qcsrc/server/w_shotgun.qc:2 +msgid "Shotgun" +msgstr "Puska" + +#: qcsrc/client/waypointsprites.qc:292 qcsrc/server/w_uzi.qc:2 +msgid "Machine Gun" +msgstr "Gépfegyver" + +#: qcsrc/client/waypointsprites.qc:293 qcsrc/server/w_grenadelauncher.qc:2 +msgid "Mortar" +msgstr "Gránátvető" + +#: 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 "Rakétavető" + +#: qcsrc/client/waypointsprites.qc:299 qcsrc/server/w_porto.qc:2 +msgid "Port-O-Launch" +msgstr "Port-O-Launch" + +#: qcsrc/client/waypointsprites.qc:300 +msgid "Minstanex" +msgstr "MinstaNex" + +#: qcsrc/client/waypointsprites.qc:301 +msgid "Hook" +msgstr "Kampó" + +#: qcsrc/client/waypointsprites.qc:302 qcsrc/server/w_fireball.qc:2 +msgid "Fireball" +msgstr "Tűzgömb" + +#: qcsrc/client/waypointsprites.qc:303 +msgid "HLAC" +msgstr "NLRÁ" + +#: qcsrc/client/waypointsprites.qc:304 qcsrc/server/w_rifle.qc:2 +msgid "Rifle" +msgstr "Vadászpuska" + +#: qcsrc/client/waypointsprites.qc:305 qcsrc/server/w_minelayer.qc:2 +msgid "Mine Layer" +msgstr "Aknavető" + +#: qcsrc/client/waypointsprites.qc:311 +msgid "Invisibility" +msgstr "Láthatatlanság" + +#: qcsrc/client/waypointsprites.qc:312 +msgid "Extra life" +msgstr "Extra élet" + +#: qcsrc/client/waypointsprites.qc:313 +msgid "Speed" +msgstr "Sebesség" + +#: qcsrc/client/waypointsprites.qc:314 +msgid "Strength" +msgstr "Sebzésnövelő" + +#: qcsrc/client/waypointsprites.qc:315 +msgid "Shield" +msgstr "Védelmező" + +#: qcsrc/client/waypointsprites.qc:316 +msgid "Fuel regen" +msgstr "Üzemanyag újratöltés" + +#: qcsrc/client/waypointsprites.qc:317 +msgid "Jet Pack" +msgstr "Hátirakéta" + +#: qcsrc/client/waypointsprites.qc:318 +msgid "Frozen!" +msgstr "Megfagyva!" + +#: qcsrc/client/waypointsprites.qc:319 +msgid "Tagged" +msgstr "Megjelölt" + +#: qcsrc/client/waypointsprites.qc:320 +msgid "Vehicle" +msgstr "Jármű" + +#: qcsrc/client/waypointsprites.qc:594 +#, c-format +msgid "%s needing help!" +msgstr "%s segítséget kér!" + +#: qcsrc/common/mapinfo.qc:1097 +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: qcsrc/server/w_crylink.qc:666 +#, c-format +msgid "%s succeeded at self-destructing themself with the Crylink" +msgstr "%s sikeresen kinyírta magát a Crylinkkal" + +#: qcsrc/server/w_crylink.qc:671 +#, c-format +msgid "%s could not hide from %s's Crylink" +msgstr "%s nem tudott elhajolni %s Crylinkja elől" + +#: qcsrc/server/w_crylink.qc:673 +#, c-format +msgid "%s was too close to %s's Crylink" +msgstr "%s túl közel merészkedett %ss Crylinkjához" + +#: qcsrc/server/w_crylink.qc:675 +#, c-format +msgid "%s took a close look at %s's Crylink" +msgstr "%s közelebbről is megismerkedett %s Crylinkjával" + +#: qcsrc/server/w_electro.qc:581 +#, c-format +msgid "%s could not remember where they put their electro plasma" +msgstr "%s most már tudja, mire való a plazma" + +#: qcsrc/server/w_electro.qc:583 +#, c-format +msgid "%s played with electro plasma" +msgstr "%s szerint a plazma nem veszélyes. Tévedett." + +#: qcsrc/server/w_electro.qc:590 +#, c-format +msgid "%s just noticed %s's electro plasma" +msgstr "%s csak most figyelt fel %s plazmagömbjére" + +#: qcsrc/server/w_electro.qc:592 +#, c-format +msgid "%s got in touch with %s's electro plasma" +msgstr "%s lefejelte %s plazmagömbjét" + +#: qcsrc/server/w_electro.qc:597 +#, c-format +msgid "%s felt the electrifying air of %s's electro combo" +msgstr "%s haja is égnek állt %s Elektro-kombójától" + +#: qcsrc/server/w_electro.qc:599 +#, c-format +msgid "%s got too close to %s's blue electro bolt" +msgstr "%s túl közel került %s kék sugarához" + +#: qcsrc/server/w_electro.qc:601 +#, c-format +msgid "%s was blasted by %s's blue electro bolt" +msgstr "%s atomjaira hullott %s kék sugarától" + +#: qcsrc/server/w_fireball.qc:421 +#, c-format +msgid "%s forgot about some firemine" +msgstr "%s benézett pár tűzlabdacsot" + +#: qcsrc/server/w_fireball.qc:423 qcsrc/server/w_hlac.qc:240 +#, c-format +msgid "%s should have used a smaller gun" +msgstr "%s játszott volna inkább vízipisztollyal" + +#: qcsrc/server/w_fireball.qc:430 +#, c-format +msgid "%s tried to catch %s's firemine" +msgstr "%s megpróbálta elkapni %s tűzlabdacsát" + +#: qcsrc/server/w_fireball.qc:432 +#, c-format +msgid "%s fatefully ignored %s's firemine" +msgstr "%s benézte %s egyik tűzlabdacsát" + +#: qcsrc/server/w_fireball.qc:439 +#, c-format +msgid "%s could not hide from %s's fireball" +msgstr "%s nem tudott elmenekülni %s Tűzgömbje elől" + +#: qcsrc/server/w_fireball.qc:441 +#, c-format +msgid "%s saw the pretty lights of %s's fireball" +msgstr "%s megcsodálhatta %s színpompás Tűzgömbjét" + +#: qcsrc/server/w_fireball.qc:444 +#, c-format +msgid "%s got too close to %s's fireball" +msgstr "%s szénné égett %s Tűzlabdájától" + +#: qcsrc/server/w_fireball.qc:446 +#, c-format +msgid "%s tasted %s's fireball" +msgstr "%s benyelte %s Tűzlabdáját" + +#: qcsrc/server/w_grenadelauncher.qc:388 +#, c-format +msgid "%s didn't see their own grenade" +msgstr "%s lefejelte a saját gránátját" + +#: qcsrc/server/w_grenadelauncher.qc:390 +#, c-format +msgid "%s blew themself up with their grenadelauncher" +msgstr "%s felrobbantotta magát a saját Gránátvetőjével" + +#: qcsrc/server/w_grenadelauncher.qc:396 +#, c-format +msgid "%s didn't see %s's grenade" +msgstr "%s nem vette észre %s gránátját" + +#: qcsrc/server/w_grenadelauncher.qc:398 +#, c-format +msgid "%s almost dodged %s's grenade" +msgstr "%s lefejelte %s gránátját" + +#: qcsrc/server/w_grenadelauncher.qc:400 +#, c-format +msgid "%s ate %s's grenade" +msgstr "%s bekapta %s gránátját" + +#: qcsrc/server/w_hagar.qc:462 +#, c-format +msgid "%s played with tiny hagar rockets" +msgstr "%s játszott volna inkább római rakétákkal" + +#: qcsrc/server/w_hagar.qc:466 +#, c-format +msgid "%s was pummeled with a burst of hagar rockets by %s" +msgstr "%2$s szétszaggatta %1$s-t a Hagarjával" + +#: qcsrc/server/w_hagar.qc:468 +#, c-format +msgid "%s was pummeled with hagar rockets by %s" +msgstr "%2$s ledarálta %1$s-t a Hagarjával" + +#: qcsrc/server/w_hlac.qc:2 +msgid "Heavy Laser Assault Cannon" +msgstr "Nehéz Lézer Rohamágyú" + +#: qcsrc/server/w_hlac.qc:242 +#, c-format +msgid "%s was cut down with a HLAC by %s" +msgstr "%2$s kettévágta %1$s-t a NLRÁ-val" + +#: qcsrc/server/w_hook.qc:2 +msgid "Grappling Hook" +msgstr "Vonóhorog" + +#: qcsrc/server/w_hook.qc:286 qcsrc/server/w_porto.qc:296 +#, c-format +msgid "%s did the impossible" +msgstr "%s teljesítette a lehetetlent" + +#: qcsrc/server/w_hook.qc:288 +#, c-format +msgid "%s was caught in %s's hook gravity bomb" +msgstr "%2$s elkapta %1$s-t a Gravitációs bombájával" + +#: qcsrc/server/w_laser.qc:312 +#, c-format +msgid "%s lasered themself to hell" +msgstr "%s egészen a mennyekig lézerezte magát" + +#: qcsrc/server/w_laser.qc:316 +#, c-format +msgid "%s was cut in half by %s's gauntlet" +msgstr "%2$s kettészabta %1$s-t a Páncélöklével" + +#: qcsrc/server/w_laser.qc:318 +#, c-format +msgid "%s was lasered to death by %s" +msgstr "%2$s halálba lézerezte %1$s-t" + +#: qcsrc/server/w_minelayer.qc:533 +#, c-format +msgid "%s blew themself up with their minelayer" +msgstr "%s rálépett a saját aknájára" + +#: qcsrc/server/w_minelayer.qc:535 +#, c-format +msgid "%s forgot about their mine" +msgstr "%s egy aknáról mégiscsak megfeledkezett" + +#: qcsrc/server/w_minelayer.qc:539 +#, c-format +msgid "%s got too close to %s's mine" +msgstr "%s túl közel került %s aknájához" + +#: qcsrc/server/w_minelayer.qc:541 +#, c-format +msgid "%s almost dodged %s's mine" +msgstr "%s nem tudott elhajolni %s aknája elől" + +#: qcsrc/server/w_minelayer.qc:543 +#, c-format +msgid "%s stepped on %s's mine" +msgstr "%s rátaposott %s aknájára" + +#: qcsrc/server/w_minstanex.qc:2 +msgid "MinstaNex" +msgstr "MinstaNex" + +#: qcsrc/server/w_minstanex.qc:293 qcsrc/server/w_nex.qc:253 +#: qcsrc/server/w_rifle.qc:232 qcsrc/server/w_shotgun.qc:271 +#: qcsrc/server/w_uzi.qc:318 +#, c-format +msgid "%s is now thinking with portals" +msgstr "%s már Portálokkal mereng" + +#: qcsrc/server/w_minstanex.qc:295 +#, c-format +msgid "%s has been vaporized by %s's minstanex" +msgstr "%s^1 elpárolgott %s MinstaNexétől" + +#: qcsrc/server/w_nex.qc:255 +#, c-format +msgid "%s has been vaporized by %s's nex" +msgstr "%s^1 elpárolgott %s Nex sugarától" + +#: qcsrc/server/w_porto.qc:298 +#, c-format +msgid "%s felt %s doing the impossible to him" +msgstr "%2$s bebizonyította %1$s számára a lehetetlent" + +#: qcsrc/server/w_rifle.qc:239 +#, c-format +msgid "%s failed to hide from %s's rifle bullet hail" +msgstr "%s nem tudott fedezékbe húzódni %s golyózápora elől" + +#: qcsrc/server/w_rifle.qc:241 +#, c-format +msgid "%s died in %s's rifle bullet hail" +msgstr "%2$s levadászta %1$s-t" + +#: qcsrc/server/w_rifle.qc:248 +#, c-format +msgid "%s failed to hide from %s's rifle" +msgstr "%s csinosan mutat majd %s trófea gyűjteményében" + +#: qcsrc/server/w_rifle.qc:253 +#, c-format +msgid "%s got shot in the head with a rifle by %s" +msgstr "%2$s fejbelőtte %1$s-t" + +#: qcsrc/server/w_rifle.qc:255 +#, c-format +msgid "%s was sniped with a rifle by %s" +msgstr "%s lefejelte %s golyóját" + +#: qcsrc/server/w_rocketlauncher.qc:507 +#, c-format +msgid "%s blew themself up with their rocketlauncher" +msgstr "%s játszott volna inkább petárdákkal" + +#: qcsrc/server/w_rocketlauncher.qc:511 +#, c-format +msgid "%s got too close to %s's rocket" +msgstr "%s túl közel került %s rakétájához" + +#: qcsrc/server/w_rocketlauncher.qc:513 +#, c-format +msgid "%s almost dodged %s's rocket" +msgstr "%s nem tudott elugrani %s rakétája elől" + +#: qcsrc/server/w_rocketlauncher.qc:515 +#, c-format +msgid "%s ate %s's rocket" +msgstr "%s beszopta %s rakétáját" + +#: qcsrc/server/w_seeker.qc:2 +msgid "T.A.G. Seeker" +msgstr "T.A.G. Seeker" + +#: qcsrc/server/w_seeker.qc:661 +#, c-format +msgid "%s played with tiny seeker rockets" +msgstr "%s rakétái saját maga ellen fordultak" + +#: qcsrc/server/w_seeker.qc:665 +#, c-format +msgid "%s was tagged with a seeker by %s" +msgstr "%2$s rakétái levadászták %1$s-t" + +#: qcsrc/server/w_seeker.qc:667 +#, c-format +msgid "%s was pummeled with seeker rockets by %s" +msgstr "%s-t darabokra tépték %s kis célkövető rakétái" + +#: qcsrc/server/w_shotgun.qc:275 +#, c-format +msgid "%2$s slapped %1$s around a bit with a large shotgun" +msgstr "%2$s bucira verte %1$s-t a puskájával" + +#: qcsrc/server/w_shotgun.qc:277 +#, c-format +msgid "%s was gunned down with a shotgun by %s" +msgstr "%2$s megkínálta %1$s-t egy kis söréttel" + +#: qcsrc/server/w_tuba.qc:2 +#, c-format +msgid "@!#%'n Tuba" +msgstr "ki@!#%tt Tuba" + +#: qcsrc/server/w_tuba.qc:444 +#, c-format +msgid "%s hurt his own ears with the @!#%%'n Tuba" +msgstr "%s saját dobhártyája is megrepedt a ki@!#%%tt Tuba hangjától" + +#: qcsrc/server/w_tuba.qc:447 +#, c-format +msgid "%s hurt his own ears with the @!#%%'n Accordeon" +msgstr "%s saját dobhártyája is megrepedt a ki@!#%%tt Akkordeon hangjától" + +#: qcsrc/server/w_tuba.qc:465 +#, c-format +msgid "%s died of %s's great playing on the @!#%%'n Tuba" +msgstr "%s agyvérzést kapott %s frenetikus ki@!#%%tt Tuba muzsikájától" + +#: qcsrc/server/w_tuba.qc:468 +#, c-format +msgid "%s died of %s's great playing on the @!#%%'n Accordeon" +msgstr "%s agyvérzést kapott %s frenetikus ki@!#%%tt Akkordeon muzsikájától" + +#: qcsrc/server/w_uzi.qc:322 +#, c-format +msgid "%s was sniped by %s's machine gun" +msgstr "%2$s lekapta %s-t a gépfegyverével" + +#: qcsrc/server/w_uzi.qc:324 +#, c-format +msgid "%s was riddled full of holes by %s's machine gun" +msgstr "%2$s szitává lyuggatta %s-t a gépfegyverével" + +#~ 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 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 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 "Awaiting orders..." +#~ msgstr "Warten auf Auftrag..." + +#~ msgid "You're commander!" +#~ msgstr "Sie sind Befehlshaber!" + +#~ msgid "3) Resign from command." +#~ msgstr "3) Befehlsgewalt abgeben." + +#~ msgid " 2) Defend" +#~ msgstr " 2) Verteidigen" + +#~ msgid " 1) Attack" +#~ msgstr " 1) Angreifen" + +#~ msgid "Issue orders:" +#~ msgstr "Auftrag geben:" + +#~ msgid "----- Command Menu -----" +#~ msgstr "---- Befehlsmenü -----" + +#~ msgid "Couldn't find player %d\n" +#~ msgstr "Kann Spieler %d nicht finden\n" + +#~ msgid "ESC) Exit Menu" +#~ msgstr "ESC) Menü verlassen" + +#~ msgid "2) ^3next page" +#~ msgstr "2) ^3nächste Seite" + +#~ msgid "1) ^3previous page" +#~ msgstr "1) ^3vorherige Seite" + +#~ msgid "Order: %s" +#~ msgstr "Auftrag: %s" + +#~ msgid "----- Order Menu -----" +#~ msgstr "----- Auftragsmenü -----" diff --git a/csprogs.dat.it.po b/csprogs.dat.it.po index 5ef2982eb..42d7f0e48 100644 --- a/csprogs.dat.it.po +++ b/csprogs.dat.it.po @@ -6,10 +6,10 @@ # msgid "" msgstr "" -"Project-Id-Version: 0.1preview\n" +"Project-Id-Version: 0.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-02 07:51+0200\n" -"PO-Revision-Date: 2011-09-04 01:40+0100\n" +"POT-Creation-Date: 2012-01-26 12:24+0100\n" +"PO-Revision-Date: 2011-02-26 20:40+0100\n" "Last-Translator: Antonio 'terencehill' Piu \n" "Language-Team: Antonio 'terencehill' Piu \n" "Language: it\n" @@ -18,11 +18,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Italian\n" -#: qcsrc/client/Main.qc:30 +#: qcsrc/client/Main.qc:8 msgid "ERROR - MENU IS VISIBLE BUT NO MENU WAS DEFINED!" msgstr "ERRORE - IL MENU E' VISIBILE MA NESSUN MENU E' STATO DEFINITO!" -#: qcsrc/client/Main.qc:56 +#: qcsrc/client/Main.qc:83 msgid "" "^3Your engine build is outdated\n" "^3This Server uses a newer QC VM. Please update!\n" @@ -30,52 +30,39 @@ msgstr "" "^3La tua versione del motore logico è vecchia\n" "^3Questo server usa un nuovo QC VM. Per favore aggiornalo!\n" -#: qcsrc/client/Main.qc:66 +#: qcsrc/client/Main.qc:93 #, c-format msgid "^4CSQC Build information: ^1%s\n" msgstr "^4Informazioni sulla build CSQC: ^1%s\n" -#: qcsrc/client/Main.qc:237 qcsrc/client/Main.qc:253 +#: qcsrc/client/Main.qc:258 qcsrc/client/Main.qc:274 #, c-format msgid "trying to switch to unsupported team %d\n" msgstr "tentando di passare al team non supportato %d\n" -#: qcsrc/client/Main.qc:369 qcsrc/client/scoreboard.qc:241 -msgid "Usage:\n" -msgstr "Uso:\n" - -#: qcsrc/client/Main.qc:370 -msgid "hud_save configname (saves to hud_skinname_configname.cfg)\n" -msgstr "hud_save configname (salva in hud_skinname_configname.cfg)\n" - -#: qcsrc/client/Main.qc:494 -msgid "Usage: cl_cmd COMMAND..., where possible commands are:\n" -msgstr "Uso: cl_cmd COMANDO..., dove i possibili comandi sono:\n" - -#: qcsrc/client/Main.qc:495 -msgid " settemp cvar value\n" -msgstr " settemp 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 +#: qcsrc/client/Main.qc:466 #, c-format msgid "A CSQC entity changed its owner! (edict: %d, classname: %s)\n" msgstr "" "Un'entity CSQC ha cambiato il suo proprietario! (edict: %d, classname: %s)\n" -#: qcsrc/client/Main.qc:964 +#: qcsrc/client/Main.qc:707 #, c-format -msgid "A CSQC entity changed its type! (edict: %d, classname: %s)\n" -msgstr "Un'entity CSQC ha cambiato il suo tipo! (edict: %d, classname: %s)\n" +msgid "" +"A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n" +msgstr "" +"Un'entity CSQC ha cambiato il suo tipo! (edict: %d, server: %d, tipo: %d -> " +"%d)\n" -#: qcsrc/client/Main.qc:1005 +#: qcsrc/client/Main.qc:716 +#, c-format +msgid "" +"A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n" +msgstr "" +"Un'entity CSQC è apparsa da non si sa dove! (edict: %d, server: %d, tipo: %d " +"-> %d)\n" + +#: qcsrc/client/Main.qc:758 #, c-format msgid "" "Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: " @@ -84,69 +71,42 @@ msgstr "" "Tipo di entity sconosciuta in CSQC_Ent_Update (enttype: %d, edict: %d, " "classname: %s)\n" -#: qcsrc/client/Main.qc:1451 +#: qcsrc/client/Main.qc:1206 #, c-format msgid "%s (not bound)" msgstr "%s (nessun tasto)" -#: qcsrc/client/Main.qc:1456 qcsrc/client/hud.qc:230 +#: qcsrc/client/Main.qc:1211 qcsrc/client/hud.qc:230 #, c-format msgid "%s (%s)" msgstr "%s (%s)" -#: qcsrc/client/ctf.qc:35 -msgid "----- Order Menu -----" -msgstr "----- Menu degli ordini -----" +#: qcsrc/client/announcer.qc:31 +msgid "^1Begin!" +msgstr "^1Via!" -#: qcsrc/client/ctf.qc:36 +#: qcsrc/client/announcer.qc:41 #, c-format -msgid "Order: %s" -msgstr "Ordine: %s" - -#: qcsrc/client/ctf.qc:37 -msgid "1) ^3previous page" -msgstr "1) ^3pagina precedente" +msgid "^1Game starts in %d seconds" +msgstr "^1Il gioco inizia tra %d secondi" -#: qcsrc/client/ctf.qc:38 -msgid "2) ^3next page" -msgstr "2) ^3pagina successiva" +#: qcsrc/client/announcer.qc:153 +msgid "^1RED^7 flag" +msgstr "^7Bandiera ^1ROSSA" -#: qcsrc/client/ctf.qc:55 qcsrc/client/ctf.qc:161 -msgid "ESC) Exit Menu" -msgstr "ESC) Esci dal menu" +#: qcsrc/client/announcer.qc:158 +msgid "^4BLUE^7 flag" +msgstr "^7Bandiera ^4BLU" -#: qcsrc/client/ctf.qc:126 +#: qcsrc/client/announcer.qc:166 #, c-format -msgid "Couldn't find player %d\n" -msgstr "Impossibile trovare il giocatore %d\n" - -#: qcsrc/client/ctf.qc:154 -msgid "----- Command Menu -----" -msgstr "----- Menu dei comandi -----" - -#: qcsrc/client/ctf.qc:155 -msgid "Issue orders:" -msgstr "Impartisci ordini:" - -#: qcsrc/client/ctf.qc:156 -msgid " 1) Attack" -msgstr " 1) Attacca" - -#: qcsrc/client/ctf.qc:158 -msgid " 2) Defend" -msgstr " 2) Difendi" - -#: qcsrc/client/ctf.qc:160 -msgid "3) Resign from command." -msgstr "3) Dimettiti dal commando." - -#: qcsrc/client/ctf.qc:212 -msgid "You're commander!" -msgstr "Sei il comandante!" +msgid "You picked up the %s!" +msgstr "Hai raccolto la %s!" -#: qcsrc/client/ctf.qc:215 -msgid "Awaiting orders..." -msgstr "Attendendo ordini..." +#: qcsrc/client/announcer.qc:170 +#, c-format +msgid "You got the %s!" +msgstr "Hai preso la %s!" #: qcsrc/client/hud.qc:160 msgid "1st" @@ -193,450 +153,512 @@ msgstr "Intermedio %d" msgid "%s (%s %s)" msgstr "%s (%s %s)" -#: qcsrc/client/hud.qc:735 +#: qcsrc/client/hud.qc:786 msgid "Out of ammo" msgstr "Scarica" -#: qcsrc/client/hud.qc:739 +#: qcsrc/client/hud.qc:790 msgid "Don't have" msgstr "Mancante" -#: qcsrc/client/hud.qc:743 +#: qcsrc/client/hud.qc:794 msgid "Unavailable" msgstr "Non disponibile" -#: qcsrc/client/hud.qc:1483 +#: qcsrc/client/hud.qc:1625 #, c-format msgid "^1%s^1 couldn't take it anymore\n" msgstr "^1%s^1 non ne poteva più\n" -#: qcsrc/client/hud.qc:1487 qcsrc/client/hud.qc:1791 +#: qcsrc/client/hud.qc:1629 qcsrc/client/hud.qc:1974 #, c-format msgid "^1%s^1 died\n" msgstr "^1%s^1 è morto\n" -#: qcsrc/client/hud.qc:1491 +#: qcsrc/client/hud.qc:1633 #, c-format msgid "^7%s^7 committed suicide. What's the point of living without ammo?\n" msgstr "" "^7%s^7 ha commesso suicidio. Qual'è il motivo di vivere senza munizioni?\n" -#: qcsrc/client/hud.qc:1495 +#: qcsrc/client/hud.qc:1637 #, c-format msgid "^1%s^1 thought they found a nice camping ground\n" msgstr "^1%s^1 pensava di trovare un bel campeggio\n" -#: qcsrc/client/hud.qc:1499 +#: qcsrc/client/hud.qc:1641 #, c-format msgid "^1%s^1 didn't become friends with the Lord of Teamplay\n" msgstr "^1%s^1 non è diventato amico del Signore del Teamplay\n" -#: qcsrc/client/hud.qc:1503 +#: qcsrc/client/hud.qc:1645 #, c-format msgid "^1%s^1 unfairly eliminated themself\n" msgstr "^1%s^1 si è eliminato ingiustamente\n" -#: qcsrc/client/hud.qc:1507 +#: qcsrc/client/hud.qc:1649 #, c-format msgid "^1%s^1 burned to death\n" msgstr "^1%s^1 è morto bruciato\n" -#: qcsrc/client/hud.qc:1511 +#: qcsrc/client/hud.qc:1653 #, c-format msgid "^1%s^1 couldn't resist the urge to self-destruct\n" msgstr "^1%s^1 non ha resistito allo stimolo di autodistruggersi\n" -#: qcsrc/client/hud.qc:1515 +#: qcsrc/client/hud.qc:1657 #, c-format msgid "^1%s^1 ended it all after a %d kill spree\n" msgstr "^1%s^1 l'ha fatta finita con una serie di %d uccisioni\n" -#: qcsrc/client/hud.qc:1532 +#: qcsrc/client/hud.qc:1670 #, c-format msgid "^1%s^1 took action against a team mate\n" msgstr "^1%s^1 ha agito contro un compagno di squadra\n" -#: qcsrc/client/hud.qc:1534 +#: qcsrc/client/hud.qc:1672 #, c-format msgid "^1%s^1 mows down a team mate\n" msgstr "^1%s^1 ha falciato un compagno di squadra\n" -#: qcsrc/client/hud.qc:1539 +#: qcsrc/client/hud.qc:1677 #, c-format msgid "^1%s^1 ended a %d scoring spree by going against a team mate\n" msgstr "" "^1%s^1 ha concluso una serie di %d punti per esser andato contro un compagno " "di squadra\n" -#: qcsrc/client/hud.qc:1541 +#: qcsrc/client/hud.qc:1679 #, c-format msgid "^1%s^1 ended a %d kill spree by killing a team mate\n" msgstr "" "^1%s^1 ha concluso una serie di %d uccisioni per aver ammazzato un compagno " "di squadra\n" -#: qcsrc/client/hud.qc:1545 +#: qcsrc/client/hud.qc:1683 #, c-format msgid "^1%s^1's %s scoring spree was ended by a team mate!\n" msgstr "" "^1La serie di ^1%s^1 di ^1%s^1 punti è stata conclusa da un compagno di " "squadra!\n" -#: qcsrc/client/hud.qc:1547 +#: qcsrc/client/hud.qc:1685 #, c-format msgid "^1%s^1's %s kill spree was ended by a team mate!\n" msgstr "" "^1La serie di ^1%s ^1di ^1%s ^1uccisioni è stata conclusa da un compagno di " "squadra!\n" -#: qcsrc/client/hud.qc:1551 +#: qcsrc/client/hud.qc:1689 #, c-format msgid "^1%s^1 drew first blood\n" msgstr "^1%s^1 ha tratto la prima uccisione\n" -#: qcsrc/client/hud.qc:1555 +#: qcsrc/client/hud.qc:1693 #, c-format msgid "^1%s^1 tried to occupy %s^1's teleport destination space\n" msgstr "" "^1%s^1 ha provato a occupare lo spazio di destinazione della teleporta di " "%s\n" -#: qcsrc/client/hud.qc:1557 +#: qcsrc/client/hud.qc:1695 #, c-format msgid "^1%s^1 was telefragged by %s\n" msgstr "^1%s^1 è stato telefraggato da %s\n" -#: qcsrc/client/hud.qc:1562 +#: qcsrc/client/hud.qc:1700 #, c-format msgid "^1%s^1 was drowned by %s\n" msgstr "^1%s^1 è stato annegato da %s\n" -#: qcsrc/client/hud.qc:1567 +#: qcsrc/client/hud.qc:1705 #, c-format msgid "^1%s^1 was slimed by %s\n" msgstr "^1%s^1 è stato coperto di melma da %s\n" -#: qcsrc/client/hud.qc:1572 +#: qcsrc/client/hud.qc:1710 #, c-format msgid "^1%s^1 was cooked by %s\n" msgstr "^1%s^1 è stato cucinato da %s\n" -#: qcsrc/client/hud.qc:1577 +#: qcsrc/client/hud.qc:1715 #, c-format msgid "^1%s^1 was grounded by %s\n" msgstr "^1%s^1 è stato messo a terra da %s\n" -#: qcsrc/client/hud.qc:1582 +#: qcsrc/client/hud.qc:1720 #, c-format msgid "^1%s^1 was shot into space by %s\n" msgstr "^1%s^1 è stato buttato nello spazio da %s\n" -#: qcsrc/client/hud.qc:1587 +#: qcsrc/client/hud.qc:1725 #, c-format msgid "^1%s^1 was conserved by %s\n" msgstr "^1%s^1 è stato conservato da %s\n" -#: qcsrc/client/hud.qc:1593 +#: qcsrc/client/hud.qc:1731 #, c-format msgid "^1%s^1 was thrown into a world of hurt by %s\n" msgstr "^1%s^1 è stato lanciato in un mondo di dolore da %s\n" -#: qcsrc/client/hud.qc:1597 +#: qcsrc/client/hud.qc:1735 #, c-format msgid "^1%s^1 was crushed by %s\n" msgstr "^1%s^1 è stato schiacciato da %s\n" -#: qcsrc/client/hud.qc:1601 +#: qcsrc/client/hud.qc:1739 #, c-format msgid "^1%s^1 got shredded by %s\n" msgstr "^1%s^1 è stato triturato da %s\n" -#: qcsrc/client/hud.qc:1605 +#: qcsrc/client/hud.qc:1743 #, c-format msgid "^1%s^1 was blasted to bits by %s\n" msgstr "^1%s^1 è stato disintegrato da %s\n" -#: qcsrc/client/hud.qc:1609 +#: qcsrc/client/hud.qc:1747 #, c-format msgid "^1%s^1 got caught in the destruction of %s^1's vehicle\n" msgstr "^1%s^1 è caduto nella distruzione del veicolo di %s\n" -#: qcsrc/client/hud.qc:1613 +#: qcsrc/client/hud.qc:1751 #, c-format msgid "^1%s^1 was bolted down by %s\n" msgstr "^1%s^1 è stato imbullonato da %s\n" -#: qcsrc/client/hud.qc:1617 +#: qcsrc/client/hud.qc:1755 #, c-format msgid "^1%s^1 could find no shelter from %s^1's rockets\n" msgstr "^1%s^1 non ha trovato riparo dai razzi di %s\n" -#: qcsrc/client/hud.qc:1621 +#: qcsrc/client/hud.qc:1759 #, c-format msgid "^1%s^1 dies when %s^1's wakizashi dies.\n" msgstr "^1%s^1 muore mentre il wakizashi di %s^1 muore.\n" -#: qcsrc/client/hud.qc:1625 +#: qcsrc/client/hud.qc:1763 #, c-format msgid "^1%s^1 nailed to hell by %s\n" msgstr "^1%s^1 è stato inchiodato all'inferno da %s\n" -#: qcsrc/client/hud.qc:1629 +#: qcsrc/client/hud.qc:1767 #, c-format msgid "^1%s^1 cluster crushed by %s\n" msgstr "^1L'ammasso di ^1%s^1 è stato schiacciato da %s\n" -#: qcsrc/client/hud.qc:1633 +#: qcsrc/client/hud.qc:1771 #, c-format msgid "^1%s^1 dies when %s^1's raptor dies.\n" msgstr "^1%s^1 muore mentre il raptor di %s^1 muore.\n" -#: qcsrc/client/hud.qc:1637 +#: qcsrc/client/hud.qc:1775 #, c-format msgid "^1%s^1 was pushed into the line of fire by %s\n" msgstr "^1%s^1 è stato spinto nella linea di fuoco da %s\n" -#: qcsrc/client/hud.qc:1641 +#: qcsrc/client/hud.qc:1779 #, c-format msgid "^1%s^1 was pushed into an accident by %s\n" msgstr "^1%s^1 è stato spinto in un incidente da %s\n" -#: qcsrc/client/hud.qc:1645 +#: qcsrc/client/hud.qc:1783 #, c-format msgid "^1%s^1 was unfairly eliminated by %s\n" msgstr "^1%s^1 è stato ingiustamente eliminato da %s\n" -#: qcsrc/client/hud.qc:1649 +#: qcsrc/client/hud.qc:1787 #, c-format msgid "^1%s^1 was burnt to death by %s\n" msgstr "^1%s^1 è stato bruciato a morte da %s\n" -#: qcsrc/client/hud.qc:1661 +#: qcsrc/client/hud.qc:1799 #, c-format msgid "^1%s^1 was fragged by %s\n" msgstr "^1%s^1 è stato fraggato da %s\n" -#: qcsrc/client/hud.qc:1666 +#: qcsrc/client/hud.qc:1804 #, c-format msgid "^1%s^1's %s scoring spree was ended by %s\n" msgstr "^1La serie di ^1%s ^1di ^1%s^1 punti è stata conclusa da %s\n" -#: qcsrc/client/hud.qc:1668 +#: qcsrc/client/hud.qc:1806 #, c-format msgid "^1%s^1's %s kill spree was ended by %s\n" msgstr "^1La serie di %s^1 di ^1%s^1 uccisioni è stata conclusa da %s\n" -#: qcsrc/client/hud.qc:1671 +#: qcsrc/client/hud.qc:1809 #, c-format msgid "^1%s^1 made %s scores in a row\n" msgstr "^1%s^1 ha fatto %s punti di fila\n" -#: qcsrc/client/hud.qc:1673 +#: qcsrc/client/hud.qc:1811 #, c-format msgid "^1%s^1 has %s frags in a row\n" msgstr "^1%s^1 ha %s frag di fila\n" -#: qcsrc/client/hud.qc:1676 +#: qcsrc/client/hud.qc:1814 #, c-format msgid "%s^7 made a ^1TRIPLE SCORE\n" msgstr "%s^7 ha realizzato un ^1TRIPLO PUNTO\n" -#: qcsrc/client/hud.qc:1678 +#: qcsrc/client/hud.qc:1816 #, c-format msgid "%s^7 made a ^1TRIPLE FRAG\n" msgstr "%s^7 ha realizzato un ^1FRAG TRIPLO\n" -#: qcsrc/client/hud.qc:1681 +#: qcsrc/client/hud.qc:1819 #, c-format msgid "%s^7 unleashes ^1SCORING RAGE\n" msgstr "%s^7 scatena una ^1FURIA DI PUNTI\n" -#: qcsrc/client/hud.qc:1683 +#: qcsrc/client/hud.qc:1821 #, c-format msgid "%s^7 unleashes ^1RAGE\n" msgstr "%s^7 scatena la propria ^1FURIA\n" -#: qcsrc/client/hud.qc:1686 +#: qcsrc/client/hud.qc:1824 #, c-format msgid "%s^7 made ^1TEN SCORES IN A ROW!\n" msgstr "%s^7 ha realizzato ^1DIECI PUNTI DI FILA!\n" -#: qcsrc/client/hud.qc:1688 +#: qcsrc/client/hud.qc:1826 #, c-format msgid "%s^7 starts the ^1MASSACRE!\n" msgstr "%s^7 ha iniziato il ^1MASSACRO!\n" -#: qcsrc/client/hud.qc:1691 +#: qcsrc/client/hud.qc:1829 #, c-format msgid "%s^7 made ^1FIFTEEN SCORES IN A ROW!\n" msgstr "%s^7 ha realizzato ^QUINDICI PUNTI DI FILA!\n" -#: qcsrc/client/hud.qc:1693 +#: qcsrc/client/hud.qc:1831 #, c-format msgid "%s^7 executes ^1MAYHEM!\n" msgstr "%s^7 ha eseguito un ^1MAYHEM!\n" -#: qcsrc/client/hud.qc:1696 +#: qcsrc/client/hud.qc:1834 #, c-format msgid "%s^7 made ^1TWENTY SCORES IN A ROW!\n" msgstr "%s^7 ha realizzato ^1VENTI PUNTI DI FILA!\n" -#: qcsrc/client/hud.qc:1698 +#: qcsrc/client/hud.qc:1836 #, c-format msgid "%s^7 is a ^1BERSERKER!\n" msgstr "%s^7 è un ^1FEROCE GUERRIERO!\n" -#: qcsrc/client/hud.qc:1701 +#: qcsrc/client/hud.qc:1839 #, c-format msgid "%s^7 made ^1TWENTY FIVE SCORES IN A ROW!\n" msgstr "%s^7 ha realizzato ^1VENTICINQUE PUNTI DI FILA!\n" -#: qcsrc/client/hud.qc:1703 +#: qcsrc/client/hud.qc:1841 #, c-format msgid "%s^7 inflicts ^1CARNAGE!\n" msgstr "%s^7 ha fatto una ^1CARNEFICINA!\n" -#: qcsrc/client/hud.qc:1706 +#: qcsrc/client/hud.qc:1844 #, c-format msgid "%s^7 made ^1THIRTY SCORES IN A ROW!\n" msgstr "%s^7 ha realizzato ^1TRENTA PUNTI DI FILA!\n" -#: qcsrc/client/hud.qc:1708 +#: qcsrc/client/hud.qc:1846 #, c-format msgid "%s^7 unleashes ^1ARMAGEDDON!\n" msgstr "%s^7 scatena un ^1ARMAGEDDON!\n" -#: qcsrc/client/hud.qc:1716 +#: qcsrc/client/hud.qc:1854 #, c-format msgid "^1%s^1 was in the water for too long\n" msgstr "^1%s^1 è stato in acqua per troppo tempo\n" -#: qcsrc/client/hud.qc:1718 +#: qcsrc/client/hud.qc:1856 #, c-format msgid "^1%s^1 drowned\n" msgstr "^1%s^1 è annegato\n" -#: qcsrc/client/hud.qc:1723 +#: qcsrc/client/hud.qc:1861 #, c-format msgid "^1%s^1 was slimed\n" msgstr "^1%s^1 è stato coperto di melma\n" -#: qcsrc/client/hud.qc:1729 +#: qcsrc/client/hud.qc:1867 #, c-format msgid "^1%s^1 found a hot place\n" msgstr "^1%s^1 ha trovato un posto caldo\n" -#: qcsrc/client/hud.qc:1731 +#: qcsrc/client/hud.qc:1869 #, c-format msgid "^1%s^1 turned into hot slag\n" msgstr "^1%s^1 è finito dentro la lava bollente\n" -#: qcsrc/client/hud.qc:1738 +#: qcsrc/client/hud.qc:1876 #, c-format msgid "^1%s^1 tested gravity (and it worked)\n" msgstr "^1%s^1 ha testato la gravità (e ha funzionato)\n" -#: qcsrc/client/hud.qc:1740 +#: qcsrc/client/hud.qc:1878 #, c-format msgid "^1%s^1 hit the ground with a crunch\n" msgstr "^1%s^1 ha fatto scricchiolare il terreno\n" -#: qcsrc/client/hud.qc:1745 +#: qcsrc/client/hud.qc:1883 #, c-format msgid "^1%s^1 became a shooting star\n" msgstr "^1%s^1 è diventato una stella cadente\n" -#: qcsrc/client/hud.qc:1751 +#: qcsrc/client/hud.qc:1889 #, c-format msgid "^1%s^1 discovered a swamp\n" msgstr "^1%s^1 ha scoperto una palude\n" -#: qcsrc/client/hud.qc:1753 +#: qcsrc/client/hud.qc:1891 #, c-format msgid "^1%s^1 is now conserved for centuries to come\n" msgstr "^1%s^1 è ora conservato per i secoli a venire\n" -#: qcsrc/client/hud.qc:1758 +#: qcsrc/client/hud.qc:1898 +#, c-format +msgid "^1%s^1 ran into a turret\n" +msgstr "^1%s^1 si è scontrato con una torretta\n" + +#: qcsrc/client/hud.qc:1904 +#, c-format +msgid "^1%s^1 was laserd down by a eWheel turret \n" +msgstr "^1%s^1 è stato laserato da una torretta eWheel\n" + +#: qcsrc/client/hud.qc:1907 +#, c-format +msgid "^1%s^1 got caught in the flac \n" +msgstr "^1%s^1 è è stato catturato nel flac\n" + +#: qcsrc/client/hud.qc:1910 +#, c-format +msgid "^1%s^1 was riddeld full of riddled by a machinegun turret \n" +msgstr "%s è stato riempito di buchi da una torretta mitragliatrice" + +#: qcsrc/client/hud.qc:1913 +#, c-format +msgid "^1%s^1 got served a led enrichment by a walker turret \n" +msgstr "" +"^1A %s^1 è stato servito un arricchimento di piombo da una torretta walker\n" + +#: qcsrc/client/hud.qc:1916 +#, c-format +msgid "^1%s^1 was impaled by a walker turret \n" +msgstr "^1%s^1 è stato impalato da una torretta walker\n" + +#: qcsrc/client/hud.qc:1919 +#, c-format +msgid "^1%s^1 was rocketed to hell by a walker turret \n" +msgstr "^1%s^1 è stato mandato all'altro mondo da una torretta walker\n" + +#: qcsrc/client/hud.qc:1922 +#, c-format +msgid "^1%s^1 was blasted away hellion turret \n" +msgstr "^1%s^1 è stato fatto esplodere da una torretta hellion\n" + +#: qcsrc/client/hud.qc:1925 +#, c-format +msgid "^1%s^1 could not hide from the hunter turret \n" +msgstr "%s non è riuscito a nascondersi dalla torretta hunter" + +#: qcsrc/client/hud.qc:1928 +#, c-format +msgid "^1%s^1 got turned into smoldering gibs by a mlrs turret \n" +msgstr "^1%s^1 è stato trasformato in pezzi fumanti da una torretta mlrs" + +#: qcsrc/client/hud.qc:1931 #, c-format -msgid "^1%s^1 was mowed down by a turret \n" -msgstr "^1%s^1 è stato falciato da una torretta \n" +msgid "^1%s^1 got served some superheated plasma from a plasma turret \n" +msgstr "" +"^1A %s^1 è stato servito un pò di plasma surriscaldato da una torretta plasma" + +#: qcsrc/client/hud.qc:1934 +#, c-format +msgid "^1%s^1 was phased out \n" +msgstr "^1%s^1 è stato eliminato\n" + +#: qcsrc/client/hud.qc:1937 +#, c-format +msgid "^1%s^1 was electrocuted by a tesla turret \n" +msgstr "^1%s^1 è stato elettrotagliato da una torretta tesla\n" -#: qcsrc/client/hud.qc:1770 +#: qcsrc/client/hud.qc:1953 #, c-format msgid "^1%s^1 died in an accident\n" msgstr "^1%s^1 è morto in un incidente\n" -#: qcsrc/client/hud.qc:1774 +#: qcsrc/client/hud.qc:1957 #, c-format msgid "^1%s^1 was unfairly eliminated\n" msgstr "^1%s^1 è stato ingiustamente eliminato\n" -#: qcsrc/client/hud.qc:1780 +#: qcsrc/client/hud.qc:1963 #, c-format msgid "^1%s^1 felt a little hot\n" msgstr "^1%s^1 ha sentito un pò di caldo\n" -#: qcsrc/client/hud.qc:1782 +#: qcsrc/client/hud.qc:1965 #, c-format msgid "^1%s^1 burnt to death\n" msgstr "^1%s^1 è morto bruciato\n" -#: qcsrc/client/hud.qc:1789 +#: qcsrc/client/hud.qc:1972 #, c-format msgid "^1%s^1 needs a restart\n" msgstr "^1%s^1 ha bisogno di una ripresa\n" -#: qcsrc/client/hud.qc:1796 +#: qcsrc/client/hud.qc:1979 #, c-format msgid "^1%s^1 needs a restart after a %d scoring spree\n" msgstr "^1%s^1 ha bisogno di una ripresa dopo una serie di %d punti\n" -#: qcsrc/client/hud.qc:1798 +#: qcsrc/client/hud.qc:1981 #, c-format msgid "^1%s^1 died with a %d kill spree\n" msgstr "^1%s^1 è morto dopo una serie di %d uccisioni\n" -#: qcsrc/client/hud.qc:1802 +#: qcsrc/client/hud.qc:1985 #, c-format msgid "%s^7 got the %s\n" msgstr "%s^7 ha preso la %s\n" -#: qcsrc/client/hud.qc:1805 +#: qcsrc/client/hud.qc:1988 #, c-format msgid "%s^7 lost the %s\n" msgstr "%s^7 ha perso la %s\n" -#: qcsrc/client/hud.qc:1808 +#: qcsrc/client/hud.qc:1991 #, c-format msgid "%s^7 picked up the %s\n" msgstr "%s^7 ha raccolto la %s\n" -#: qcsrc/client/hud.qc:1811 +#: qcsrc/client/hud.qc:1994 #, c-format msgid "%s^7 returned the %s\n" msgstr "%s^7 ha fatto ritornare la %s\n" -#: qcsrc/client/hud.qc:1814 +#: qcsrc/client/hud.qc:1997 #, c-format msgid "%s^7 captured the %s%s\n" msgstr "%s^7 ha catturato la %s%s\n" -#: qcsrc/client/hud.qc:1833 +#: qcsrc/client/hud.qc:2016 #, c-format msgid "%s^7 has picked up the ball!\n" msgstr "%s^7 ha raccolto la palla!\n" -#: qcsrc/client/hud.qc:1838 +#: qcsrc/client/hud.qc:2021 #, c-format msgid "%s^7 has dropped the ball!\n" msgstr "%s^7 ha rilasciato la palla!\n" -#: qcsrc/client/hud.qc:1849 +#: qcsrc/client/hud.qc:2032 #, c-format msgid "You are now on: %s" msgstr "Sei ora in: %s" -#: qcsrc/client/hud.qc:1851 +#: qcsrc/client/hud.qc:2034 #, c-format msgid "" "You have been moved into a different team to improve team balance\n" @@ -646,324 +668,324 @@ msgstr "" "delle squadre\n" "Sei ora in: %s" -#: qcsrc/client/hud.qc:1854 +#: qcsrc/client/hud.qc:2037 msgid "^1Reconsider your tactics, camper!" msgstr "^1Riconsidera le tue tattiche, camper!" -#: qcsrc/client/hud.qc:1856 +#: qcsrc/client/hud.qc:2039 msgid "^1Die camper!" msgstr "^1Muori camper!" -#: qcsrc/client/hud.qc:1859 +#: qcsrc/client/hud.qc:2042 msgid "^1You are reinserted into the game for running out of ammo..." msgstr "^1Sei reinserito nel gioco per mancanza di munizioni..." -#: qcsrc/client/hud.qc:1861 +#: qcsrc/client/hud.qc:2044 msgid "^1You were killed for running out of ammo..." msgstr "^1Sei stato ucciso per mancanza di munizioni..." -#: qcsrc/client/hud.qc:1864 +#: qcsrc/client/hud.qc:2047 msgid "^1You need to preserve your health" msgstr "^1Hai bisogno di preservare la tua vita" -#: qcsrc/client/hud.qc:1866 +#: qcsrc/client/hud.qc:2049 msgid "^1You grew too old without taking your medicine" msgstr "^1Sei diventato troppo vecchio senza prendere le tue medicine" -#: qcsrc/client/hud.qc:1869 +#: qcsrc/client/hud.qc:2052 msgid "^1Don't go against team mates!" msgstr "^1Non andare contro i tuoi compagni di squadra!" -#: qcsrc/client/hud.qc:1871 +#: qcsrc/client/hud.qc:2054 msgid "^1Don't shoot your team mates!" msgstr "^1Non sparare ai tuoi compagni di squadra!" -#: qcsrc/client/hud.qc:1876 +#: qcsrc/client/hud.qc:2059 msgid "^1You need to be more careful!" msgstr "^1Hai bisogno di essere più prudente!" -#: qcsrc/client/hud.qc:1878 +#: qcsrc/client/hud.qc:2061 msgid "^1You killed your own dumb self!" msgstr "^1Ti sei ammazzato da solo, stupido!" -#: qcsrc/client/hud.qc:1883 +#: qcsrc/client/hud.qc:2066 #, c-format msgid "^1Moron! You went against ^7%s^1, a team mate!" msgstr "^1Idiota! Sei andato contro ^7%s^1, un compagno di squadra!" -#: qcsrc/client/hud.qc:1885 +#: qcsrc/client/hud.qc:2068 #, c-format msgid "^1Moron! You fragged ^7%s^1, a team mate!" msgstr "^1Idiota! Hai fraggato ^7%s^1, un compagno di squadra!" -#: qcsrc/client/hud.qc:1889 +#: qcsrc/client/hud.qc:2072 msgid "^1First score" msgstr "^1Primo punto" -#: qcsrc/client/hud.qc:1891 +#: qcsrc/client/hud.qc:2074 msgid "^1First blood" msgstr "^1Primo sangue" -#: qcsrc/client/hud.qc:1895 +#: qcsrc/client/hud.qc:2078 msgid "^1First casualty" msgstr "^1Primo incidente" -#: qcsrc/client/hud.qc:1897 +#: qcsrc/client/hud.qc:2080 msgid "^1First victim" msgstr "^1Prima vittima" -#: qcsrc/client/hud.qc:1901 +#: qcsrc/client/hud.qc:2084 #, c-format msgid "^1You scored against ^7%s^1 who was typing!" msgstr "^1Hai segnato contro ^7%s^1 che stava scrivendo!" -#: qcsrc/client/hud.qc:1903 +#: qcsrc/client/hud.qc:2086 #, c-format msgid "^1You typefragged ^7%s" msgstr "^1Hai \"typefraggato\" ^7%s" -#: qcsrc/client/hud.qc:1907 +#: qcsrc/client/hud.qc:2090 #, c-format msgid "^1You were scored against by ^7%s^1 while you were typing!" msgstr "^1Sei stato segnato da ^7%s^1 mentre stavi scrivendo!" -#: qcsrc/client/hud.qc:1909 +#: qcsrc/client/hud.qc:2092 #, c-format msgid "^1You were typefragged by ^7%s" msgstr "^1Sei stato \"typefraggato\" da ^7%s" -#: qcsrc/client/hud.qc:1913 +#: qcsrc/client/hud.qc:2096 #, c-format msgid "^4You scored against ^7%s" msgstr "^4Hai segnato contro ^7%s" -#: qcsrc/client/hud.qc:1915 +#: qcsrc/client/hud.qc:2098 #, c-format msgid "^4You fragged ^7%s" msgstr "^4Hai fraggato ^7%s" -#: qcsrc/client/hud.qc:1919 +#: qcsrc/client/hud.qc:2102 #, c-format msgid "^1You were scored against by ^7%s" msgstr "^1Sei stato segnato da ^7%s" -#: qcsrc/client/hud.qc:1921 +#: qcsrc/client/hud.qc:2104 #, c-format msgid "^1You were fragged by ^7%s" msgstr "^1Sei stato fraggato da ^7%s" -#: qcsrc/client/hud.qc:1926 +#: qcsrc/client/hud.qc:2109 msgid "^1Watch your step!" msgstr "^1Attento a dove metti i piedi!" -#: qcsrc/client/hud.qc:1995 qcsrc/client/hud.qc:1996 qcsrc/client/hud.qc:2481 +#: qcsrc/client/hud.qc:2178 qcsrc/client/hud.qc:2179 qcsrc/client/hud.qc:2685 #, c-format msgid "Player %d" msgstr "Giocatore %d" -#: qcsrc/client/hud.qc:2786 +#: qcsrc/client/hud.qc:2995 msgid "^1Intermediate 1 (+15.42)" msgstr "^1Intermedio 1 (+15.42)" -#: qcsrc/client/hud.qc:2788 qcsrc/client/hud.qc:2830 qcsrc/client/hud.qc:2871 +#: qcsrc/client/hud.qc:2997 qcsrc/client/hud.qc:3039 qcsrc/client/hud.qc:3080 #, c-format msgid "^1PENALTY: %.1f (%s)" msgstr "^1PENALITÀ: %.1f (%s)" -#: qcsrc/client/hud.qc:2873 +#: qcsrc/client/hud.qc:3082 #, c-format msgid "^2PENALTY: %.1f (%s)" msgstr "^2PENALITÀ: %.1f (%s)" -#: qcsrc/client/hud.qc:2901 +#: qcsrc/client/hud.qc:3110 msgid "^1You must answer before entering hud configure mode\n" msgstr "" "^1Devi rispondere prima di entrare nella modalità di configurazione " "dell'HUD\n" -#: qcsrc/client/hud.qc:2904 -msgid "^2Name ^7instead of \"^1Unregistered player^7\" in stats" -msgstr "^2Nome ^7invece di \"^1Giocatore non registrato^7\" nelle statistiche" +#: qcsrc/client/hud.qc:3115 +msgid "^2Name ^7instead of \"^1Anonymous player^7\" in stats" +msgstr "^2Nome ^7invece di \"^1Giocatore anonimo^7\" nelle statistiche" -#: qcsrc/client/hud.qc:2986 +#: qcsrc/client/hud.qc:3197 msgid "A vote has been called for:" msgstr "Un voto è stato chiamato per:" -#: qcsrc/client/hud.qc:2988 +#: qcsrc/client/hud.qc:3199 msgid "Allow servers to store and display your name?" msgstr "Permetti ai server di salvare e visualizzare il tuo nome?" -#: qcsrc/client/hud.qc:2992 +#: qcsrc/client/hud.qc:3203 msgid "^1Configure the HUD" msgstr "^1Configura l'HUD" -#: qcsrc/client/hud.qc:2996 +#: qcsrc/client/hud.qc:3207 #, c-format msgid "Yes (%s): %d" msgstr "Sì (%s): %d" -#: qcsrc/client/hud.qc:2998 +#: qcsrc/client/hud.qc:3209 #, c-format msgid "No (%s): %d" msgstr "No (%s): %d" -#: qcsrc/client/hud.qc:3501 qcsrc/client/hud.qc:3504 qcsrc/client/hud.qc:3506 +#: qcsrc/client/hud.qc:3712 qcsrc/client/hud.qc:3715 qcsrc/client/hud.qc:3717 msgid "Personal best" msgstr "Miglior personale" -#: qcsrc/client/hud.qc:3519 qcsrc/client/hud.qc:3522 qcsrc/client/hud.qc:3524 +#: qcsrc/client/hud.qc:3730 qcsrc/client/hud.qc:3733 qcsrc/client/hud.qc:3735 msgid "Server best" msgstr "Migliori del server" -#: qcsrc/client/hud.qc:3868 +#: qcsrc/client/hud.qc:4081 msgid "^3Player^7: This is the chat area." msgstr "^3Giocatore^7: Questa è l'area della chat." -#: qcsrc/client/hud.qc:3936 +#: qcsrc/client/hud.qc:4149 #, c-format msgid "FPS: %.*f" msgstr "FPS: %.*f" -#: qcsrc/client/hud.qc:4003 +#: qcsrc/client/hud.qc:4216 msgid "^1Observing" msgstr "^1Osservando" -#: qcsrc/client/hud.qc:4005 +#: qcsrc/client/hud.qc:4219 qcsrc/client/hud.qc:4221 #, c-format msgid "^1Spectating: ^7%s" msgstr "^1Assistendo: ^7%s" -#: qcsrc/client/hud.qc:4009 +#: qcsrc/client/hud.qc:4226 #, c-format msgid "^1Press ^3%s^1 to spectate" msgstr "^1Premi ^3%s^1 per assistere" -#: qcsrc/client/hud.qc:4011 +#: qcsrc/client/hud.qc:4228 #, c-format msgid "^1Press ^3%s^1 for another player" msgstr "^1Premi ^3%s^1 per un altro giocatore" -#: qcsrc/client/hud.qc:4015 +#: qcsrc/client/hud.qc:4232 #, c-format msgid "^1Use ^3%s^1 or ^3%s^1 to change the speed" msgstr "^1Usa ^3%s^1 o ^3%s^1 per cambiare velocità" -#: qcsrc/client/hud.qc:4017 +#: qcsrc/client/hud.qc:4234 #, c-format msgid "^1Press ^3%s^1 to observe" msgstr "^1Premi ^3%s^1 per osservare" -#: qcsrc/client/hud.qc:4020 +#: qcsrc/client/hud.qc:4237 #, c-format msgid "^1Press ^3%s^1 for gamemode info" msgstr "^1Premi ^3%s^1 per informazioni sulla modalità di gioco" -#: qcsrc/client/hud.qc:4024 +#: qcsrc/client/hud.qc:4241 msgid "^1Wait for your turn to join" msgstr "^1Attendi il tuo turno per entrare" -#: qcsrc/client/hud.qc:4030 +#: qcsrc/client/hud.qc:4247 msgid "^1Match has already begun" msgstr "^1La partita è già iniziata" -#: qcsrc/client/hud.qc:4032 +#: qcsrc/client/hud.qc:4249 msgid "^1You have no more lives left" msgstr "^1Non hai più vite a disposizione" -#: qcsrc/client/hud.qc:4034 qcsrc/client/hud.qc:4037 +#: qcsrc/client/hud.qc:4251 qcsrc/client/hud.qc:4254 #, c-format msgid "^1Press ^3%s^1 to join" msgstr "^1Premi ^3%s^1 per entrare" -#: qcsrc/client/hud.qc:4045 +#: qcsrc/client/hud.qc:4262 #, c-format msgid "^1Game starts in ^3%d^1 seconds" msgstr "^1La partita inizia tra ^3%d^1 secondi" -#: qcsrc/client/hud.qc:4052 +#: qcsrc/client/hud.qc:4269 msgid "^2Currently in ^1warmup^2 stage!" msgstr "^2Attualmente in ^1warmup^2!" -#: qcsrc/client/hud.qc:4067 +#: qcsrc/client/hud.qc:4284 #, c-format msgid "%sPress ^3%s%s to end warmup" msgstr "%sPremi ^3%s%s per terminare il warmup" -#: qcsrc/client/hud.qc:4069 +#: qcsrc/client/hud.qc:4286 #, c-format msgid "%sPress ^3%s%s once you are ready" msgstr "%sPremi ^3%s%s una volta che sei pronto" -#: qcsrc/client/hud.qc:4074 +#: qcsrc/client/hud.qc:4291 msgid "^2Waiting for others to ready up to end warmup..." msgstr "^2Attendendo che gli altri siano pronti per terminare il warmup..." -#: qcsrc/client/hud.qc:4076 +#: qcsrc/client/hud.qc:4293 msgid "^2Waiting for others to ready up..." msgstr "^2Attendendo che gli altri siano pronti..." -#: qcsrc/client/hud.qc:4082 +#: qcsrc/client/hud.qc:4299 #, c-format msgid "^2Press ^3%s^2 to end warmup" msgstr "^2Premi ^3%s^2 per terminare il warmup" -#: qcsrc/client/hud.qc:4103 +#: qcsrc/client/hud.qc:4320 msgid "Teamnumbers are unbalanced!" msgstr "Numero di giocatori per squadra sbilanciato!" -#: qcsrc/client/hud.qc:4108 +#: qcsrc/client/hud.qc:4325 #, c-format msgid " Press ^3%s%s to adjust" msgstr " Premi ^3%s%s per aggiustare" -#: qcsrc/client/hud.qc:4116 +#: qcsrc/client/hud.qc:4333 msgid "^7Press ^3ESC ^7to show HUD options." msgstr "^7Premi ^3ESC ^7per mostrare le opzioni dell'HUD." -#: qcsrc/client/hud.qc:4118 +#: qcsrc/client/hud.qc:4335 msgid "^3Doubleclick ^7a panel for panel-specific options." msgstr "^3Doppio-click ^7su un pannello per le sue specifiche opzioni." -#: qcsrc/client/hud.qc:4120 +#: qcsrc/client/hud.qc:4337 msgid "^3CTRL ^7to disable collision testing, ^3SHIFT ^7and" msgstr "^3CTRL ^7per disabilitare il test di collisione, ^3SHIFT ^7e" -#: qcsrc/client/hud.qc:4122 +#: qcsrc/client/hud.qc:4339 msgid "^3ALT ^7+ ^3ARROW KEYS ^7for fine adjustments." msgstr "^3ALT ^7+ ^3ARROW KEYS ^7per fini aggiustamenti" -#: qcsrc/client/hud.qc:4160 +#: qcsrc/client/hud.qc:4377 msgid " qu/s" msgstr " qu/s" -#: qcsrc/client/hud.qc:4164 +#: qcsrc/client/hud.qc:4381 msgid " m/s" msgstr " m/s" -#: qcsrc/client/hud.qc:4168 +#: qcsrc/client/hud.qc:4385 msgid " km/h" msgstr " km/h" -#: qcsrc/client/hud.qc:4172 +#: qcsrc/client/hud.qc:4389 msgid " mph" msgstr " mph" -#: qcsrc/client/hud.qc:4176 +#: qcsrc/client/hud.qc:4393 msgid " knots" msgstr " nodi" -#: qcsrc/client/hud.qc:4823 +#: qcsrc/client/hud.qc:5059 msgid "Automatically fixed wrong/missing panel numbers in _hud_panelorder\n" msgstr "" "Corretti automaticamente numeri di pannello sbagliati/mancanti in " "_hud_panelorder\n" -#: qcsrc/client/hud_config.qc:136 +#: qcsrc/client/hud_config.qc:185 #, c-format msgid "^2Successfully exported to %s! (Note: It's saved in data/data/)\n" msgstr "^2Esportato con successo in %s! (nota: E' salvato in data/data/)\n" -#: qcsrc/client/hud_config.qc:140 +#: qcsrc/client/hud_config.qc:189 #, c-format msgid "^1Couldn't write to %s\n" msgstr "^1Impossibile scrivere in %s\n" @@ -977,60 +999,33 @@ msgstr " (1 voto)" msgid " (%d votes)" msgstr " (%d voti)" -#: qcsrc/client/mapvoting.qc:113 +#: qcsrc/client/mapvoting.qc:116 msgid "Don't care" msgstr "Non importa" -#: qcsrc/client/mapvoting.qc:194 +#: qcsrc/client/mapvoting.qc:197 msgid "Vote for a map" msgstr "Vota per una mappa" -#: qcsrc/client/mapvoting.qc:200 +#: qcsrc/client/mapvoting.qc:203 #, c-format msgid "%d seconds left" msgstr "%d secondi rimanenti" -#: 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 "mv_mapdownload: ^3Non avrai creduto di poter usare questo comando!\n" -#: qcsrc/client/mapvoting.qc:273 +#: qcsrc/client/mapvoting.qc:276 msgid "^1Error:^7 Couldn't find pak index.\n" msgstr "^1Errore:^7 Impossibile trovare il pak index.\n" -#: qcsrc/client/mapvoting.qc:282 +#: qcsrc/client/mapvoting.qc:285 msgid "Requesting preview...\n" msgstr "Richiedendo l'anteprima...\n" -#: qcsrc/client/miscfunctions.qc:23 -msgid "^1Begin!" -msgstr "^1Inizia!" - -#: qcsrc/client/miscfunctions.qc:34 -#, c-format -msgid "^1Game starts in %d seconds" -msgstr "^1Il gioco inizia tra %d secondi" - -#: qcsrc/client/miscfunctions.qc:113 -msgid "^1RED^7 flag" -msgstr "^7Bandiera ^1ROSSA" - -#: qcsrc/client/miscfunctions.qc:118 -msgid "^4BLUE^7 flag" -msgstr "^7Bandiera ^4BLU" - -#: qcsrc/client/miscfunctions.qc:126 -#, c-format -msgid "You picked up the %s!" -msgstr "Hai raccolto la %s!" - -#: qcsrc/client/miscfunctions.qc:130 -#, c-format -msgid "You got the %s!" -msgstr "Hai preso la %s!" - -#: qcsrc/client/miscfunctions.qc:283 +#: qcsrc/client/miscfunctions.qc:100 msgid "Trying to remove a team which is not in the teamlist!" msgstr "Tentando di rimuovere una squadra che non è nella lista delle squadre!" @@ -1054,23 +1049,23 @@ msgstr "tempo pp" #: qcsrc/client/scoreboard.qc:21 msgid "SCO^caps" -msgstr "SCO^catture" +msgstr "catture" #: qcsrc/client/scoreboard.qc:22 msgid "SCO^deaths" -msgstr "SCO^morti" +msgstr "morti" #: qcsrc/client/scoreboard.qc:23 msgid "SCO^destroyed" -msgstr "SCO^distrutte" +msgstr "distrutte" #: qcsrc/client/scoreboard.qc:24 msgid "SCO^drops" -msgstr "SCO^cadute" +msgstr "cadute" #: qcsrc/client/scoreboard.qc:25 msgid "SCO^faults" -msgstr "SCO^falli" +msgstr "falli" #: qcsrc/client/scoreboard.qc:26 msgid "SCO^fckills" @@ -1078,7 +1073,7 @@ msgstr "uccisioni pb" #: qcsrc/client/scoreboard.qc:27 msgid "SCO^goals" -msgstr "SCO^gol" +msgstr "gol" #: qcsrc/client/scoreboard.qc:28 msgid "SCO^kckills" @@ -1102,27 +1097,27 @@ msgstr "rum" #: qcsrc/client/scoreboard.qc:33 msgid "SCO^kills" -msgstr "SCO^uccisioni" +msgstr "uccisioni" #: qcsrc/client/scoreboard.qc:34 msgid "SCO^laps" -msgstr "SCO^giri" +msgstr "giri" #: qcsrc/client/scoreboard.qc:35 msgid "SCO^lives" -msgstr "SCO^vite" +msgstr "vite" #: qcsrc/client/scoreboard.qc:36 msgid "SCO^losses" -msgstr "SCO^perdute" +msgstr "perdute" #: qcsrc/client/scoreboard.qc:37 msgid "SCO^name" -msgstr "SCO^nome" +msgstr "nome" #: qcsrc/client/scoreboard.qc:38 msgid "SCO^nick" -msgstr "SCO^nick" +msgstr "nick" #: qcsrc/client/scoreboard.qc:39 msgid "SCO^objectives" @@ -1130,27 +1125,27 @@ msgstr "obiettivi" #: qcsrc/client/scoreboard.qc:40 msgid "SCO^pickups" -msgstr "SCO^raccolte" +msgstr "raccolte" #: qcsrc/client/scoreboard.qc:41 msgid "SCO^ping" -msgstr "SCO^ping" +msgstr "ping" #: qcsrc/client/scoreboard.qc:42 msgid "SCO^pl" -msgstr "SCO^pl" +msgstr "pl" #: qcsrc/client/scoreboard.qc:43 msgid "SCO^pushes" -msgstr "SCO^spinte" +msgstr "spinte" #: qcsrc/client/scoreboard.qc:44 msgid "SCO^rank" -msgstr "SCO^posizione" +msgstr "posizione" #: qcsrc/client/scoreboard.qc:45 msgid "SCO^returns" -msgstr "SCO^ritorni" +msgstr "ritorni" #: qcsrc/client/scoreboard.qc:46 msgid "SCO^revivals" @@ -1158,19 +1153,19 @@ msgstr "ravvivamenti" #: qcsrc/client/scoreboard.qc:47 msgid "SCO^score" -msgstr "SCO^punti" +msgstr "punti" #: qcsrc/client/scoreboard.qc:48 msgid "SCO^suicides" -msgstr "SCO^suicidi" +msgstr "suicidi" #: qcsrc/client/scoreboard.qc:49 msgid "SCO^takes" -msgstr "SCO^presi" +msgstr "presi" #: qcsrc/client/scoreboard.qc:50 msgid "SCO^ticks" -msgstr "SCO^tick" +msgstr "tick" #: qcsrc/client/scoreboard.qc:239 msgid "" @@ -1182,12 +1177,16 @@ msgstr "" msgid "^3|---------------------------------------------------------------|\n" msgstr "^3|---------------------------------------------------------------|\n" +#: qcsrc/client/scoreboard.qc:241 +msgid "Usage:\n" +msgstr "Uso:\n" + #: qcsrc/client/scoreboard.qc:242 msgid "^2scoreboard_columns_set default\n" msgstr "^2scoreboard_columns_set default\n" #: qcsrc/client/scoreboard.qc:243 -msgid "^2scoreboard_columns_set ^7filed1 field2 ...\n" +msgid "^2scoreboard_columns_set ^7field1 field2 ...\n" msgstr "^2scoreboard_columns_set ^7campo1 campo2 ...\n" #: qcsrc/client/scoreboard.qc:244 @@ -1203,8 +1202,8 @@ msgstr "" "\n" #: qcsrc/client/scoreboard.qc:247 -msgid "^3name^7 or ^3nick^7 Name of a player\n" -msgstr "^3name^7 o ^3nick^7 Nome di un giocatore\n" +msgid "^3name^7 or ^3nick^7 Name of a player\n" +msgstr "^3name^7 o ^3nick^7 Nome di un giocatore\n" #: qcsrc/client/scoreboard.qc:248 msgid "^3ping^7 Ping time\n" @@ -1393,7 +1392,7 @@ msgstr "riparato campo mancante '%s'\n" #: qcsrc/client/scoreboard.qc:515 qcsrc/client/scoreboard.qc:522 msgid "N/A" -msgstr "N/D" +msgstr "N.D." #: qcsrc/client/scoreboard.qc:950 #, c-format @@ -1405,58 +1404,66 @@ msgstr "Statistiche precisione (media %d%%)" msgid "%d%%" msgstr "%d%%" -#: qcsrc/client/scoreboard.qc:1075 +#: qcsrc/client/scoreboard.qc:1085 +msgid "Map stats:" +msgstr "Statistiche mappa:" + +#: qcsrc/client/scoreboard.qc:1101 +msgid "Secrets found:" +msgstr "Segreti trovati:" + +#: qcsrc/client/scoreboard.qc:1128 msgid "Rankings" msgstr "Classifica" -#: qcsrc/client/scoreboard.qc:1170 +#: qcsrc/client/scoreboard.qc:1223 msgid "Scoreboard" msgstr "Tabella dei punteggi" -#: qcsrc/client/scoreboard.qc:1215 +#: qcsrc/client/scoreboard.qc:1268 #, c-format msgid "Speed award: %d ^7(%s^7)" msgstr "Velocità migliore: %d ^7(%s^7)" -#: qcsrc/client/scoreboard.qc:1219 +#: qcsrc/client/scoreboard.qc:1272 #, c-format msgid "All-time fastest: %d ^7(%s^7)" msgstr "Tempo più veloce in assoluto: %d ^7(%s^7)" -#: qcsrc/client/scoreboard.qc:1246 qcsrc/client/teamplay.qc:63 +#: qcsrc/client/scoreboard.qc:1305 qcsrc/client/teamplay.qc:63 msgid "Spectators" msgstr "Spettatori" -#: qcsrc/client/scoreboard.qc:1252 +#: qcsrc/client/scoreboard.qc:1311 #, c-format msgid "playing on ^2%s^7" msgstr "giocando in ^2%s^7" -#: qcsrc/client/scoreboard.qc:1259 qcsrc/client/scoreboard.qc:1264 +#: qcsrc/client/scoreboard.qc:1318 qcsrc/client/scoreboard.qc:1323 #, c-format msgid " for up to ^1%1.0f minutes^7" msgstr " fino a ^1%1.0f minuti^7" -#: qcsrc/client/scoreboard.qc:1268 qcsrc/client/scoreboard.qc:1287 +#: qcsrc/client/scoreboard.qc:1327 qcsrc/client/scoreboard.qc:1346 msgid " or" msgstr " o" -#: qcsrc/client/scoreboard.qc:1271 qcsrc/client/scoreboard.qc:1278 +#: qcsrc/client/scoreboard.qc:1330 qcsrc/client/scoreboard.qc:1337 #, c-format msgid " until ^3%s %s^7" msgstr " fino a ^3%s %s^7" -#: qcsrc/client/scoreboard.qc:1272 qcsrc/client/scoreboard.qc:1279 -#: qcsrc/client/scoreboard.qc:1291 qcsrc/client/scoreboard.qc:1298 +#: qcsrc/client/scoreboard.qc:1331 qcsrc/client/scoreboard.qc:1338 +#: qcsrc/client/scoreboard.qc:1350 qcsrc/client/scoreboard.qc:1357 msgid "SCO^points" -msgstr "SCO^punti" +msgstr "punti" -#: qcsrc/client/scoreboard.qc:1273 qcsrc/client/scoreboard.qc:1280 -#: qcsrc/client/scoreboard.qc:1292 qcsrc/client/scoreboard.qc:1299 +#: 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 "SCO^è battuto" +msgstr "è battuto" -#: qcsrc/client/scoreboard.qc:1290 qcsrc/client/scoreboard.qc:1297 +#: qcsrc/client/scoreboard.qc:1349 qcsrc/client/scoreboard.qc:1356 #, c-format msgid " until a lead of ^3%s %s^7" msgstr " fino a che si vince di ^3%s %s^7" @@ -1482,6 +1489,15 @@ msgstr "Team Giallo" msgid "Pink Team" msgstr "Team Rosa" +#: qcsrc/client/tturrets.qc:285 qcsrc/client/waypointsprites.qc:590 +msgid "Spam" +msgstr "Spam" + +#: qcsrc/client/tturrets.qc:294 +#, c-format +msgid "%s under attack!" +msgstr "%s sotto attacco!" + #: qcsrc/client/waypointsprites.qc:254 msgid "Push" msgstr "Spingi" @@ -1508,7 +1524,7 @@ msgstr "Portatore bandiera" #: qcsrc/client/waypointsprites.qc:260 msgid "Dropped flag" -msgstr "Bandiera rilasciata" +msgstr "Bandiera persa" #: qcsrc/client/waypointsprites.qc:261 msgid "Help me!" @@ -1679,20 +1695,85 @@ msgstr "Contrassegnato" msgid "Vehicle" msgstr "Veicolo" -#: qcsrc/client/waypointsprites.qc:590 -msgid "Spam" -msgstr "Spam" - #: qcsrc/client/waypointsprites.qc:594 #, c-format msgid "%s needing help!" msgstr "%s sta chiedendo aiuto!" -#: qcsrc/common/mapinfo.qc:1092 +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "@!#%'n Tuba" + +#: qcsrc/common/mapinfo.qc:1057 #, c-format msgid "%s: %s" msgstr "%s: %s" +#: qcsrc/common/mapinfo.qh:36 +msgid "Deathmatch" +msgstr "Deathmatch" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "Ultimo Uomo Rimasto (LMS)" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Arena" + +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "Runematch" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Corsa" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "Corsa CTS" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "Team Deathmatch" + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Cattura la Bandiera (CTF)" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Clan Arena" + +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Dominazione" + +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Caccia alla Chiave (Key Hunt)" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "Assalto" + +#: qcsrc/common/mapinfo.qh:72 +msgid "Onslaught" +msgstr "Attacco (Onslaught)" + +#: qcsrc/common/mapinfo.qh:75 +msgid "Nexball" +msgstr "Nexball" + +#: qcsrc/common/mapinfo.qh:78 +msgid "Freeze Tag" +msgstr "Congelamento (Freeze Tag)" + +#: qcsrc/common/mapinfo.qh:81 +msgid "Keepaway" +msgstr "Tieni Lontano (Keepaway)" + #: qcsrc/server/w_crylink.qc:666 #, c-format msgid "%s succeeded at self-destructing themself with the Crylink" @@ -1713,120 +1794,120 @@ msgstr "%s era troppo vicino al Crylink di %s" msgid "%s took a close look at %s's Crylink" msgstr "%s ha visto da vicino il Crylink di %s" -#: qcsrc/server/w_electro.qc:574 +#: qcsrc/server/w_electro.qc:589 #, c-format -msgid "%s could not remember where they put plasma" -msgstr "%s non s'è ricordato dove aveva messo il plasma" +msgid "%s could not remember where they put their electro plasma" +msgstr "%s non s'è ricordato dove aveva messo il suo elettroplasma" -#: qcsrc/server/w_electro.qc:576 +#: qcsrc/server/w_electro.qc:591 #, c-format -msgid "%s played with plasma" -msgstr "%s ha giocato col plasma" +msgid "%s played with electro plasma" +msgstr "%s ha giocato con l'elettroplasma" -#: qcsrc/server/w_electro.qc:583 +#: qcsrc/server/w_electro.qc:598 #, c-format -msgid "%s just noticed %s's blue ball" -msgstr "%s ha appena notato la palla blu di %s" +msgid "%s just noticed %s's electro plasma" +msgstr "%s ha appena notato l'elettroplasma di %s" -#: qcsrc/server/w_electro.qc:585 +#: qcsrc/server/w_electro.qc:600 #, c-format -msgid "%s got in touch with %s's blue ball" -msgstr "%s è entrato in contatto con la palla blu di %s" +msgid "%s got in touch with %s's electro plasma" +msgstr "%s è entrato in contatto con l'elettroplasma di %s" -#: qcsrc/server/w_electro.qc:590 +#: qcsrc/server/w_electro.qc:605 #, c-format -msgid "%s felt the electrifying air of %s's combo" -msgstr "%s ha sentito l'aria elettrificata della combo di %s" +msgid "%s felt the electrifying air of %s's electro combo" +msgstr "%s ha sentito l'aria elettrificata dell'elettrocombo di %s" -#: qcsrc/server/w_electro.qc:592 +#: qcsrc/server/w_electro.qc:607 #, c-format -msgid "%s got too close to %s's blue beam" -msgstr "%s s'è avvicinato troppo al raggio blu di %s" +msgid "%s got too close to %s's blue electro bolt" +msgstr "%s s'è avvicinato troppo all'elettrosaetta blu di %s" -#: qcsrc/server/w_electro.qc:594 +#: qcsrc/server/w_electro.qc:609 #, c-format -msgid "%s was blasted by %s's blue beam" -msgstr "%s è stato fatto saltare in aria dal raggio blu di %s" +msgid "%s was blasted by %s's blue electro bolt" +msgstr "%s è stato fatto esplodere dall'elettrosaetta blu di %s" -#: qcsrc/server/w_fireball.qc:417 +#: qcsrc/server/w_fireball.qc:403 #, c-format msgid "%s forgot about some firemine" msgstr "%s s'è dimenticato di alcune mine infuocate" -#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240 +#: qcsrc/server/w_fireball.qc:405 qcsrc/server/w_hlac.qc:240 #, c-format msgid "%s should have used a smaller gun" msgstr "%s avrebbe dovuto usare un'arma più piccola" -#: qcsrc/server/w_fireball.qc:426 +#: qcsrc/server/w_fireball.qc:412 #, c-format msgid "%s tried to catch %s's firemine" msgstr "%s ha provato a catturare la mina infuocata di %s" -#: qcsrc/server/w_fireball.qc:428 +#: qcsrc/server/w_fireball.qc:414 #, c-format msgid "%s fatefully ignored %s's firemine" msgstr "%s ha fatalmente ignorato la mina infuocata di %s" -#: qcsrc/server/w_fireball.qc:435 +#: qcsrc/server/w_fireball.qc:421 #, c-format msgid "%s could not hide from %s's fireball" msgstr "%s non è riuscito a nascondersi dalla fireball di %s" -#: qcsrc/server/w_fireball.qc:437 +#: qcsrc/server/w_fireball.qc:423 #, c-format msgid "%s saw the pretty lights of %s's fireball" msgstr "%s ha visto le belle luci della fireball di %s" -#: qcsrc/server/w_fireball.qc:440 +#: qcsrc/server/w_fireball.qc:426 #, c-format msgid "%s got too close to %s's fireball" msgstr "%s s'è avvicinato troppo alla fireball di %s" -#: qcsrc/server/w_fireball.qc:442 +#: qcsrc/server/w_fireball.qc:428 #, c-format msgid "%s tasted %s's fireball" msgstr "%s ha assaggiato la fireball di %s" -#: qcsrc/server/w_grenadelauncher.qc:383 +#: qcsrc/server/w_grenadelauncher.qc:388 #, c-format -msgid "%s tried out his own grenade" -msgstr "%s ha provato da solo la propria granata" +msgid "%s didn't see their own grenade" +msgstr "%s non ha visto la propria granata" -#: qcsrc/server/w_grenadelauncher.qc:385 +#: qcsrc/server/w_grenadelauncher.qc:390 #, c-format -msgid "%s detonated" -msgstr "%s è detonato" +msgid "%s blew themself up with their grenadelauncher" +msgstr "%s si è fatto esplodere con il proprio grenadelauncher" -#: qcsrc/server/w_grenadelauncher.qc:391 +#: qcsrc/server/w_grenadelauncher.qc:396 #, c-format msgid "%s didn't see %s's grenade" msgstr "%s non ha visto la granata di %s" -#: qcsrc/server/w_grenadelauncher.qc:393 +#: qcsrc/server/w_grenadelauncher.qc:398 #, c-format msgid "%s almost dodged %s's grenade" msgstr "%s ha quasi schivato la granata di %s" -#: qcsrc/server/w_grenadelauncher.qc:395 +#: qcsrc/server/w_grenadelauncher.qc:400 #, c-format msgid "%s ate %s's grenade" msgstr "%s ha mangiato la granata di %s" -#: qcsrc/server/w_hagar.qc:395 qcsrc/server/w_seeker.qc:655 +#: qcsrc/server/w_hagar.qc:462 #, c-format -msgid "%s played with tiny rockets" -msgstr "%s ha giocato con piccoli razzi" +msgid "%s played with tiny hagar rockets" +msgstr "%s ha giocato con piccoli razzi di hagar" -#: qcsrc/server/w_hagar.qc:399 +#: qcsrc/server/w_hagar.qc:466 #, c-format -msgid "%s hoped %s's missiles wouldn't bounce" -msgstr "%s ha sperato che il missile di %s non rimbalzasse" +msgid "%s was pummeled with a burst of hagar rockets by %s" +msgstr "%s è stato preso a pugni con una raffica di razzi di hagar da %s" -#: qcsrc/server/w_hagar.qc:401 qcsrc/server/w_seeker.qc:661 +#: qcsrc/server/w_hagar.qc:468 #, c-format -msgid "%s was pummeled by %s" -msgstr "%s è stato preso a pugni da %s" +msgid "%s was pummeled with hagar rockets by %s" +msgstr "%s è stato preso a pugni con razzi di hagar da %s" #: qcsrc/server/w_hlac.qc:2 msgid "Heavy Laser Assault Cannon" @@ -1834,54 +1915,59 @@ msgstr "Heavy Laser Assault Cannon" #: qcsrc/server/w_hlac.qc:242 #, c-format -msgid "%s was cut down by %s" -msgstr "%s è stato abbattuto da %s" +msgid "%s was cut down with a HLAC by %s" +msgstr "%s è stato abbattuto con un HLAC da %s" #: qcsrc/server/w_hook.qc:2 msgid "Grappling Hook" msgstr "Grappling Hook" -#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296 +#: qcsrc/server/w_hook.qc:286 qcsrc/server/w_porto.qc:386 #, c-format msgid "%s did the impossible" msgstr "%s ha fatto l'impossibile" -#: qcsrc/server/w_hook.qc:268 +#: qcsrc/server/w_hook.qc:288 #, c-format -msgid "%s has run into %s's gravity bomb" -msgstr "%s è corso nella bomba di gravità di %s" +msgid "%s was caught in %s's hook gravity bomb" +msgstr "%s è stato catturato nella bomba di gravità di %s" -#: qcsrc/server/w_laser.qc:311 +#: qcsrc/server/w_laser.qc:312 #, c-format msgid "%s lasered themself to hell" msgstr "%s si è \"laserato\" all'inferno" -#: qcsrc/server/w_laser.qc:315 +#: qcsrc/server/w_laser.qc:316 #, c-format msgid "%s was cut in half by %s's gauntlet" msgstr "%s è stato tagliato a metà dal guanto di %s" -#: qcsrc/server/w_laser.qc:317 +#: qcsrc/server/w_laser.qc:318 #, c-format msgid "%s was lasered to death by %s" msgstr "%s è stato \"laserato\" alla morte da %s" -#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501 +#: qcsrc/server/w_minelayer.qc:533 +#, c-format +msgid "%s blew themself up with their minelayer" +msgstr "%s si è fatto esplodere con il proprio minelayer" + +#: qcsrc/server/w_minelayer.qc:535 #, c-format -msgid "%s exploded" -msgstr "%s è esploso" +msgid "%s forgot about their mine" +msgstr "%s s'è dimenticato della propria mina" -#: qcsrc/server/w_minelayer.qc:527 +#: qcsrc/server/w_minelayer.qc:539 #, c-format msgid "%s got too close to %s's mine" msgstr "%s s'è avvicinato troppo alla mina di %s" -#: qcsrc/server/w_minelayer.qc:529 +#: qcsrc/server/w_minelayer.qc:541 #, c-format msgid "%s almost dodged %s's mine" msgstr "%s ha quasi schivato la mina di %s" -#: qcsrc/server/w_minelayer.qc:531 +#: qcsrc/server/w_minelayer.qc:543 #, c-format msgid "%s stepped on %s's mine" msgstr "%s è passato sopra la mina di %s" @@ -1890,68 +1976,70 @@ msgstr "%s è passato sopra la mina di %s" msgid "MinstaNex" msgstr "MinstaNex" -#: qcsrc/server/w_minstanex.qc:293 qcsrc/server/w_nex.qc:253 -#: qcsrc/server/w_shotgun.qc:215 qcsrc/server/w_uzi.qc:317 +#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:256 +#: qcsrc/server/w_rifle.qc:232 qcsrc/server/w_shotgun.qc:271 +#: qcsrc/server/w_uzi.qc:318 #, c-format msgid "%s is now thinking with portals" msgstr "%s sta ora pensando con i portali" -#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:255 +#: qcsrc/server/w_minstanex.qc:297 #, c-format -msgid "%s has been vaporized by %s" -msgstr "%s è stato vaporizzato da %s" - -#: qcsrc/server/w_porto.qc:298 -#, c-format -msgid "%s felt %s doing the impossible to him" -msgstr "%s ha sentito %s fargli l'impossibile" +msgid "%s has been vaporized by %s's minstanex" +msgstr "%s è stato vaporizzato dal minstanex di %s" -#: qcsrc/server/w_rifle.qc:233 +#: qcsrc/server/w_nex.qc:258 #, c-format -msgid "%s shot themself automatically" -msgstr "%s si è sparato da solo automaticamente" +msgid "%s has been vaporized by %s's nex" +msgstr "%s è stato vaporizzato dal nex di %s" -#: qcsrc/server/w_rifle.qc:235 +#: qcsrc/server/w_porto.qc:388 #, c-format -msgid "%s sniped themself somehow" -msgstr "%s si è fucilato da solo in qualche modo" +msgid "%s felt %s doing the impossible to him" +msgstr "%s ha sentito %s fargli l'impossibile" -#: qcsrc/server/w_rifle.qc:242 +#: qcsrc/server/w_rifle.qc:239 #, c-format -msgid "%s failed to hide from %s's bullet hail" -msgstr "%s non è riuscito a nascondersi dalla raffica di proiettili di %s" +msgid "%s failed to hide from %s's rifle bullet hail" +msgstr "" +"%s non è riuscito a nascondersi dalla pioggia di proiettili di rifle di %s" -#: qcsrc/server/w_rifle.qc:244 +#: qcsrc/server/w_rifle.qc:241 #, c-format -msgid "%s died in %s's bullet hail" -msgstr "%s è morto nella raffica di proiettili di %s" +msgid "%s died in %s's rifle bullet hail" +msgstr "%s è morto nella pioggia di proiettili di rifle di %s" -#: qcsrc/server/w_rifle.qc:251 +#: qcsrc/server/w_rifle.qc:248 #, c-format msgid "%s failed to hide from %s's rifle" msgstr "%s non è riuscito a nascondersi dal fucile di %s" -#: qcsrc/server/w_rifle.qc:256 +#: qcsrc/server/w_rifle.qc:253 #, c-format -msgid "%s got hit in the head by %s" -msgstr "%s ha preso un colpo in testa da %s" +msgid "%s got shot in the head with a rifle by %s" +msgstr "%s è stato colpito in testa con un rifle da %s" -#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321 +#: qcsrc/server/w_rifle.qc:255 #, c-format -msgid "%s was sniped by %s" -msgstr "%s è stato fucilato da %s" +msgid "%s was sniped with a rifle by %s" +msgstr "%s è stato cecchinato con un rifle da %s" -#: qcsrc/server/w_rocketlauncher.qc:505 +#: qcsrc/server/w_rocketlauncher.qc:466 +#, c-format +msgid "%s blew themself up with their rocketlauncher" +msgstr "%s si è fatto esplodere con il proprio rocketlauncher" + +#: qcsrc/server/w_rocketlauncher.qc:470 #, c-format msgid "%s got too close to %s's rocket" msgstr "%s s'è avvicinato troppo al razzo di %s" -#: qcsrc/server/w_rocketlauncher.qc:507 +#: qcsrc/server/w_rocketlauncher.qc:472 #, c-format msgid "%s almost dodged %s's rocket" msgstr "%s ha quasi schivato il razzo di %s" -#: qcsrc/server/w_rocketlauncher.qc:509 +#: qcsrc/server/w_rocketlauncher.qc:474 #, c-format msgid "%s ate %s's rocket" msgstr "%s ha mangiato il razzo di %s" @@ -1960,37 +2048,211 @@ msgstr "%s ha mangiato il razzo di %s" msgid "T.A.G. Seeker" msgstr "T.A.G. Seeker" -#: qcsrc/server/w_seeker.qc:659 +#: qcsrc/server/w_seeker.qc:661 +#, c-format +msgid "%s played with tiny seeker rockets" +msgstr "%s ha giocato con piccoli razzi di seeker" + +#: qcsrc/server/w_seeker.qc:665 +#, c-format +msgid "%s was tagged with a seeker by %s" +msgstr "%s è stato contrassegnato con un seeker da %s" + +#: qcsrc/server/w_seeker.qc:667 #, c-format -msgid "%s was tagged by %s" -msgstr "%s è stato contrassegnato da %s" +msgid "%s was pummeled with seeker rockets by %s" +msgstr "%s è stato preso a pugni con razzi di seeker da %s" -#: qcsrc/server/w_shotgun.qc:219 +#: qcsrc/server/w_shotgun.qc:275 #, c-format -msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" -msgstr "%2$s ^7ha schiaffeggiato %1$s ^7un pò con un grosso ^2shotgun" +msgid "%2$s slapped %1$s around a bit with a large shotgun" +msgstr "%2$s ha schiaffeggiato %1$s un pò con un grosso shotgun" -#: qcsrc/server/w_shotgun.qc:221 +#: qcsrc/server/w_shotgun.qc:277 #, c-format -msgid "%s was gunned by %s" -msgstr "%s è stato sparato da %s" +msgid "%s was gunned down with a shotgun by %s" +msgstr "%s è stato freddato con uno shotgun da %s" #: qcsrc/server/w_tuba.qc:2 #, c-format msgid "@!#%'n Tuba" msgstr "@!#%'n Tuba" -#: qcsrc/server/w_tuba.qc:252 +#: qcsrc/server/w_tuba.qc:444 #, c-format msgid "%s hurt his own ears with the @!#%%'n Tuba" msgstr "%s s'è fatto male alle orecchie con la @!#%%'n Tuba" -#: qcsrc/server/w_tuba.qc:256 +#: qcsrc/server/w_tuba.qc:447 +#, c-format +msgid "%s hurt his own ears with the @!#%%'n Accordeon" +msgstr "%s s'è fatto male alle orecchie con la @!#%%'n Fisarmonica" + +#: qcsrc/server/w_tuba.qc:465 #, c-format msgid "%s died of %s's great playing on the @!#%%'n Tuba" msgstr "%s è morto nella gran esibizione di %s con la @!#%%'n Tuba" -#: qcsrc/server/w_uzi.qc:323 +#: qcsrc/server/w_tuba.qc:468 +#, c-format +msgid "%s died of %s's great playing on the @!#%%'n Accordeon" +msgstr "%s è morto nella gran esibizione di %s con la @!#%%'n Fisarmonica" + +#: qcsrc/server/w_uzi.qc:322 #, c-format -msgid "%s was riddled full of holes by %s" -msgstr "%s è stato riempito di buchi da %s" +msgid "%s was sniped by %s's machine gun" +msgstr "%s è stato cecchinato dalla machine gun di %s" + +#: qcsrc/server/w_uzi.qc:324 +#, c-format +msgid "%s was riddled full of holes by %s's machine gun" +msgstr "%s è stato riempito di buchi dala machine gun di %s" + +#~ msgid "hud_save configname (saves to hud_skinname_configname.cfg)\n" +#~ msgstr "hud_save configname (salva in hud_skinname_configname.cfg)\n" + +#~ msgid "Usage: cl_cmd COMMAND..., where possible commands are:\n" +#~ msgstr "Uso: cl_cmd COMANDO..., dove i possibili comandi sono:\n" + +#~ msgid " settemp cvar value\n" +#~ msgstr " settemp cvar value\n" + +#~ msgid " scoreboard_columns_set ...\n" +#~ msgstr " scoreboard_columns_set ...\n" + +#~ msgid " scoreboard_columns_help\n" +#~ msgstr " scoreboard_columns_help\n" + +#~ msgid "A CSQC entity changed its type! (edict: %d, classname: %s)\n" +#~ msgstr "" +#~ "Un'entity CSQC ha cambiato il suo tipo! (edict: %d, classname: %s)\n" + +#~ msgid "----- Order Menu -----" +#~ msgstr "----- Menu degli ordini -----" + +#~ msgid "Order: %s" +#~ msgstr "Ordine: %s" + +#~ msgid "1) ^3previous page" +#~ msgstr "1) ^3pagina precedente" + +#~ msgid "2) ^3next page" +#~ msgstr "2) ^3pagina successiva" + +#~ msgid "ESC) Exit Menu" +#~ msgstr "ESC) Esci dal menu" + +#~ msgid "Couldn't find player %d\n" +#~ msgstr "Impossibile trovare il giocatore %d\n" + +#~ msgid "----- Command Menu -----" +#~ msgstr "----- Menu dei comandi -----" + +#~ msgid "Issue orders:" +#~ msgstr "Impartisci ordini:" + +#~ msgid " 1) Attack" +#~ msgstr " 1) Attacca" + +#~ msgid " 2) Defend" +#~ msgstr " 2) Difendi" + +#~ msgid "3) Resign from command." +#~ msgstr "3) Dimettiti dal commando." + +#~ msgid "You're commander!" +#~ msgstr "Sei il comandante!" + +#~ msgid "Awaiting orders..." +#~ msgstr "Attendendo ordini..." + +#~ msgid "^1%s^1 was mowed down by a turret \n" +#~ msgstr "^1%s^1 è stato falciato da una torretta \n" + +#~ msgid "^2Name ^7instead of \"^1Unregistered player^7\" in stats" +#~ msgstr "" +#~ "^2Nome ^7invece di \"^1Giocatore non registrato^7\" nelle statistiche" + +#~ msgid "^2scoreboard_columns_set ^7filed1 field2 ...\n" +#~ msgstr "^2scoreboard_columns_set ^7campo1 campo2 ...\n" + +#~ msgid "^3name^7 or ^3nick^7 Name of a player\n" +#~ msgstr "^3name^7 o ^3nick^7 Nome di un giocatore\n" + +#~ msgid "%s could not remember where they put plasma" +#~ msgstr "%s non s'è ricordato dove aveva messo il plasma" + +#~ msgid "%s played with plasma" +#~ msgstr "%s ha giocato col plasma" + +#~ msgid "%s just noticed %s's blue ball" +#~ msgstr "%s ha appena notato la palla blu di %s" + +#~ msgid "%s got in touch with %s's blue ball" +#~ msgstr "%s è entrato in contatto con la palla blu di %s" + +#~ msgid "%s felt the electrifying air of %s's combo" +#~ msgstr "%s ha sentito l'aria elettrificata della combo di %s" + +#~ msgid "%s got too close to %s's blue beam" +#~ msgstr "%s s'è avvicinato troppo al raggio blu di %s" + +#~ msgid "%s was blasted by %s's blue beam" +#~ msgstr "%s è stato fatto saltare in aria dal raggio blu di %s" + +#~ msgid "%s tried out his own grenade" +#~ msgstr "%s ha provato da solo la propria granata" + +#~ msgid "%s detonated" +#~ msgstr "%s è detonato" + +#~ msgid "%s played with tiny rockets" +#~ msgstr "%s ha giocato con piccoli razzi" + +#~ msgid "%s hoped %s's missiles wouldn't bounce" +#~ msgstr "%s ha sperato che il missile di %s non rimbalzasse" + +#~ msgid "%s was pummeled by %s" +#~ msgstr "%s è stato preso a pugni da %s" + +#~ msgid "%s was cut down by %s" +#~ msgstr "%s è stato abbattuto da %s" + +#~ msgid "%s has run into %s's gravity bomb" +#~ msgstr "%s è corso nella bomba di gravità di %s" + +#~ msgid "%s exploded" +#~ msgstr "%s è esploso" + +#~ msgid "%s has been vaporized by %s" +#~ msgstr "%s è stato vaporizzato da %s" + +#~ msgid "%s shot themself automatically" +#~ msgstr "%s si è sparato da solo automaticamente" + +#~ msgid "%s sniped themself somehow" +#~ msgstr "%s si è fucilato da solo in qualche modo" + +#~ msgid "%s failed to hide from %s's bullet hail" +#~ msgstr "%s non è riuscito a nascondersi dalla raffica di proiettili di %s" + +#~ msgid "%s died in %s's bullet hail" +#~ msgstr "%s è morto nella raffica di proiettili di %s" + +#~ msgid "%s got hit in the head by %s" +#~ msgstr "%s ha preso un colpo in testa da %s" + +#~ msgid "%s was sniped by %s" +#~ msgstr "%s è stato fucilato da %s" + +#~ msgid "%s was tagged by %s" +#~ msgstr "%s è stato contrassegnato da %s" + +#~ msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" +#~ msgstr "%2$s ^7ha schiaffeggiato %1$s ^7un pò con un grosso ^2shotgun" + +#~ msgid "%s was gunned by %s" +#~ msgstr "%s è stato sparato da %s" + +#~ msgid "%s was riddled full of holes by %s" +#~ msgstr "%s è stato riempito di buchi da %s" diff --git a/csprogs.dat.pot b/csprogs.dat.pot index 9b009bda1..503b35591 100644 --- a/csprogs.dat.pot +++ b/csprogs.dat.pot @@ -8,7 +8,7 @@ msgid "" 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 \n" "Language-Team: LANGUAGE \n" @@ -17,738 +17,673 @@ msgstr "" "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 @@ -760,29 +695,29 @@ msgstr "" 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 "" @@ -813,6 +748,36 @@ 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 "" @@ -870,988 +835,1009 @@ 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 @@ -1889,116 +1875,169 @@ msgstr "" 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 "" diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index 71e044695..bda516cfc 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -10,7 +10,7 @@ // e.g. Xonotic 1.5.1 RC1 will be 15101 set g_xonoticversion git "Xonotic version (formatted for humans)" -gameversion 500 // 0.5.0 +gameversion 600 // 0.6.0 gameversion_min 0 // git builds see all versions gameversion_max 65535 // git builds see all versions @@ -22,6 +22,10 @@ gameversion_max 65535 // git builds see all versions // 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" @@ -57,124 +61,6 @@ _cl_color 112 _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)" @@ -200,9 +86,11 @@ vid_fullscreen 1 vid_width 1024 vid_height 768 vid_pixelheight 1 -seta menu_vid_width 1024 -seta menu_vid_height 768 -seta menu_vid_pixelheight 1 +prvm_language en +set _menu_prvm_language "" +set _menu_vid_width "$vid_width" +set _menu_vid_height "$vid_height" +set _menu_vid_pixelheight "$vid_pixelheight" seta menu_vid_scale 0 // 2D resolution 800x600 vid_conwidth 800 @@ -218,14 +106,17 @@ r_hdr_glowintensity 1 // these settings determine how much the view is affected by movement/damage cl_smoothviewheight 0.05 // time of the averaging to the viewheight value so that it creates a smooth transition for crouching and such. 0 for instant transition cl_deathfade 0 // fade screen to dark red when dead, value represents how fast the fade is (higher is faster) -cl_bobcycle 0 // how long the cycle of up/down view movement takes (only works if cl_bob is not 0), default is 0.6 -cl_bob 0.01 // how much view moves up/down when moving (does not move if cl_bobcycle is 0, but still enables cl_bobmodel), default is 0.02 -cl_bob2cycle 0 // how long the cycle of left/right view movement takes (only works if cl_bob2 is not 0), default is 0.6 -cl_bob2 0.01 // how much view moves left/right when moving (does not move if cl_bob2cycle is 0), default is 0.01 +cl_bobcycle 0.5 // how long the cycle of up/down view movement takes (only works if cl_bob is not 0), default is 0.6 +cl_bob 0 // how much view moves up/down when moving (does not move if cl_bobcycle is 0, but still enables cl_bobmodel), default is 0.02 +cl_bob2cycle 1 // how long the cycle of left/right view movement takes (only works if cl_bob2 is not 0), default is 0.6 +cl_bob2 0 // how much view moves left/right when moving (does not move if cl_bob2cycle is 0), default is 0.01 cl_bobfall 0.05 "how much the view swings down when falling (influenced by the speed you hit the ground with)" cl_bobfallcycle 3 "speed of the bobfall swing" cl_bobfallspeed 200 "necessary amount of speed for bob-falling to occur" cl_bobmodel 1 // whether to have gun model move around on screen when moving (only works if cl_bob is not 0), default is 1 +cl_bobmodel_side 0.2 // amount the gun sways to the sides +cl_bobmodel_speed 5 // rate at which the gun sways +cl_bobmodel_up 0.1 // amount the gun sways up and down cl_leanmodel 1 // enables weapon leaning effect when looking around cl_leanmodel_side_speed 0.7 "gun leaning sideways speed" cl_leanmodel_side_limit 35 "gun leaning sideways limit" @@ -301,7 +192,7 @@ set g_warmup_allguns 1 "if set players start with all guns in warmup mode" set g_warmup_majority_factor 0.8 "minimum percentage of players ready needed for warmup to end" set g_chat_nospectators 0 "if 0 spec/observer chat is always visible to the player, if 1 it is never visible to players, if 2 it is only visible to players during warmup stage" -set sv_vote_nospectators 0 "if set only players can call a vote (thus spectators and observers can't call a vote)" +set sv_vote_nospectators 0 "Only players can call a vote (thus spectators and observers can't call a vote): 0 = all people can vote, 1 = spectators can vote in warmup stage, 2 = only players can vote (no exceptions)." alias g_tourney "g_tourney_$1" alias g_tourney_1 "g_warmup 1; g_chat_nospectators 2; sv_vote_nospectators 1" @@ -321,17 +212,26 @@ set g_telefrags_teamplay 1 "never telefrag team mates" 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" +set cl_deathglow 0.8 "number of seconds during which dead bodies glow out" set sv_gibhealth 100 "Minus health a dead body must have in order to get gibbed" // fragmessage: This allows extra information to be displayed with the frag centerprints. -set sv_fraginfo_ping 1 "Enable ping display information, 0 = Never display; 1 = Always display (If the player is a bot, it will say bot instead of the ping.)" -set sv_fraginfo_handicap 1 "Enable handicap display information, 0 = Never display; 1 = Only when the player has handicap on; 2 = Always display (Displays Off if off)" -set sv_fraginfo_stats 1 "Enable statistics (health/armor) display information, 0 = Never display; 1 = Always display (Only available for the person who was killed)" -set sv_fraginfo_typefrag 1 "Enable typefrag display information, 0 = Never display; 1 = Always display" +set sv_fraginfo 1 "Enable extra frag message information, 0 = Never display, 1 = Display only in warmup mode; 2 = Always display" +set sv_fraginfo_ping 1 "Enable ping display information, 0 = Never display, 1 = Always display (If the player is a bot, it will say bot instead of the ping.)" +set sv_fraginfo_handicap 1 "Enable handicap display information, 0 = Never display, 1 = Only when the player has handicap on, 2 = Always display (Displays Off if disabled)" +set sv_fraginfo_stats 1 "Enable statistics (health/armor) display information, 0 = Never display, 1 = Always display (Only available for the person who was killed)" // use default physics set sv_friction_on_land 0 @@ -437,6 +337,7 @@ set bot_ai_aimskill_order_filter_5th 0.5 "Movement prediction filter. Used rarel // waypoint editor enable set g_waypointeditor 0 +set g_waypointeditor_auto 0 "Automatically create waypoints for bots while playing; BEWARE, this currently creates too many of them" set bot_ignore_bots 0 "When set, bots don't shoot at other bots" set bot_join_empty 0 "When set, bots also play if no player has joined the server" set bot_vs_human 0 "Bots and humans play in different teams when set. positive values to make an all-bot blue team, set to negative values to make an all-bot red team, the absolute value is the ratio bots vs humans (1 for equal count). Changes will be correctly applied only from the next game" @@ -451,7 +352,6 @@ locs_enable 0 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" @@ -575,6 +475,13 @@ seta g_keyhunt_point_leadlimit -1 "Keyhunt point lead limit overriding the mapin seta g_race_laps_limit -1 "Race laps limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)" seta g_nexball_goallimit -1 "Nexball goal limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)" seta g_nexball_goalleadlimit -1 "Nexball goal lead limit overriding the mapinfo specified one (use 0 to play without limit, and -1 to use the mapinfo's limit)" +seta g_nexball_safepass_maxdist 5000 // Max distance to allow save fassping (0 to turn off safe passing) +seta g_nexball_safepass_turnrate 0.1 // How fast the safe-pass ball can habge direction +seta g_nexball_safepass_holdtime 0.75 // How long to remeber last teammate you pointed at +seta g_nexball_viewmodel_scale 0.25 // How large the ball for the carrier +seta g_nexball_viewmodel_offset "8 8 0" // Where the ball is located on carrier "forward right up" +seta g_nexball_tackling 1 // Allow ball theft? + seta g_ctf_ignore_frags 0 "1: regular frags give no points" @@ -614,6 +521,9 @@ set g_rune_weapon_stay 0 set g_tdm_respawn_delay 0 set g_tdm_respawn_waves 0 set g_tdm_weapon_stay 0 +set g_ka_respawn_delay 0 +set g_ka_respawn_waves 0 +set g_ka_weapon_stay 0 set g_kh_respawn_delay 0 set g_kh_respawn_waves 0 set g_kh_weapon_stay 0 @@ -625,9 +535,9 @@ set g_ca_respawn_waves 0 set g_ca_weapon_stay 0 set g_ca_damage2score_multiplier 0.01 set g_ca_round_timelimit 180 -set g_nexball_respawn_delay 0 -set g_nexball_respawn_waves 0 -set g_nexball_weapon_stay 0 +set g_nb_respawn_delay 0 +set g_nb_respawn_waves 0 +set g_nb_weapon_stay 0 set g_as_respawn_delay 0 set g_as_respawn_waves 0 set g_as_weapon_stay 0 @@ -642,12 +552,9 @@ set g_cts_respawn_delay 0 set g_cts_selfdamage 1 "0 = disable all selfdamage and falldamage in cts" set g_cts_finish_kill_delay 10 "prevent cheating by running back to the start line, and starting out with more speed than otherwise possible" set g_cts_weapon_stay 2 -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_ft_respawn_waves 0 +set g_ft_respawn_delay 0 +set g_ft_weapon_stay 0 // overtime seta timelimit_overtime 2 "duration in minutes of one added overtime, added to the timelimit" @@ -886,9 +793,26 @@ set g_multijump 0 "Number of multiple jumps to allow (jumping again in the air), set g_multijump_add 0 "0 = make the current z velocity equal to jumpvelocity, 1 = add jumpvelocity to the current z velocity" set g_multijump_speed -999999 "Minimum vertical speed a player must have in order to jump again" +set g_throughfloor_debug 0 "enable debugging messages for throughfloor calculations" +set g_throughfloor_damage_max_stddev 2 "Maximum standard deviation for splash damage" +set g_throughfloor_force_max_stddev 10 "Maximum standard deviation for splash force" +set g_throughfloor_min_steps_player 1 "Minimum number of steps for splash damage" +set g_throughfloor_min_steps_other 1 "Minimum number of steps for splash damage" +set g_throughfloor_max_steps_player 100 "Maximum number of steps for splash damage" +set g_throughfloor_max_steps_other 10 "Maximum number of steps for splash damage" +// note: for damage X, 0.25 * ((1-g_throughfloor_damage)*X / g_throughfloor_damage_max_stddev)^2 steps are used +// for these numbers: +// damage 25: 3 +// damage 60: 15 +// damage 80: 25 +// damage 200: 157 +// force 250: 10 +// force 300: 15 +// force 600: 57 + // effects r_glsl_vertextextureblend_usebothalphas 1 // allows to abuse texture blending as detail texture -r_glsl_postprocess 1 +r_glsl_postprocess 0 // but note, hud_postprocessing enables this r_picmipsprites 0 // Xonotic uses sprites that should never be picmipped (team mate, typing, waypoints) r_picmipworld 1 gl_picmip_world 0 @@ -1129,12 +1053,13 @@ set nextmap "" "override the maplist when switching to the next map" set lastlevel "" set quit_when_empty 0 "set to 1, then the server exits when the next level would start but is empty" set quit_and_redirect "" "set to an IP to redirect all players at the end of the match to another server. Set to \"self\" to let all players reconnect at the end of the match (use it to make seamless engine updates)" +set quit_and_redirect_timer 1.5 "set to number of seconds after quit before performing the connect operation of quit_and_redirect" // singleplayer campaign 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" @@ -1337,6 +1262,7 @@ set menu_slowmo 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 @@ -1435,7 +1361,7 @@ set con_completion_vnextmap map set con_completion_vdomap map set con_completion_playermodel models/player/*.iqm -// these non-saved engine cvars shall be savedG +// these non-saved engine cvars shall be saved seta cl_port $cl_port seta r_showsurfaces $r_showsurfaces seta r_ambient $r_ambient @@ -1445,6 +1371,9 @@ seta v_kicktime $v_kicktime 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 +seta net_slist_queriespersecond $net_slist_queriespersecond // ticrate //sys_ticrate 0.0166667 @@ -1541,7 +1470,7 @@ set cl_handicap 1 "the higher, the more damage you will receive (client setting) seta cl_clippedspectating 1 "movement collision for spectators so that you can't pass through walls and such. (client setting) NOTE: reconnect or use sendcvar command to update the choice." -seta cl_autoscreenshot 0 "client option to automatically take a screenshot once the map has ended (see also sv_autoscreenshot)" +seta cl_autoscreenshot 1 "Take a screenshot upon the end of a match... 0 = Disable completely, 1 = Allow sv_autoscreenshot to take a screenshot when requested, 2 = Always take an autoscreenshot anyway." // must be at the bottom of this file: // alias for switching the teamselect menu @@ -1654,14 +1583,16 @@ set cl_effects_lightningarc_branchfactor_add 0.1 set g_hitplots 0 "when set to 1, hitplots are stored by the server to provide a means of proving that a triggerbot was used" seta g_hitplots_individuals "" "the individuals, by IP, that should have their hitplots recorded" -set menu_updatecheck 1 +set menu_updatecheck 1 "check for updates" +set menu_updatecheck_getpacks 1 "get update packs from update server" set bot_navigation_ignoreplayers 0 // FIXME remove this once the issue is solved set bot_sound_monopoly 0 "when enabled, only bots can make any noise" -set sv_loddistance1 1024 -set sv_loddistance2 4096 -seta cl_playerdetailreduction 0 "the higher, the less detailed player models are displayed (LOD)" +set cl_loddistance1 1024 +set cl_loddistance2 3072 +seta cl_playerdetailreduction 1 "the higher, the less detailed player models are displayed (LOD)" +seta cl_modeldetailreduction 1 "the higher, the less detailed certain map models are displayed (LOD)" set g_mapinfo_settemp_acl "+*" "ACL for mapinfo setting cvars" @@ -1682,10 +1613,10 @@ alias cl_hook_gamestart_kh alias cl_hook_gamestart_ons alias cl_hook_gamestart_as alias cl_hook_gamestart_rc -alias cl_hook_gamestart_nexball +alias cl_hook_gamestart_nb alias cl_hook_gamestart_cts alias cl_hook_gamestart_ka -alias cl_hook_gamestart_freezetag +alias cl_hook_gamestart_ft alias cl_hook_gameend alias cl_hook_activeweapon @@ -1704,10 +1635,10 @@ alias sv_hook_gamestart_kh alias sv_hook_gamestart_ons alias sv_hook_gamestart_as alias sv_hook_gamestart_rc -alias sv_hook_gamestart_nexball +alias sv_hook_gamestart_nb alias sv_hook_gamestart_cts alias sv_hook_gamestart_ka -alias sv_hook_gamestart_freezetag +alias sv_hook_gamestart_ft alias sv_hook_gamerestart alias sv_hook_gameend @@ -1715,6 +1646,9 @@ seta cl_casings_maxcount 100 "maximum amount of shell casings (must be at least seta cl_gibs_maxcount 100 "maximum amount of gibs (must be at least 1)" seta cl_vehicle_spiderbot_cross_alpha 0.6 seta cl_vehicle_spiderbot_cross_size 1 +seta cl_vehicles_hudscale 0.5 +seta cl_vehicles_hudalpha 0.75 +seta cl_vehicles_hud_tactical 1 //cl_gunalign calculator seta menu_cl_gunalign 3 "Gun alignment; 1 = center (if allowed by g_shootfromclient) or right, 2 = center (if allowed by g_shootfromclient) or left, 3 = right only, 4 = left only" @@ -1729,6 +1663,7 @@ alias _gunalign_14 "cl_gunalign 3" alias _gunalign_update "_gunalign_$v_flipped$menu_cl_gunalign" set _menu_alpha "" // will be set by menu QC to the current fading of the menu, can be used by CSQC to fade items +set _menu_initialized 0 "is 0 on first menu loading, 1 later" set g_triggerimpulse_accel_power 1 "trigger_impulse accelerator power (applied BEFORE the multiplier)" set g_triggerimpulse_accel_multiplier 1 "trigger_impulse accelerator multiplier (applied AFTER the power)" @@ -1775,6 +1710,7 @@ seta cl_forceplayercolors 0 "make everyone look like your own color (requires se seta cl_forcemyplayermodel "" "set to the model file name you want to show yourself as (requires server to have sv_use_csqc_players 1; does not affect how enemies look with cl_forceplayermodels)" seta cl_forcemyplayerskin 0 "set to the skin number you want to show yourself as (requires server to have sv_use_csqc_players 1; does not affect how enemies look with cl_forceplayermodels)" seta cl_forcemyplayercolors 0 "set to the color value (encoding is same as _cl_color) for your own player model (requires server to have sv_use_csqc_players 1, and is ignored in teamplay; does not affect how enemies look with cl_forceplayermodels)" +seta cl_movement_errorcompensation 1 "try to compensate for prediction errors and reduce preceived lag (requires server to have sv_use_csqc_players 1)" // debug cvars for keyhunt attaching set _angles "0 0 0" @@ -1783,6 +1719,7 @@ set _origin "0 0 0" // campaign internal, set when loading a campaign map1G set _campaign_index "" set _campaign_name "" +set _campaign_testrun 0 "To verify the campaign file, set this to 1, then start the first campaign level from the menu. If you end up in the menu again, it's good, if you get a QC crash, it's bad." // debug set _independent_players 0 "DO NOT TOUCH" @@ -1830,7 +1767,6 @@ cl_decals_newsystem 1 set g_weaponreplace_laser "" set g_weaponreplace_shotgun "" set g_weaponreplace_uzi "" -set g_weaponreplace_minelayer "" set g_weaponreplace_grenadelauncher "" set g_weaponreplace_electro "" set g_weaponreplace_crylink "" @@ -1840,11 +1776,8 @@ set g_weaponreplace_rocketlauncher "" set g_weaponreplace_porto "" set g_weaponreplace_minstanex "" set g_weaponreplace_hook "" -set g_weaponreplace_hlac "" -set g_weaponreplace_rifle "" set g_weaponreplace_tuba "" set g_weaponreplace_fireball "" -set g_weaponreplace_seeker "" set sv_q3acompat_machineshotgunswap 0 "shorthand for swapping uzi and shotgun (for Q3A map compatibility in mapinfo files)" set g_movement_highspeed 1 "movement speed modification factor (only changes movement when above maxspeed)" @@ -1954,6 +1887,15 @@ set g_weapon_charge_colormod_blue_full -1 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" + +// mod names for server browser +// note: the lowest of these that mismatches default is used +set g_mod_physics "" "Current physics config name" +set g_mod_balance "" "Current balance config name" +set g_mod_config "" "Current config mod name" + // session locking locksession 1 @@ -1980,18 +1922,21 @@ snd_identicalsoundrandomization_tics 1 scr_loadingscreen_background 0 scr_loadingscreen_barcolor "0 0.5 1" scr_loadingscreen_barheight 12 -scr_loadingscreen_count 13 +scr_loadingscreen_count 14 +scr_loadingscreen_firstforstartup 1 scr_loadingscreen_scale 999 scr_loadingscreen_scale_base 1 scr_loadingscreen_scale_limit 2 // other config files +exec mutator_new_toys.cfg // run BEFORE balance to make sure balance wins exec balanceXonotic.cfg exec ctfscoring-ai.cfg exec effects-normal.cfg exec physicsX.cfg exec turrets.cfg exec vehicles.cfg +exec crosshairs.cfg // load console command aliases and settings exec commands.cfg @@ -2012,3 +1957,6 @@ if_dedicated set g_start_delay 15 "delay before the game starts, so everyone can // enable menu syncing alias menu_sync "menu_cmd sync" + +set sv_join_notices "" +set sv_join_notices_time 15 diff --git a/demos/the-big-keybench.dem b/demos/the-big-keybench.dem index 6f6acedad..a246b2d3f 100644 Binary files a/demos/the-big-keybench.dem and b/demos/the-big-keybench.dem differ diff --git a/effectinfo.txt b/effectinfo.txt index 0d464f5f7..5e06d075e 100644 --- a/effectinfo.txt +++ b/effectinfo.txt @@ -6686,3 +6686,727 @@ gravity -0.125 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*/ + +// fireflies +// used nowhere in code +effect fireflies +count 1 +bounce -1 +airfriction 5 +time 1 2 +type static +tex 38 38 +color 0xff9600 0xffefb8 +size 2 3 +sizeincrease -0.3 +alpha 256 256 70 +gravity 0 +originoffset 8 8 8 +originjitter 32 32 32 +velocityoffset 2 2 2 +velocityjitter 64 64 64 +//lightradius 50 +//lightradiusfade 50 +//lightcolor 1 0.9 0.7 +//lightshadow 1 diff --git a/effects-high.cfg b/effects-high.cfg index 0e011fe56..0c0954826 100644 --- a/effects-high.cfg +++ b/effects-high.cfg @@ -2,9 +2,10 @@ cl_decals 1 cl_decals_models 0 cl_decals_time 4 cl_particles_quality 1 +cl_damageeffect 1 +cl_playerdetailreduction 0.5 gl_flashblend 0 gl_picmip -1 -gl_texture_anisotropy 16 mod_q3bsp_nolightmaps 0 r_bloom 1 r_coronas 1 @@ -15,9 +16,10 @@ r_depthfirst 2 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 @@ -29,8 +31,6 @@ r_showsurfaces 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 diff --git a/effects-low.cfg b/effects-low.cfg index a9cff5abe..1569bc3df 100644 --- a/effects-low.cfg +++ b/effects-low.cfg @@ -2,9 +2,10 @@ cl_decals 1 cl_decals_models 0 cl_decals_time 2 cl_particles_quality 0.4 +cl_damageeffect 0 +cl_playerdetailreduction 2 gl_flashblend 1 gl_picmip 1 -gl_texture_anisotropy 1 mod_q3bsp_nolightmaps 1 r_bloom 0 r_coronas 1 @@ -16,6 +17,7 @@ r_drawdecals_drawdistance 200 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 @@ -29,8 +31,6 @@ r_showsurfaces 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 diff --git a/effects-med.cfg b/effects-med.cfg index 5be8356e2..0d006a997 100644 --- a/effects-med.cfg +++ b/effects-med.cfg @@ -2,9 +2,10 @@ cl_decals 1 cl_decals_models 0 cl_decals_time 2 cl_particles_quality 1 +cl_damageeffect 0 +cl_playerdetailreduction 1 gl_flashblend 0 gl_picmip 0 -gl_texture_anisotropy 1 mod_q3bsp_nolightmaps 0 r_bloom 0 r_coronas 1 @@ -16,6 +17,7 @@ r_drawdecals_drawdistance 300 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 @@ -29,8 +31,6 @@ r_showsurfaces 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 diff --git a/effects-normal.cfg b/effects-normal.cfg index 0aebfb79d..f421a10ec 100644 --- a/effects-normal.cfg +++ b/effects-normal.cfg @@ -2,9 +2,10 @@ cl_decals 1 cl_decals_models 0 cl_decals_time 2 cl_particles_quality 1 +cl_damageeffect 1 +cl_playerdetailreduction 1 gl_flashblend 0 gl_picmip 0 -gl_texture_anisotropy 1 mod_q3bsp_nolightmaps 0 r_bloom 0 r_coronas 1 @@ -16,6 +17,7 @@ r_drawdecals_drawdistance 300 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 @@ -29,8 +31,6 @@ r_showsurfaces 0 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 diff --git a/effects-omg.cfg b/effects-omg.cfg index 350e9b849..c4a6895ce 100644 --- a/effects-omg.cfg +++ b/effects-omg.cfg @@ -2,9 +2,10 @@ cl_decals 0 cl_decals_models 0 cl_decals_time 2 cl_particles_quality 0.4 +cl_damageeffect 0 +cl_playerdetailreduction 4 gl_flashblend 1 gl_picmip 1337 -gl_texture_anisotropy 1 mod_q3bsp_nolightmaps 1 r_bloom 0 r_coronas 1 @@ -16,6 +17,7 @@ r_drawdecals_drawdistance 100 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 @@ -29,8 +31,6 @@ r_showsurfaces 3 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 diff --git a/effects-ultimate.cfg b/effects-ultimate.cfg index 7e4125bf4..8150ee14c 100644 --- a/effects-ultimate.cfg +++ b/effects-ultimate.cfg @@ -2,9 +2,10 @@ cl_decals 1 cl_decals_models 1 cl_decals_time 10 cl_particles_quality 1 +cl_damageeffect 2 +cl_playerdetailreduction 0 gl_flashblend 0 gl_picmip -1 -gl_texture_anisotropy 16 mod_q3bsp_nolightmaps 0 r_bloom 1 r_coronas 1 @@ -16,8 +17,9 @@ r_drawdecals_drawdistance 500 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 @@ -30,7 +32,5 @@ r_subdivisions_tolerance 1 r_texture_dds_load 0 r_water 1 r_water_resolutionmultiplier 1 -vid_samples 1 -r_viewfbo 2 menu_sync diff --git a/effects-ultra.cfg b/effects-ultra.cfg index 1c9b9db30..f92230f16 100644 --- a/effects-ultra.cfg +++ b/effects-ultra.cfg @@ -1,10 +1,11 @@ cl_decals 1 -cl_decals_models 1 +cl_decals_models 0 cl_decals_time 10 cl_particles_quality 1 +cl_damageeffect 1 +cl_playerdetailreduction 0 gl_flashblend 0 gl_picmip -1 -gl_texture_anisotropy 16 mod_q3bsp_nolightmaps 0 r_bloom 1 r_coronas 1 @@ -16,13 +17,14 @@ r_drawdecals_drawdistance 500 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 @@ -30,7 +32,5 @@ r_subdivisions_tolerance 2 r_texture_dds_load 0 r_water 1 r_water_resolutionmultiplier 0.5 -vid_samples 1 -r_viewfbo 2 menu_sync diff --git a/gfx/hud/default/key_atck.tga b/gfx/hud/default/key_atck.tga new file mode 100644 index 000000000..40a12dc69 Binary files /dev/null and b/gfx/hud/default/key_atck.tga differ diff --git a/gfx/hud/default/key_atck2.tga b/gfx/hud/default/key_atck2.tga new file mode 100644 index 000000000..40a12dc69 Binary files /dev/null and b/gfx/hud/default/key_atck2.tga differ diff --git a/gfx/hud/default/key_atck2_inv.tga b/gfx/hud/default/key_atck2_inv.tga new file mode 100644 index 000000000..c1f6e42a9 Binary files /dev/null and b/gfx/hud/default/key_atck2_inv.tga differ diff --git a/gfx/hud/default/key_atck_inv.tga b/gfx/hud/default/key_atck_inv.tga new file mode 100644 index 000000000..c1f6e42a9 Binary files /dev/null and b/gfx/hud/default/key_atck_inv.tga differ diff --git a/gfx/hud/default/superweapons.tga b/gfx/hud/default/superweapons.tga new file mode 100644 index 000000000..740019e82 Binary files /dev/null and b/gfx/hud/default/superweapons.tga differ diff --git a/gfx/hud/default/weapon_hlacmod_renameit.tga b/gfx/hud/default/weapon_hlacmod_renameit.tga deleted file mode 100644 index 601f3d7aa..000000000 Binary files a/gfx/hud/default/weapon_hlacmod_renameit.tga and /dev/null differ diff --git a/gfx/hud/luminos/weapon_hlacmod_renameit.tga b/gfx/hud/luminos/weapon_hlacmod_renameit.tga deleted file mode 100644 index 601f3d7aa..000000000 Binary files a/gfx/hud/luminos/weapon_hlacmod_renameit.tga and /dev/null differ diff --git a/gfx/hud/old/weapon_hlacmod_renameit.tga b/gfx/hud/old/weapon_hlacmod_renameit.tga deleted file mode 100644 index 503dad91f..000000000 Binary files a/gfx/hud/old/weapon_hlacmod_renameit.tga and /dev/null differ diff --git a/gfx/loading.tga b/gfx/loading.tga index 3b0020261..8f2b06271 100644 Binary files a/gfx/loading.tga and b/gfx/loading.tga differ diff --git a/gfx/loading14.tga b/gfx/loading14.tga new file mode 100644 index 000000000..3b0020261 Binary files /dev/null and b/gfx/loading14.tga differ diff --git a/gfx/m_nomap.jpg b/gfx/m_nomap.jpg deleted file mode 100644 index 79675d690..000000000 Binary files a/gfx/m_nomap.jpg and /dev/null differ diff --git a/gfx/menu/luminos/gametype_arena.tga b/gfx/menu/luminos/gametype_arena.tga new file mode 100644 index 000000000..f49fa28ff Binary files /dev/null and b/gfx/menu/luminos/gametype_arena.tga differ diff --git a/gfx/menu/luminos/gametype_as.tga b/gfx/menu/luminos/gametype_as.tga new file mode 100644 index 000000000..59bdfc1fc Binary files /dev/null and b/gfx/menu/luminos/gametype_as.tga differ diff --git a/gfx/menu/luminos/gametype_ca.tga b/gfx/menu/luminos/gametype_ca.tga new file mode 100644 index 000000000..c82a9929a Binary files /dev/null and b/gfx/menu/luminos/gametype_ca.tga differ diff --git a/gfx/menu/luminos/gametype_ctf.tga b/gfx/menu/luminos/gametype_ctf.tga new file mode 100644 index 000000000..cc3bc7cdf Binary files /dev/null and b/gfx/menu/luminos/gametype_ctf.tga differ diff --git a/gfx/menu/luminos/gametype_cts.tga b/gfx/menu/luminos/gametype_cts.tga new file mode 100644 index 000000000..bc917ecc5 Binary files /dev/null and b/gfx/menu/luminos/gametype_cts.tga differ diff --git a/gfx/menu/luminos/gametype_dm.tga b/gfx/menu/luminos/gametype_dm.tga new file mode 100644 index 000000000..1266f599c Binary files /dev/null and b/gfx/menu/luminos/gametype_dm.tga differ diff --git a/gfx/menu/luminos/gametype_dom.tga b/gfx/menu/luminos/gametype_dom.tga new file mode 100644 index 000000000..f7637f96b Binary files /dev/null and b/gfx/menu/luminos/gametype_dom.tga differ diff --git a/gfx/menu/luminos/gametype_duel.tga b/gfx/menu/luminos/gametype_duel.tga new file mode 100644 index 000000000..03fe067c9 Binary files /dev/null and b/gfx/menu/luminos/gametype_duel.tga differ diff --git a/gfx/menu/luminos/gametype_ft.tga b/gfx/menu/luminos/gametype_ft.tga new file mode 100644 index 000000000..8028b67a7 Binary files /dev/null and b/gfx/menu/luminos/gametype_ft.tga differ diff --git a/gfx/menu/luminos/gametype_ka.tga b/gfx/menu/luminos/gametype_ka.tga new file mode 100644 index 000000000..21e472c01 Binary files /dev/null and b/gfx/menu/luminos/gametype_ka.tga differ diff --git a/gfx/menu/luminos/gametype_kh.tga b/gfx/menu/luminos/gametype_kh.tga new file mode 100644 index 000000000..ca0d2aa05 Binary files /dev/null and b/gfx/menu/luminos/gametype_kh.tga differ diff --git a/gfx/menu/luminos/gametype_lms.tga b/gfx/menu/luminos/gametype_lms.tga new file mode 100644 index 000000000..55496515e Binary files /dev/null and b/gfx/menu/luminos/gametype_lms.tga differ diff --git a/gfx/menu/luminos/gametype_nb.tga b/gfx/menu/luminos/gametype_nb.tga new file mode 100644 index 000000000..b4f7441a7 Binary files /dev/null and b/gfx/menu/luminos/gametype_nb.tga differ diff --git a/gfx/menu/luminos/gametype_ons.tga b/gfx/menu/luminos/gametype_ons.tga new file mode 100644 index 000000000..a2248667a Binary files /dev/null and b/gfx/menu/luminos/gametype_ons.tga differ diff --git a/gfx/menu/luminos/gametype_rc.tga b/gfx/menu/luminos/gametype_rc.tga new file mode 100644 index 000000000..9874c7e85 Binary files /dev/null and b/gfx/menu/luminos/gametype_rc.tga differ diff --git a/gfx/menu/luminos/gametype_rune.tga b/gfx/menu/luminos/gametype_rune.tga new file mode 100644 index 000000000..6906411d3 Binary files /dev/null and b/gfx/menu/luminos/gametype_rune.tga differ diff --git a/gfx/menu/luminos/gametype_tdm.tga b/gfx/menu/luminos/gametype_tdm.tga new file mode 100644 index 000000000..cc0b938d7 Binary files /dev/null and b/gfx/menu/luminos/gametype_tdm.tga differ diff --git a/gfx/menu/luminos/icon_mod_.tga b/gfx/menu/luminos/icon_mod_.tga new file mode 100644 index 000000000..0b31a343d Binary files /dev/null and b/gfx/menu/luminos/icon_mod_.tga differ diff --git a/gfx/menu/luminos/icon_mod_MinstaGib.tga b/gfx/menu/luminos/icon_mod_MinstaGib.tga new file mode 100644 index 000000000..518fd7964 Binary files /dev/null and b/gfx/menu/luminos/icon_mod_MinstaGib.tga differ diff --git a/gfx/menu/luminos/icon_mod_NewToys.tga b/gfx/menu/luminos/icon_mod_NewToys.tga new file mode 100644 index 000000000..cf88f7703 Binary files /dev/null and b/gfx/menu/luminos/icon_mod_NewToys.tga differ diff --git a/gfx/menu/luminos/icon_mod_Overkill.tga b/gfx/menu/luminos/icon_mod_Overkill.tga new file mode 100644 index 000000000..743722ea1 Binary files /dev/null and b/gfx/menu/luminos/icon_mod_Overkill.tga differ diff --git a/gfx/menu/luminos/nopreview_map.tga b/gfx/menu/luminos/nopreview_map.tga new file mode 100644 index 000000000..c4fed58f5 Binary files /dev/null and b/gfx/menu/luminos/nopreview_map.tga differ diff --git a/gfx/menu/luminos/nopreview_menuskin.tga b/gfx/menu/luminos/nopreview_menuskin.tga new file mode 100644 index 000000000..c4fed58f5 Binary files /dev/null and b/gfx/menu/luminos/nopreview_menuskin.tga differ diff --git a/gfx/menu/luminos/nopreview_player.tga b/gfx/menu/luminos/nopreview_player.tga new file mode 100644 index 000000000..c4fed58f5 Binary files /dev/null and b/gfx/menu/luminos/nopreview_player.tga differ diff --git a/gfx/menu/luminos/skinvalues.txt b/gfx/menu/luminos/skinvalues.txt index b4102234a..316ae273f 100755 --- a/gfx/menu/luminos/skinvalues.txt +++ b/gfx/menu/luminos/skinvalues.txt @@ -1,4 +1,4 @@ -title Luminos +title Luminos (default) author sev // Colors: 'Red Green Blue' @@ -23,7 +23,7 @@ MARGIN_COLORPICKER '0 0 0' // uses "border" images // uses "closebutton" images MARGIN_TOP 8 -MARGIN_BOTTOM 8 +MARGIN_BOTTOM 12 MARGIN_LEFT 16 MARGIN_RIGHT 16 MARGIN_COLUMNS 4 @@ -96,8 +96,8 @@ WIDTH_CREDITS 0.5 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' @@ -175,9 +175,13 @@ COLOR_DIALOG_USERBIND '1 1 1' 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 diff --git a/gfx/menu/wickedx/gametype_arena.tga b/gfx/menu/wickedx/gametype_arena.tga new file mode 100644 index 000000000..f49fa28ff Binary files /dev/null and b/gfx/menu/wickedx/gametype_arena.tga differ diff --git a/gfx/menu/wickedx/gametype_as.tga b/gfx/menu/wickedx/gametype_as.tga new file mode 100644 index 000000000..59bdfc1fc Binary files /dev/null and b/gfx/menu/wickedx/gametype_as.tga differ diff --git a/gfx/menu/wickedx/gametype_ca.tga b/gfx/menu/wickedx/gametype_ca.tga new file mode 100644 index 000000000..c82a9929a Binary files /dev/null and b/gfx/menu/wickedx/gametype_ca.tga differ diff --git a/gfx/menu/wickedx/gametype_ctf.tga b/gfx/menu/wickedx/gametype_ctf.tga new file mode 100644 index 000000000..cc3bc7cdf Binary files /dev/null and b/gfx/menu/wickedx/gametype_ctf.tga differ diff --git a/gfx/menu/wickedx/gametype_cts.tga b/gfx/menu/wickedx/gametype_cts.tga new file mode 100644 index 000000000..bc917ecc5 Binary files /dev/null and b/gfx/menu/wickedx/gametype_cts.tga differ diff --git a/gfx/menu/wickedx/gametype_dm.tga b/gfx/menu/wickedx/gametype_dm.tga new file mode 100644 index 000000000..1266f599c Binary files /dev/null and b/gfx/menu/wickedx/gametype_dm.tga differ diff --git a/gfx/menu/wickedx/gametype_dom.tga b/gfx/menu/wickedx/gametype_dom.tga new file mode 100644 index 000000000..f7637f96b Binary files /dev/null and b/gfx/menu/wickedx/gametype_dom.tga differ diff --git a/gfx/menu/wickedx/gametype_duel.tga b/gfx/menu/wickedx/gametype_duel.tga new file mode 100644 index 000000000..03fe067c9 Binary files /dev/null and b/gfx/menu/wickedx/gametype_duel.tga differ diff --git a/gfx/menu/wickedx/gametype_ft.tga b/gfx/menu/wickedx/gametype_ft.tga new file mode 100644 index 000000000..8028b67a7 Binary files /dev/null and b/gfx/menu/wickedx/gametype_ft.tga differ diff --git a/gfx/menu/wickedx/gametype_ka.tga b/gfx/menu/wickedx/gametype_ka.tga new file mode 100644 index 000000000..21e472c01 Binary files /dev/null and b/gfx/menu/wickedx/gametype_ka.tga differ diff --git a/gfx/menu/wickedx/gametype_kh.tga b/gfx/menu/wickedx/gametype_kh.tga new file mode 100644 index 000000000..ca0d2aa05 Binary files /dev/null and b/gfx/menu/wickedx/gametype_kh.tga differ diff --git a/gfx/menu/wickedx/gametype_lms.tga b/gfx/menu/wickedx/gametype_lms.tga new file mode 100644 index 000000000..55496515e Binary files /dev/null and b/gfx/menu/wickedx/gametype_lms.tga differ diff --git a/gfx/menu/wickedx/gametype_nb.tga b/gfx/menu/wickedx/gametype_nb.tga new file mode 100644 index 000000000..b4f7441a7 Binary files /dev/null and b/gfx/menu/wickedx/gametype_nb.tga differ diff --git a/gfx/menu/wickedx/gametype_ons.tga b/gfx/menu/wickedx/gametype_ons.tga new file mode 100644 index 000000000..a2248667a Binary files /dev/null and b/gfx/menu/wickedx/gametype_ons.tga differ diff --git a/gfx/menu/wickedx/gametype_rc.tga b/gfx/menu/wickedx/gametype_rc.tga new file mode 100644 index 000000000..9874c7e85 Binary files /dev/null and b/gfx/menu/wickedx/gametype_rc.tga differ diff --git a/gfx/menu/wickedx/gametype_rune.tga b/gfx/menu/wickedx/gametype_rune.tga new file mode 100644 index 000000000..6906411d3 Binary files /dev/null and b/gfx/menu/wickedx/gametype_rune.tga differ diff --git a/gfx/menu/wickedx/gametype_tdm.tga b/gfx/menu/wickedx/gametype_tdm.tga new file mode 100644 index 000000000..cc0b938d7 Binary files /dev/null and b/gfx/menu/wickedx/gametype_tdm.tga differ diff --git a/gfx/menu/wickedx/icon_mod_.tga b/gfx/menu/wickedx/icon_mod_.tga new file mode 100644 index 000000000..0b31a343d Binary files /dev/null and b/gfx/menu/wickedx/icon_mod_.tga differ diff --git a/gfx/menu/wickedx/icon_mod_MinstaGib.tga b/gfx/menu/wickedx/icon_mod_MinstaGib.tga new file mode 100644 index 000000000..518fd7964 Binary files /dev/null and b/gfx/menu/wickedx/icon_mod_MinstaGib.tga differ diff --git a/gfx/menu/wickedx/icon_mod_NewToys.tga b/gfx/menu/wickedx/icon_mod_NewToys.tga new file mode 100644 index 000000000..cf88f7703 Binary files /dev/null and b/gfx/menu/wickedx/icon_mod_NewToys.tga differ diff --git a/gfx/menu/wickedx/icon_mod_Overkill.tga b/gfx/menu/wickedx/icon_mod_Overkill.tga new file mode 100644 index 000000000..743722ea1 Binary files /dev/null and b/gfx/menu/wickedx/icon_mod_Overkill.tga differ diff --git a/gfx/menu/wickedx/nopreview_map.tga b/gfx/menu/wickedx/nopreview_map.tga new file mode 100644 index 000000000..2fc5c5db9 Binary files /dev/null and b/gfx/menu/wickedx/nopreview_map.tga differ diff --git a/gfx/menu/wickedx/nopreview_menuskin.tga b/gfx/menu/wickedx/nopreview_menuskin.tga new file mode 100644 index 000000000..2fc5c5db9 Binary files /dev/null and b/gfx/menu/wickedx/nopreview_menuskin.tga differ diff --git a/gfx/menu/wickedx/nopreview_player.tga b/gfx/menu/wickedx/nopreview_player.tga new file mode 100644 index 000000000..2fc5c5db9 Binary files /dev/null and b/gfx/menu/wickedx/nopreview_player.tga differ diff --git a/gfx/menu/wickedx/skinvalues.txt b/gfx/menu/wickedx/skinvalues.txt index d6b7197a1..3259d7122 100755 --- a/gfx/menu/wickedx/skinvalues.txt +++ b/gfx/menu/wickedx/skinvalues.txt @@ -1,4 +1,4 @@ -title Default // "WickedX" +title WickedX author sev // Colors: 'Red Green Blue' @@ -23,7 +23,7 @@ MARGIN_COLORPICKER '0 0 0' // uses "border" images // uses "closebutton" images MARGIN_TOP 8 -MARGIN_BOTTOM 8 +MARGIN_BOTTOM 12 MARGIN_LEFT 16 MARGIN_RIGHT 16 MARGIN_COLUMNS 4 @@ -96,8 +96,8 @@ WIDTH_CREDITS 0.5 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' @@ -175,9 +175,13 @@ COLOR_DIALOG_USERBIND '1 1 1' 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 diff --git a/gfx/menu/xaw/gametype_arena.tga b/gfx/menu/xaw/gametype_arena.tga new file mode 100644 index 000000000..ca720bc72 Binary files /dev/null and b/gfx/menu/xaw/gametype_arena.tga differ diff --git a/gfx/menu/xaw/gametype_as.tga b/gfx/menu/xaw/gametype_as.tga new file mode 100644 index 000000000..750c43f59 Binary files /dev/null and b/gfx/menu/xaw/gametype_as.tga differ diff --git a/gfx/menu/xaw/gametype_ca.tga b/gfx/menu/xaw/gametype_ca.tga new file mode 100644 index 000000000..9275e2de2 Binary files /dev/null and b/gfx/menu/xaw/gametype_ca.tga differ diff --git a/gfx/menu/xaw/gametype_ctf.tga b/gfx/menu/xaw/gametype_ctf.tga new file mode 100644 index 000000000..99499fec4 Binary files /dev/null and b/gfx/menu/xaw/gametype_ctf.tga differ diff --git a/gfx/menu/xaw/gametype_cts.tga b/gfx/menu/xaw/gametype_cts.tga new file mode 100644 index 000000000..ae241c599 Binary files /dev/null and b/gfx/menu/xaw/gametype_cts.tga differ diff --git a/gfx/menu/xaw/gametype_dm.tga b/gfx/menu/xaw/gametype_dm.tga new file mode 100644 index 000000000..97783352d Binary files /dev/null and b/gfx/menu/xaw/gametype_dm.tga differ diff --git a/gfx/menu/xaw/gametype_dom.tga b/gfx/menu/xaw/gametype_dom.tga new file mode 100644 index 000000000..5663a2755 Binary files /dev/null and b/gfx/menu/xaw/gametype_dom.tga differ diff --git a/gfx/menu/xaw/gametype_duel.tga b/gfx/menu/xaw/gametype_duel.tga new file mode 100644 index 000000000..2e0cac09b Binary files /dev/null and b/gfx/menu/xaw/gametype_duel.tga differ diff --git a/gfx/menu/xaw/gametype_ft.tga b/gfx/menu/xaw/gametype_ft.tga new file mode 100644 index 000000000..cfcea617d Binary files /dev/null and b/gfx/menu/xaw/gametype_ft.tga differ diff --git a/gfx/menu/xaw/gametype_ka.tga b/gfx/menu/xaw/gametype_ka.tga new file mode 100644 index 000000000..c65ffba71 Binary files /dev/null and b/gfx/menu/xaw/gametype_ka.tga differ diff --git a/gfx/menu/xaw/gametype_kh.tga b/gfx/menu/xaw/gametype_kh.tga new file mode 100644 index 000000000..e44ade005 Binary files /dev/null and b/gfx/menu/xaw/gametype_kh.tga differ diff --git a/gfx/menu/xaw/gametype_lms.tga b/gfx/menu/xaw/gametype_lms.tga new file mode 100644 index 000000000..c7324141f Binary files /dev/null and b/gfx/menu/xaw/gametype_lms.tga differ diff --git a/gfx/menu/xaw/gametype_nb.tga b/gfx/menu/xaw/gametype_nb.tga new file mode 100644 index 000000000..fa4bf496c Binary files /dev/null and b/gfx/menu/xaw/gametype_nb.tga differ diff --git a/gfx/menu/xaw/gametype_ons.tga b/gfx/menu/xaw/gametype_ons.tga new file mode 100644 index 000000000..e1e00cf1b Binary files /dev/null and b/gfx/menu/xaw/gametype_ons.tga differ diff --git a/gfx/menu/xaw/gametype_rc.tga b/gfx/menu/xaw/gametype_rc.tga new file mode 100644 index 000000000..4500c0fc1 Binary files /dev/null and b/gfx/menu/xaw/gametype_rc.tga differ diff --git a/gfx/menu/xaw/gametype_rune.tga b/gfx/menu/xaw/gametype_rune.tga new file mode 100644 index 000000000..79c8f30b0 Binary files /dev/null and b/gfx/menu/xaw/gametype_rune.tga differ diff --git a/gfx/menu/xaw/gametype_tdm.tga b/gfx/menu/xaw/gametype_tdm.tga new file mode 100644 index 000000000..e20b7fa7c Binary files /dev/null and b/gfx/menu/xaw/gametype_tdm.tga differ diff --git a/gfx/menu/xaw/icon_mod_.tga b/gfx/menu/xaw/icon_mod_.tga new file mode 100644 index 000000000..0b31a343d Binary files /dev/null and b/gfx/menu/xaw/icon_mod_.tga differ diff --git a/gfx/menu/xaw/icon_mod_MinstaGib.tga b/gfx/menu/xaw/icon_mod_MinstaGib.tga new file mode 100644 index 000000000..518fd7964 Binary files /dev/null and b/gfx/menu/xaw/icon_mod_MinstaGib.tga differ diff --git a/gfx/menu/xaw/icon_mod_NewToys.tga b/gfx/menu/xaw/icon_mod_NewToys.tga new file mode 100644 index 000000000..cf88f7703 Binary files /dev/null and b/gfx/menu/xaw/icon_mod_NewToys.tga differ diff --git a/gfx/menu/xaw/icon_mod_Overkill.tga b/gfx/menu/xaw/icon_mod_Overkill.tga new file mode 100644 index 000000000..743722ea1 Binary files /dev/null and b/gfx/menu/xaw/icon_mod_Overkill.tga differ diff --git a/gfx/menu/xaw/nopreview_map.tga b/gfx/menu/xaw/nopreview_map.tga new file mode 100644 index 000000000..7b0151021 Binary files /dev/null and b/gfx/menu/xaw/nopreview_map.tga differ diff --git a/gfx/menu/xaw/nopreview_menuskin.tga b/gfx/menu/xaw/nopreview_menuskin.tga new file mode 100644 index 000000000..7b0151021 Binary files /dev/null and b/gfx/menu/xaw/nopreview_menuskin.tga differ diff --git a/gfx/menu/xaw/nopreview_player.tga b/gfx/menu/xaw/nopreview_player.tga new file mode 100644 index 000000000..7b0151021 Binary files /dev/null and b/gfx/menu/xaw/nopreview_player.tga differ diff --git a/gfx/menu/xaw/skinvalues.txt b/gfx/menu/xaw/skinvalues.txt index 5afcb09cf..36db25d5c 100644 --- a/gfx/menu/xaw/skinvalues.txt +++ b/gfx/menu/xaw/skinvalues.txt @@ -30,9 +30,13 @@ COLOR_DIALOG_USERBIND '1 1 1' 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!) @@ -95,8 +99,8 @@ COLOR_CREDITS_FUNCTION '0 0 0' 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 @@ -105,14 +109,14 @@ WIDTH_CREDITS 0.75 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 diff --git a/gfx/vehicles/vth-mover.tga b/gfx/vehicles/vth-mover.tga new file mode 100644 index 000000000..d831896ff Binary files /dev/null and b/gfx/vehicles/vth-mover.tga differ diff --git a/gfx/vehicles/vth-stationary.tga b/gfx/vehicles/vth-stationary.tga new file mode 100644 index 000000000..31703bcfe Binary files /dev/null and b/gfx/vehicles/vth-stationary.tga differ diff --git a/hud_luminos.cfg b/hud_luminos.cfg index c80001557..ad32b87db 100644 --- a/hud_luminos.cfg +++ b/hud_luminos.cfg @@ -14,6 +14,7 @@ seta hud_dock_alpha "1" seta hud_progressbar_alpha "0.500000" seta hud_progressbar_strength_color "0 0 0.6" +seta hud_progressbar_superweapons_color "0.6 0.3 0" seta hud_progressbar_shield_color "0.6 0 0.6" seta hud_progressbar_health_color "0.6 0 0" seta hud_progressbar_armor_color "0 0.6 0" @@ -86,6 +87,7 @@ seta hud_panel_powerups_baralign "3" seta hud_panel_powerups_progressbar "1" seta hud_panel_powerups_progressbar_strength "progressbar" seta hud_panel_powerups_progressbar_shield "progressbar" +seta hud_panel_powerups_progressbar_superweapons "progressbar" seta hud_panel_powerups_text "1" seta hud_panel_healtharmor 1 @@ -171,9 +173,9 @@ seta hud_panel_racetimer_bg_border "" seta hud_panel_racetimer_bg_padding "" seta hud_panel_vote 1 -seta hud_panel_vote_pos "0.710000 0.660000" -seta hud_panel_vote_size "0.210000 0.100000" -seta hud_panel_vote_bg "" +seta hud_panel_vote_pos "0.720000 0.670000" +seta hud_panel_vote_size "0.190000 0.090000" +seta hud_panel_vote_bg "border_vote" seta hud_panel_vote_bg_color "" seta hud_panel_vote_bg_color_team "" seta hud_panel_vote_bg_alpha "" @@ -202,6 +204,7 @@ seta hud_panel_pressedkeys_bg_alpha "" seta hud_panel_pressedkeys_bg_border "" seta hud_panel_pressedkeys_bg_padding "" seta hud_panel_pressedkeys_aspect "1.600000" +seta hud_panel_pressedkeys_attack "0" seta hud_panel_chat 1 seta hud_panel_chat_pos "0.010000 0.700000" @@ -256,8 +259,11 @@ seta hud_panel_physics_acceleration_vertical "0" seta hud_panel_physics_flip "0" seta hud_panel_physics_baralign "0" seta hud_panel_physics_progressbar "1" -seta hud_panel_physics_acceleration_mode "0" +seta hud_panel_physics_acceleration_progressbar_mode "0" +seta hud_panel_physics_acceleration_progressbar_scale "1" +seta hud_panel_physics_acceleration_progressbar_nonlinear "0" seta hud_panel_physics_text "1" +seta hud_panel_physics_text_scale "0.7" seta hud_panel_centerprint 1 seta hud_panel_centerprint_pos "0.175000 0.220000" diff --git a/hud_luminos_minimal.cfg b/hud_luminos_minimal.cfg index c0c5ea871..3999b8d8f 100644 --- a/hud_luminos_minimal.cfg +++ b/hud_luminos_minimal.cfg @@ -14,6 +14,7 @@ seta hud_dock_alpha "1" seta hud_progressbar_alpha "0.500000" seta hud_progressbar_strength_color "0 0 0.6" +seta hud_progressbar_superweapons_color "0.6 0.3 0" seta hud_progressbar_shield_color "0.6 0 0.6" seta hud_progressbar_health_color "0.6 0 0" seta hud_progressbar_armor_color "0 0.6 0" @@ -86,6 +87,7 @@ seta hud_panel_powerups_baralign "1" seta hud_panel_powerups_progressbar "1" seta hud_panel_powerups_progressbar_strength "progressbar" seta hud_panel_powerups_progressbar_shield "progressbar" +seta hud_panel_powerups_progressbar_superweapons "progressbar" seta hud_panel_powerups_text "1" seta hud_panel_healtharmor 1 @@ -202,6 +204,7 @@ seta hud_panel_pressedkeys_bg_alpha "" seta hud_panel_pressedkeys_bg_border "" seta hud_panel_pressedkeys_bg_padding "" seta hud_panel_pressedkeys_aspect "1.600000" +seta hud_panel_pressedkeys_attack "0" seta hud_panel_chat 1 seta hud_panel_chat_pos "0 0.775000" @@ -256,8 +259,11 @@ seta hud_panel_physics_acceleration_vertical "0" seta hud_panel_physics_flip "0" seta hud_panel_physics_baralign "0" seta hud_panel_physics_progressbar "3" -seta hud_panel_physics_acceleration_mode "0" +seta hud_panel_physics_acceleration_progressbar_mode "0" +seta hud_panel_physics_acceleration_progressbar_scale "1" +seta hud_panel_physics_acceleration_progressbar_nonlinear "0" seta hud_panel_physics_text "1" +seta hud_panel_physics_text_scale "0.7" seta hud_panel_centerprint 1 seta hud_panel_centerprint_pos "0.175000 0.220000" diff --git a/hud_luminos_minimal_xhair.cfg b/hud_luminos_minimal_xhair.cfg index 17bc72cd9..cd6ed7d91 100644 --- a/hud_luminos_minimal_xhair.cfg +++ b/hud_luminos_minimal_xhair.cfg @@ -14,6 +14,7 @@ seta hud_dock_alpha "1" seta hud_progressbar_alpha "0.3" seta hud_progressbar_strength_color "0 0 0.6" +seta hud_progressbar_superweapons_color "0.6 0.3 0" seta hud_progressbar_shield_color "0.6 0 0.6" seta hud_progressbar_health_color "0.6 0 0" seta hud_progressbar_armor_color "0 0.6 0" @@ -86,6 +87,7 @@ seta hud_panel_powerups_baralign "1" seta hud_panel_powerups_progressbar "1" seta hud_panel_powerups_progressbar_strength "progressbar" seta hud_panel_powerups_progressbar_shield "progressbar" +seta hud_panel_powerups_progressbar_superweapons "progressbar" seta hud_panel_powerups_text "1" seta hud_panel_healtharmor 1 @@ -202,6 +204,7 @@ seta hud_panel_pressedkeys_bg_alpha "" seta hud_panel_pressedkeys_bg_border "" seta hud_panel_pressedkeys_bg_padding "" seta hud_panel_pressedkeys_aspect "1.600000" +seta hud_panel_pressedkeys_attack "0" seta hud_panel_chat 1 seta hud_panel_chat_pos "0 0.775000" @@ -256,8 +259,11 @@ seta hud_panel_physics_acceleration_vertical "0" seta hud_panel_physics_flip "0" seta hud_panel_physics_baralign "0" seta hud_panel_physics_progressbar "3" -seta hud_panel_physics_acceleration_mode "0" +seta hud_panel_physics_acceleration_progressbar_mode "0" +seta hud_panel_physics_acceleration_progressbar_scale "1" +seta hud_panel_physics_acceleration_progressbar_nonlinear "0" seta hud_panel_physics_text "1" +seta hud_panel_physics_text_scale "0.7" seta hud_panel_centerprint 1 seta hud_panel_centerprint_pos "0.175000 0.220000" diff --git a/hud_luminos_old.cfg b/hud_luminos_old.cfg index 4fc14af05..e30558007 100644 --- a/hud_luminos_old.cfg +++ b/hud_luminos_old.cfg @@ -14,6 +14,7 @@ seta hud_dock_alpha "1" seta hud_progressbar_alpha "0.500000" seta hud_progressbar_strength_color "0 0 0.6" +seta hud_progressbar_superweapons_color "0.6 0.3 0" seta hud_progressbar_shield_color "0.6 0 0.6" seta hud_progressbar_health_color "0.6 0 0" seta hud_progressbar_armor_color "0 0.6 0" @@ -86,6 +87,7 @@ seta hud_panel_powerups_baralign "3" seta hud_panel_powerups_progressbar "1" seta hud_panel_powerups_progressbar_strength "progressbar" seta hud_panel_powerups_progressbar_shield "progressbar" +seta hud_panel_powerups_progressbar_superweapons "progressbar" seta hud_panel_powerups_text "1" seta hud_panel_healtharmor 1 @@ -202,6 +204,7 @@ seta hud_panel_pressedkeys_bg_alpha "" seta hud_panel_pressedkeys_bg_border "" seta hud_panel_pressedkeys_bg_padding "" seta hud_panel_pressedkeys_aspect "1.600000" +seta hud_panel_pressedkeys_attack "0" seta hud_panel_chat 1 seta hud_panel_chat_pos "0.020000 0.780000" @@ -256,8 +259,11 @@ seta hud_panel_physics_acceleration_vertical "0" seta hud_panel_physics_flip "0" seta hud_panel_physics_baralign "0" seta hud_panel_physics_progressbar "1" -seta hud_panel_physics_acceleration_mode "0" +seta hud_panel_physics_acceleration_progressbar_mode "0" +seta hud_panel_physics_acceleration_progressbar_scale "1" +seta hud_panel_physics_acceleration_progressbar_nonlinear "0" seta hud_panel_physics_text "1" +seta hud_panel_physics_text_scale "0.7" seta hud_panel_centerprint 1 seta hud_panel_centerprint_pos "0.175000 0.220000" diff --git a/hud_nexuiz.cfg b/hud_nexuiz.cfg index 3617db57e..5f0fcfaa2 100644 --- a/hud_nexuiz.cfg +++ b/hud_nexuiz.cfg @@ -14,6 +14,7 @@ seta hud_dock_alpha "0.700000" seta hud_progressbar_alpha "0.5" seta hud_progressbar_strength_color "0 0 0.6" +seta hud_progressbar_superweapons_color "0.6 0.3 0" seta hud_progressbar_shield_color "0.6 0 0.6" seta hud_progressbar_health_color "0.6 0 0" seta hud_progressbar_armor_color "0 0.6 0" @@ -86,6 +87,7 @@ seta hud_panel_powerups_baralign "0" seta hud_panel_powerups_progressbar "0" seta hud_panel_powerups_progressbar_strength "progressbar" seta hud_panel_powerups_progressbar_shield "progressbar" +seta hud_panel_powerups_progressbar_superweapons "progressbar" seta hud_panel_powerups_text "1" seta hud_panel_healtharmor 1 @@ -108,7 +110,7 @@ seta hud_panel_healtharmor_progressbar_gfx_smooth "2" seta hud_panel_healtharmor_text "1" seta hud_panel_notify 0 -seta hud_panel_notify_pos "0 0.650000" +seta hud_panel_notify_pos "0.010000 0.650000" seta hud_panel_notify_size "0.300000 0.070000" seta hud_panel_notify_bg "0" seta hud_panel_notify_bg_color "" @@ -202,6 +204,7 @@ seta hud_panel_pressedkeys_bg_alpha "" seta hud_panel_pressedkeys_bg_border "" seta hud_panel_pressedkeys_bg_padding "" seta hud_panel_pressedkeys_aspect "1.600000" +seta hud_panel_pressedkeys_attack "0" seta hud_panel_chat 1 seta hud_panel_chat_pos "0 0.760000" @@ -226,7 +229,7 @@ seta hud_panel_engineinfo_framecounter_time "0.1" seta hud_panel_engineinfo_framecounter_decimals "0" seta hud_panel_infomessages 1 -seta hud_panel_infomessages_pos "0.700000 0.620000" +seta hud_panel_infomessages_pos "0.690000 0.620000" seta hud_panel_infomessages_size "0.300000 0.100000" seta hud_panel_infomessages_bg "0" seta hud_panel_infomessages_bg_color "" @@ -245,19 +248,22 @@ seta hud_panel_physics_bg_color_team "" seta hud_panel_physics_bg_alpha "" seta hud_panel_physics_bg_border "" seta hud_panel_physics_bg_padding "" -seta hud_panel_physics_speed_unit "3" -seta hud_panel_physics_speed_unit_show "1" +seta hud_panel_physics_speed_unit "1" +seta hud_panel_physics_speed_unit_show "0" seta hud_panel_physics_speed_max "1800" seta hud_panel_physics_speed_vertical "0" -seta hud_panel_physics_topspeed "1" +seta hud_panel_physics_topspeed "0" seta hud_panel_physics_topspeed_time "4" seta hud_panel_physics_acceleration_max "1.5" seta hud_panel_physics_acceleration_vertical "0" seta hud_panel_physics_flip "0" seta hud_panel_physics_baralign "0" seta hud_panel_physics_progressbar "3" -seta hud_panel_physics_acceleration_mode "0" -seta hud_panel_physics_text "1" +seta hud_panel_physics_acceleration_progressbar_mode "0" +seta hud_panel_physics_acceleration_progressbar_scale "4" +seta hud_panel_physics_acceleration_progressbar_nonlinear "0" +seta hud_panel_physics_text "2" +seta hud_panel_physics_text_scale "1" seta hud_panel_centerprint 1 seta hud_panel_centerprint_pos "0.175000 0.260000" diff --git a/input-rtlights.cfg b/input-rtlights.cfg new file mode 100644 index 000000000..fbeba74f0 --- /dev/null +++ b/input-rtlights.cfg @@ -0,0 +1,59 @@ +// small big dark bright -red +red -green +green -blue +blue higher +// 1 2 3 4 5 6 7 8 9 0 Page ^ +// +// spawn ^ remove static style style style style style style lower +// Q W E R T Y U I O P Page v +// +// < v > style style style style style style save north +// A S D F G H J K L ENTER ^ +// +// copy paste fine coarse west south east +// Z X C V B N M , . < v > + +in_bind 6 q "r_editlights_spawn" +in_bind 6 e "r_editlights_remove" + +in_bind 6 1 "r_editlights_edit radiusscale 0.8" +in_bind 6 2 "r_editlights_edit radiusscale 1.25" +in_bind 6 3 "r_editlights_edit colorscale 0.8" +in_bind 6 4 "r_editlights_edit colorscale 1.25" +in_bind 6 5 "r_editlights_edit colorscale 0.8 1 1" +in_bind 6 6 "r_editlights_edit colorscale 1.25 1 1" +in_bind 6 7 "r_editlights_edit colorscale 1 0.8 1" +in_bind 6 8 "r_editlights_edit colorscale 1 1.25 1" +in_bind 6 9 "r_editlights_edit colorscale 1 1 0.8" +in_bind 6 0 "r_editlights_edit colorscale 1 1 1.25" + +in_bind 6 r "r_editlights_edit style 0" +in_bind 6 t "r_editlights_edit style 1" +in_bind 6 y "r_editlights_edit style 2" +in_bind 6 z "r_editlights_edit style 2" +in_bind 6 u "r_editlights_edit style 3" +in_bind 6 i "r_editlights_edit style 4" +in_bind 6 o "r_editlights_edit style 5" +in_bind 6 p "r_editlights_edit style 6" +in_bind 6 f "r_editlights_edit style 7" +in_bind 6 g "r_editlights_edit style 8" +in_bind 6 h "r_editlights_edit style 8" +in_bind 6 j "r_editlights_edit style 9" +in_bind 6 k "r_editlights_edit style 10" +in_bind 6 l "r_editlights_edit style 11" + +in_bind 6 c "r_editlights_copyinfo" +in_bind 6 v "r_editlights_pasteinfo" + +in_bind 6 enter "r_editlights_save" + +set editlights_step 1 +in_bind 6 , "editlights_step 1; echo Using small steps" +in_bind 6 . "editlights_step 8; echo Using large steps" +in_bind 6 uparrow "r_editlights_edit move 0 $editlights_step 0" +in_bind 6 downarrow "r_editlights_edit move 0 -$editlights_step 0" +in_bind 6 leftarrow "r_editlights_edit move -$editlights_step 0 0" +in_bind 6 rightarrow "r_editlights_edit move $editlights_step 0 0" +in_bind 6 pgdn "r_editlights_edit move 0 0 -$editlights_step" +in_bind 6 pgup "r_editlights_edit move 0 0 $editlights_step" + +r_shadow_realtime_world 1 +r_editlights 1 +in_bindmap 6 0 diff --git a/keybinds.txt b/keybinds.txt index 5cba08f70..22f021434 100644 --- a/keybinds.txt +++ b/keybinds.txt @@ -47,7 +47,7 @@ "+show_info" "server info" "toggleconsole" "enter console" "disconnect" "disconnect" -"quit" "quit" +"menu_showquitdialog" "quit" "" "" "" "Teamplay" "messagemode2" "team chat" diff --git a/keybinds.txt.de b/keybinds.txt.de index 6f2c78b51..2aac70080 100644 --- a/keybinds.txt.de +++ b/keybinds.txt.de @@ -17,22 +17,23 @@ "weaplast" "zuletzt benutzte" "weapbest" "beste" "reload" "nachladen" -"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 / MinstaNex / Rifle" -"impulse 8" "Hagar / Seeker" -"impulse 9" "Rocket Launcher / Fireball" -"impulse 14" "Port-O-Launch / Hook" +"weapon_group_1" "Laser" +"weapon_group_2" "Schrotgewehr" +"weapon_group_3" "Maschinengewehr" +"weapon_group_4" "Mortar / Mine Layer" +"weapon_group_5" "Electro" +"weapon_group_6" "Crylink / HLAC" +"weapon_group_7" "Nex / Gewehr" +"weapon_group_8" "Hagar / Seeker" +"weapon_group_9" "Rocket Launcher / Fireball" +"weapon_group_0" "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" @@ -46,15 +47,17 @@ "+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" diff --git a/keybinds.txt.es b/keybinds.txt.es index e92f03b80..55c82cd3f 100644 --- a/keybinds.txt.es +++ b/keybinds.txt.es @@ -17,22 +17,23 @@ "weaplast" "anteriormente usado" "weapbest" "mejor" "reload" "recargar" -"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 / MinstaNex / Rifle" -"impulse 8" "Hagar / Seeker" -"impulse 9" "Rocket Launcher / Fireball" -"impulse 14" "Port-O-Launch / Hook" +"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" "" "" "" "Vista" "+zoom" "mantener zoom" "togglezoom" "cambiar zoom" "+showscores" "mostrar puntaje" "screenshot" "captura de pantalla" +"+hud_panel_radar_maximized" "maximize radar (FIXME)" "" "" "" "Communicación" "messagemode" "chat público" @@ -46,15 +47,17 @@ "+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" "team_auto" "unirse al equipo automáticamente" "menu_showteamselect" "menu de equipo" +"menu_showsandboxtools" "sandbox menu (FIXME)" "spec" "entrar al modo espectador" "dropweapon" "soltar arma" "+use" "soltar llave / soltar bandera" +"+button8" "drag object (FIXME)" "" "" "" "Definido por el usuario" "+userbind 1" "$userbind1" diff --git a/keybinds.txt.fr b/keybinds.txt.fr index c5cb242b1..4693e3868 100644 --- a/keybinds.txt.fr +++ b/keybinds.txt.fr @@ -17,22 +17,23 @@ "weaplast" "dernière utilisée" "weapbest" "meilleure arme" "reload" "recharger" -"impulse 1" "laser" -"impulse 2" "shotgun" -"impulse 3" "machine gun / rifle" -"impulse 4" "mortar" -"impulse 5" "electro" -"impulse 6" "crylink / hlac" -"impulse 7" "nex / minstanex" -"impulse 8" "hagar" -"impulse 9" "rocket launcher / fireball" -"impulse 14" "porto / hook" +"weapon_group_1" "laser" +"weapon_group_2" "shotgun" +"weapon_group_3" "machine gun / rifle" +"weapon_group_4" "mortar" +"weapon_group_5" "electro" +"weapon_group_6" "crylink / hlac" +"weapon_group_7" "nex / minstanex" +"weapon_group_8" "hagar" +"weapon_group_9" "rocket launcher / fireball" +"weapon_group_0" "porto / hook" "" "" "" "Vue" "+zoom" "zoom clic enfoncé" "togglezoom" "zoom 2 clics" "+showscores" "montrer les scores (enfoncé)" "screenshot" "capture d'écran" +"+hud_panel_radar_maximized" "maximize radar (FIXME)" "" "" "" "Communiquer" "messagemode" "chat public" @@ -46,15 +47,17 @@ "+show_info" "information serveur" "toggleconsole" "ouvrir la console" "disconnect" "se déconnecter" -"quit" "quitter" +"menu_showquitdialog" "quitter" "" "" "" "Équipe" "messagemode2" "chat d'équipe" "team_auto" "auto-joindre une équipe" "menu_showteamselect" "séléction d'équipe" +"menu_showsandboxtools" "sandbox menu (FIXME)" "spec" "mode spectateur" "dropweapon" "lâcher l'arme" "+use" "lâcher la clé / lâcher le drapeau" +"+button8" "drag object (FIXME)" "" "" "" "Utilisateur" "+userbind 1" "$userbind1" diff --git a/keybinds.txt.hu b/keybinds.txt.hu index d20eec65d..74d96470b 100644 --- a/keybinds.txt.hu +++ b/keybinds.txt.hu @@ -23,7 +23,7 @@ "weapon_group_4" "Mortar / Aknavető" "weapon_group_5" "Electro" "weapon_group_6" "Crylink / HLAC" -"weapon_group_7" "Nex / MinstaNex / Puska" +"weapon_group_7" "Nex / Puska" "weapon_group_8" "Hagar / Seeker" "weapon_group_9" "Rakétavető / Tűzlabda" "weapon_group_0" "Port-O-Launch / Kampó" @@ -33,6 +33,7 @@ "togglezoom" "nagyítás váltás" "+showscores" "pontszámok" "screenshot" "kép mentés" +"+hud_panel_radar_maximized" "maximize radar (FIXME)" "" "" "" "Kommunikáció" "messagemode" "nyilvános beszélgetés" @@ -44,17 +45,19 @@ "" "" "" "Kliens" "+show_info" "kiszolgáló info" -"toggleconsole" "konzolba lépés" +"toggleconsole" "belépés a konzolba" "disconnect" "lekapcsolodás" -"quit" "kilépés" +"menu_showquitdialog" "kilépés" "" "" "" "Csapatjáték" "messagemode2" "csapat beszélgetés" "team_auto" "automatikus csapatválasztás" "menu_showteamselect" "csapat menü" -"spec" "belépés néző módba" +"menu_showsandboxtools" "sandbox menu (FIXME)" +"spec" "néző módba váltás" "dropweapon" "fegyver eldobás" -"+use" "kulcs / zászló eldobás" +"+use" "zászló eldobás, kiszállás" +"+button8" "drag object" "" "" "" "Felhasználói hozzárendelések" "+userbind 1" "$userbind1" diff --git a/keybinds.txt.it b/keybinds.txt.it index 82baa6e53..87d784029 100644 --- a/keybinds.txt.it +++ b/keybinds.txt.it @@ -3,36 +3,37 @@ "+back" "indietro" "+moveleft" "a sinistra" "+moveright" "a destra" -"+jump" "salta / nuota" -"+crouch" "accovacciarsi / abbassarsi" -"+hook" "uncino / jet pack" +"+jump" "salta / risalire in acqua" +"+crouch" "abbassarsi / scendere in acqua" +"+hook" "off-hand hook / jet pack" "" "" "" "Attacco" "+fire" "fuoco primario" "+fire2" "fuoco secondario" "" "" "" "Cambio d'arma" -"weapprev" "arma precedente" -"weapnext" "arma successiva" -"weaplast" "ultima arma usata" -"weapbest" "miglior arma" +"weapprev" "precedente" +"weapnext" "successiva" +"weaplast" "ultima usata" +"weapbest" "migliore" "reload" "ricarica" -"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 / MinstaNex / Fucile" -"impulse 8" "Hagar / Seeker" -"impulse 9" "Rocket Launcher / Fireball" -"impulse 14" "Port-O-Launch / Hook" +"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" "" "" "" "Vista" "+zoom" "tieni zoom" "togglezoom" "attiva/disattiva zoom" -"+showscores" "mostra punteggio" +"+showscores" "mostra punteggi" "screenshot" "cattura schermata" +"+hud_panel_radar_maximized" "massimizza radar" "" "" "" "Comunicazione" "messagemode" "chat pubblica" @@ -46,15 +47,17 @@ "+show_info" "info del server" "toggleconsole" "apri console" "disconnect" "disconnetti" -"quit" "esci" +"menu_showquitdialog" "esci" "" "" -"" "Teamplay" +"" "Gioco a squadre" "messagemode2" "chat di squadra" -"team_auto" "auto-unisciti ad una squadra" -"menu_showteamselect" "selezione della squadra" -"spec" "entra in modalità spettatore" -"dropweapon" "rilascia arma" -"+use" "rilascia chiave / rilascia bandiera" +"team_auto" "auto-scegli squadra" +"menu_showteamselect" "menu scelta squadra" +"menu_showsandboxtools" "menu sandbox" +"spec" "modalità spettatore" +"dropweapon" "abbandona arma" +"+use" "abbandona chiave / bandiera" +"+button8" "trascina oggetto" "" "" "" "Definiti dall'utente" "+userbind 1" "$userbind1" diff --git a/keybinds.txt.ru b/keybinds.txt.ru index ed46d02f1..4d4221a20 100644 --- a/keybinds.txt.ru +++ b/keybinds.txt.ru @@ -17,22 +17,23 @@ "weaplast" "ранее использованное" "weapbest" "лучшее" "reload" "перезарядить" -"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 / MinstaNex / Rifle" -"impulse 8" "Hagar / Seeker" -"impulse 9" "Rocket Launcher / Fireball" -"impulse 14" "Port-O-Launch / Hook" +"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" "" "" "" "Вид" "+zoom" "увеличение" "togglezoom" "переключить увеличение" "+showscores" "показать очки" "screenshot" "снимок экрана" +"+hud_panel_radar_maximized" "maximize radar (FIXME)" "" "" "" "Общение" "messagemode" "общий чат" @@ -46,15 +47,17 @@ "+show_info" "сведения о сервере" "toggleconsole" "открыть консоль" "disconnect" "отключиться" -"quit" "выйти" +"menu_showquitdialog" "выйти" "" "" "" "Командная игра" "messagemode2" "чат команды" "team_auto" "авто-выбор команды" "menu_showteamselect" "меню команды" +"menu_showsandboxtools" "sandbox menu (FIXME)" "spec" "стать наблюдателем" "dropweapon" "бросить оружие" "+use" "бросить ключ или флаг" +"+button8" "drag object" "" "" "" "Определенно пользователем" "+userbind 1" "$userbind1" diff --git a/keybinds.txt.uk b/keybinds.txt.uk index 2772c16bd..02b4e579b 100644 --- a/keybinds.txt.uk +++ b/keybinds.txt.uk @@ -23,7 +23,7 @@ "weapon_group_4" "Мортира / Міноукладчик" "weapon_group_5" "Електро" "weapon_group_6" "Крайлінк / ВЛШГ" -"weapon_group_7" "Некс / МінстаНекс / Гвинтівка" +"weapon_group_7" "Некс / Гвинтівка" "weapon_group_8" "Хейгар / Шукач" "weapon_group_9" "Ракетна гармата / Метеор" "weapon_group_0" "Портал-О-Пуск / Гак" @@ -33,6 +33,7 @@ "togglezoom" "увімк / вимк зум" "+showscores" "показати рахунок" "screenshot" "скриншот" +"+hud_panel_radar_maximized" "maximize radar (FIXME)" "" "" "" "Спілкування" "messagemode" "публічний чат" @@ -46,15 +47,17 @@ "+show_info" "відомості про сервер" "toggleconsole" "увійти в консоль" "disconnect" "роз'єднатися" -"quit" "вийти" +"menu_showquitdialog" "вийти" "" "" "" "Командна гра" "messagemode2" "командний чат" "team_auto" "автовибір команди" "menu_showteamselect" "командне меню" +"menu_showsandboxtools" "sandbox menu (FIXME)" "spec" "увійти в режим спостерігача" "dropweapon" "викинути зброю" "+use" "викинути ключ / прапор" +"+button8" "drag object" "" "" "" "Визначені користувачем" "+userbind 1" "$userbind1" diff --git a/languages.txt b/languages.txt index 0551db878..9be33b849 100644 --- a/languages.txt +++ b/languages.txt @@ -1,7 +1,7 @@ de German "Deutsch" -el Greek "Ελληνική" +el Greek "Ελληνική (INCOMPLETE)" en English "English" -es Spanish "Español" +es Spanish "Español (INCOMPLETE)" fr French "Français" it Italian "Italiano" hu Hungarian "Magyar" diff --git a/menu.dat.de.po b/menu.dat.de.po index 9951f0cab..36bbe62c8 100644 --- a/menu.dat.de.po +++ b/menu.dat.de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1preview\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: 2011-04-20 10:46+0200\n" "Last-Translator: Rudolf Polzer \n" "Language-Team: Rudolf Polzer \n" @@ -16,33 +16,102 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: qcsrc/common/mapinfo.qc:1097 qcsrc/menu/xonotic/skinlist.c:163 +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "@!#%'n Tuba-Werfen" + +#: 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 "Deathmatch" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "Last Man Standing" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Arena" + +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "Runematch" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Race" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "Race CTS" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "Team Deathmatch" + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Capture The Flag" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Clan Arena" + +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Domination" + +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Key Hunt" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "Assault" + +#: 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 "Keepaway" + +#: qcsrc/menu/command/menu_cmd.qc:41 #, c-format msgid "error: status is %d\n" msgstr "Fehler: Status ist %d\n" -#: qcsrc/menu/gamecommand.qc:70 +#: qcsrc/menu/command/menu_cmd.qc:64 msgid "Usage: menu_cmd command..., where possible commands are:\n" msgstr "Syntax: menu_cmd Befehl..., wobei mögliche Befehle sind:\n" -#: qcsrc/menu/gamecommand.qc:71 +#: qcsrc/menu/command/menu_cmd.qc:65 msgid " sync - reloads all cvars on the current menu page\n" msgstr " sync - lädt alle Variablen auf der aktuellen Menüseite neu\n" -#: qcsrc/menu/gamecommand.qc:72 +#: qcsrc/menu/command/menu_cmd.qc:66 msgid " directmenu ITEM - select a menu item as main item\n" msgstr " directmenu ELEMENT - springt zu einem Menüelement" -#: qcsrc/menu/gamecommand.qc:185 +#: qcsrc/menu/command/menu_cmd.qc:179 msgid "error creating curl handle\n" msgstr "Fehler beim Erstellen eines curl-Handles\n" -#: qcsrc/menu/gamecommand.qc:192 +#: qcsrc/menu/command/menu_cmd.qc:186 msgid "Invalid command. For a list of supported commands, try menu_cmd help.\n" msgstr "" "Ungültiger Befehl. Eine Liste der unterstützten Befehle wird von menu_cmd " @@ -78,12 +147,12 @@ msgstr "benutzerdefiniert" msgid "^4MQC Build information: ^1%s\n" msgstr "^4MQC Build-Information: ^1%s (deutsch)\n" -#: qcsrc/menu/xonotic/campaign.c:284 +#: 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 "Level %d: %s" @@ -115,10 +184,13 @@ msgstr "Entwickler" #: qcsrc/menu/xonotic/dialog_credits.c:21 #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82 #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:277 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:35 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:57 +#: 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:61 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:73 #: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21 msgid "OK" msgstr "OK" @@ -127,7 +199,7 @@ msgstr "OK" msgid "Welcome" msgstr "Willkommen" -#: 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 " @@ -137,18 +209,34 @@ msgstr "" "Spielernamens kann es losgehen. Diese Optionen können natürlich später im " "Menüsystem geändert werden." -#: qcsrc/menu/xonotic/dialog_firstrun.c:38 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 -msgid "Text language:" -msgstr "Sprache:" - -#: 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 "Name:" -#: 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 "Sprache:" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:77 +msgid "Allow player statistics to use your nickname at stats.xonotic.org?" +msgstr "Spielerstatistik-Servern erlauben, den Spielernamen zu verwenden?" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:81 +msgid "ALWU2N^Yes" +msgstr "Ja" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:82 +msgid "ALWU2N^No" +msgstr "Nein" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:83 +msgid "ALWU2N^Undecided" +msgstr "Später fragen" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:87 msgid "Save settings" msgstr "Einstellungen speichern" @@ -207,7 +295,7 @@ msgid "Text alignment:" msgstr "Textausrichtung:" #: 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 "Mittig" @@ -351,12 +439,12 @@ msgid "Status bar" msgstr "Statusleiste" #: 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 "Links" #: 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 "Rechts" @@ -373,6 +461,7 @@ msgid "Flip speed/acceleration positions" msgstr "Geschwindigkeit/Beschleunigung tauschen" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:29 msgid "Speed:" msgstr "Geschwindigkeit:" @@ -464,8 +553,8 @@ msgstr "Radar:" #: 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:156 -#: qcsrc/menu/xonotic/util.qc:623 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:66 +#: qcsrc/menu/xonotic/util.qc:655 msgid "Alpha:" msgstr "Alpha:" @@ -494,6 +583,7 @@ msgid "North" msgstr "Nord" #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61 msgid "Scale:" msgstr "Skalierung:" @@ -530,7 +620,6 @@ msgid "Rankings:" msgstr "Platzierungen:" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:60 msgid "Off" msgstr "Aus" @@ -647,24 +736,24 @@ msgstr "HUD-Konfiguration" msgid "Panel background defaults:" msgstr "Panel-Standardhintergrund:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 qcsrc/menu/xonotic/util.qc:598 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 qcsrc/menu/xonotic/util.qc:630 msgid "Background:" msgstr "Hintergrund:" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:25 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:37 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:52 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:601 -#: qcsrc/menu/xonotic/util.qc:617 qcsrc/menu/xonotic/util.qc:634 +#: 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 "Aus" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:606 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:638 msgid "Color:" msgstr "Farbe:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:614 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:646 msgid "Border size:" msgstr "Rahmengröße:" @@ -673,11 +762,11 @@ msgstr "Rahmengröße:" msgid "Team color:" msgstr "Teamfarbe:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:640 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:672 msgid "Test team color in configure mode" msgstr "Teamfarbe bei Konfiguration testen" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:643 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:675 msgid "Padding:" msgstr "Abstand:" @@ -751,128 +840,123 @@ msgstr "Spieler-Einstellungen" msgid "Game type:" msgstr "Spieltyp" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46 -msgid "Match settings:" -msgstr "Spieleinstellungen:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48 msgid "Time limit:" msgstr "Zeitlimit:" -#: 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 "Standardwert der Map verwenden" -#: 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 "Punktelimit" +msgstr "Punktelimit:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63 msgid "Player slots:" msgstr "Spielerplätze:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66 msgid "Number of bots:" msgstr "Anzahl Bots:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69 msgid "Bot skill:" msgstr "Spielstärke:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72 msgid "Botlike" msgstr "Bots halt" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73 msgid "Beginner" msgstr "Anfänger" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 msgid "You will win" msgstr "Gewinnst schon" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 msgid "You can win" msgstr "Kannst gewinnen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 msgid "You might win" msgstr "Könntest gewinnen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 msgid "Advanced" msgstr "Fortgeschritten" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 msgid "Expert" msgstr "Experte" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 msgid "Pro" msgstr "Profi" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 msgid "Assassin" msgstr "Mörder" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 msgid "Unhuman" msgstr "Übermenschlich" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 msgid "Godlike" msgstr "Gottgleich" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:88 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87 msgid "Mutators..." msgstr "Mutators..." -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:97 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:68 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:145 msgid "Advanced settings..." msgstr "Erweiterte Einstellungen..." -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103 msgid "Map list:" msgstr "Mapliste:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109 msgid "Select all" msgstr "Alle auswählen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112 msgid "Select none" msgstr "Keine auswählen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118 msgid "Start Multiplayer!" msgstr "Starten!" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153 msgid "Capture limit:" msgstr "Capture-Limit:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157 msgid "Lives:" msgstr "Leben:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 msgid "Laps:" msgstr "Runden:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 msgid "Goals:" msgstr "Tore:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163 msgid "Frag limit:" msgstr "Punktelimit:" @@ -882,7 +966,7 @@ msgstr "Erweiterte Servereinstellungen" #: 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" @@ -976,28 +1060,28 @@ msgstr "mit Waffen" msgid "MinstaGib only" msgstr "nur MinstaGib" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81 msgid "Title:" msgstr "Titel:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87 msgid "Author:" msgstr "Autor:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93 msgid "Features:" msgstr "Features:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98 msgid "Game types:" msgstr "Spieltyp:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:118 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:317 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335 msgid "Close" msgstr "Schließen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124 msgid "MAP^Play" msgstr "Start" @@ -1131,7 +1215,7 @@ msgstr "mit Laser" #: 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" @@ -1142,26 +1226,26 @@ msgid "Demo" msgstr "Demo" #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 -msgid "Record demos while playing" +msgid "Automatically record demos while playing" msgstr "Demo beim Spielen aufnehmen" -#: 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 "Filter:" -#: 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 "Löschen" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45 msgid "Timedemo" msgstr "Timedemo" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48 msgid "DEMO^Play" msgstr "Abspielen" @@ -1182,6 +1266,7 @@ msgid "Pause" msgstr "Pause" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 msgid "Address:" msgstr "Adresse:" @@ -1190,7 +1275,7 @@ msgid "Info..." msgstr "Info..." #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:320 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:342 msgid "Join!" msgstr "Verbinden!" @@ -1198,311 +1283,500 @@ msgstr "Verbinden!" msgid "Server Information" msgstr "Server-Information" -#: 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 +#: 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_multiplayer_join_serverinfo.c:161 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:179 #, c-format -msgid "%d/%d, %d free player slots" -msgstr "%d/%d, %d freie Slots" +msgid "%d/%d" +msgstr "%d/%d" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:175 +#: 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 "Standard" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 #, c-format -msgid "%d modified settings" +msgid "%d modified" msgstr "%d veränderte Einstellungen" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:175 -msgid "Official settings" -msgstr "Offizielle Einstellungen" - #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 -msgid "N/A (can't connect)" -msgstr "- (nicht kompatibel)" +msgid "Official" +msgstr "Offizielle Einstellungen" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208 -msgid "not supported (can't connect)" -msgstr "nicht unterstützt (nicht kompatibel)" +msgid "N/A (auth library missing, can't connect)" +msgstr "- (nicht kompatibel)" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:210 -msgid "not supported (won't encrypt)" -msgstr "nicht untersützt (nicht aktiv)" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:214 -msgid "supported (will encrypt)" -msgstr "unterstützt (aktiv)" +msgid "N/A (auth library missing)" +msgstr "- (Bibliothek nicht installiert)" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216 -msgid "supported (won't encrypt)" -msgstr "unterstützt (nicht aktiv)" +msgid "Not supported (can't connect)" +msgstr "Nicht unterstützt (nicht kompatibel)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:220 -msgid "requested (will encrypt)" -msgstr "erwünscht (aktiv)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218 +msgid "Not supported (won't encrypt)" +msgstr "Nicht untersützt (nicht aktiv)" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222 -msgid "requested (won't encrypt)" -msgstr "erwünscht (nicht aktiv)" +msgid "Supported (will encrypt)" +msgstr "Unterstützt (aktiv)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:226 -msgid "required (can't connect)" -msgstr "notwendig (nicht kompatibel)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224 +msgid "Supported (won't encrypt)" +msgstr "Unterstützt (nicht aktiv)" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228 -msgid "required (will encrypt)" -msgstr "notwendig (aktiv)" +msgid "Requested (will encrypt)" +msgstr "Erwünscht (aktiv)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:249 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:272 -msgid "Players:" -msgstr "Spieler:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230 +msgid "Requested (won't encrypt)" +msgstr "Erwünscht (nicht aktiv)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:257 -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38 -msgid "Type:" -msgstr "Typ:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234 +msgid "Required (can't connect)" +msgstr "Notwendig (nicht kompatibel)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 -msgid "Map:" -msgstr "Map:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236 +msgid "Required (will encrypt)" +msgstr "Notwendig (aktiv)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:267 -msgid "Gameplay:" -msgstr "Spielregeln:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:256 +msgid "Hostname:" +msgstr "Servername:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:277 -msgid "Bots:" -msgstr "Bots:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270 +msgid "Gametype:" +msgstr "Spieltyp:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:282 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275 +msgid "Map:" +msgstr "Map:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280 msgid "Mod:" msgstr "Mod:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:287 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285 msgid "Version:" msgstr "Version:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:292 -msgid "Ping:" -msgstr "Ping:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290 +msgid "Settings:" +msgstr "Einstellungen:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:297 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:329 +msgid "Players:" +msgstr "Spieler:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:298 -msgid "CA:" -msgstr "CA:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302 +msgid "Bots:" +msgstr "Bots:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:304 -msgid "Key:" -msgstr "Schlüssel:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307 +msgid "Free slots:" +msgstr "Freie Plätze:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:310 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313 msgid "Encryption:" msgstr "Krypto:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318 +msgid "ID:" +msgstr "ID:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323 +msgid "Key:" +msgstr "Schlüssel:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60 #: qcsrc/menu/xonotic/dialog_sandboxtools.c:19 msgid "Model:" msgstr "Modell:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:87 -msgid "Force player models to mine" -msgstr "Alle Spieler als mein Modell zeigen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 +msgid "No crosshair" +msgstr "Fadenkreuz:" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90 -msgid "Field of view:" -msgstr "Sichtfeld:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:94 -msgid "View bobbing:" -msgstr "Sicht-Wackeln:" +msgid "Per weapon crosshair" +msgstr "Fadenkreuz pro Waffe" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:98 -msgid "Zoom factor:" -msgstr "Vergrößerungsfaktor:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:102 -msgid "Zoom speed:" -msgstr "Vergrößerungsgeschwindigkeit:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:105 -msgid "Weapon settings..." -msgstr "Waffeneinstellungen..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93 +msgid "Custom crosshair" +msgstr "Benutzerdefiniert" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112 -msgid "Crosshair:" -msgstr "Fadenkreuz:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:113 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:141 -msgid "Per weapon" -msgstr "pro Waffe" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:132 msgid "Crosshair size:" msgstr "Größe:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:136 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117 msgid "Crosshair alpha:" msgstr "Alpha:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123 msgid "Crosshair color:" msgstr "Farbe:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:142 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125 +msgid "Per weapon" +msgstr "pro Waffe" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127 msgid "By health" msgstr "je nach Health" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:145 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:131 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47 msgid "Custom" msgstr "benutzerdefiniert" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:150 -msgid "Enable center dot" -msgstr "Punkt in der Mitte aktivieren" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 +msgid "Other crosshair settings" +msgstr "Andere Fadenkreuzeinstellungen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6 +msgid "Model settings" +msgstr "Spielermodell-Einstellungen" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153 -msgid "Size:" -msgstr "Größe:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6 +msgid "View settings" +msgstr "Ansichts-Einstellungen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 +msgid "Weapon settings" +msgstr "Waffeneinstellungen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6 +msgid "HUD settings" +msgstr "HUD-Einstellungen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 +#: 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 "Sofort anwenden" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6 +msgid "Crosshair settings" +msgstr "Fadenkreuz-Einstellungen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28 +msgid "Enable center crosshair dot" +msgstr "Punkt in der Mitte aktivieren" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31 +msgid "Dot size:" +msgstr "Punktgröße:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36 +msgid "Dot alpha:" +msgstr "Alpha:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41 +msgid "Dot color:" +msgstr "Farbe:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43 +msgid "Use normal crosshair color" +msgstr "Fadenkreuzfarbe verwenden" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160 -msgid "Hit test:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54 +msgid "Crosshair animations:" +msgstr "Fadenkreuzanimationen:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57 +msgid "Smooth effects of crosshairs" +msgstr "Animations-Effekte für Fadenkreuz" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61 +msgid "Use rings to indicate weapon status" +msgstr "Waffenstatus-Ringe anzeigen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67 +msgid "Hit testing:" msgstr "Treffer-Test:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161 -msgid "HTST^None" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69 +msgid "HTTST^Disabled" msgstr "Aus" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:162 -msgid "TrueAim" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70 +msgid "HTTST^TrueAim" msgstr "TrueAim" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:163 -msgid "Enemies" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71 +msgid "HTTST^Enemies" msgstr "Gegner" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:166 -msgid "Waypoints setup..." -msgstr "Wegpunkt-Einstellungen..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76 +msgid "Blur crosshair if the shot is obstructed" +msgstr "Verschwommenes Fadenkreuz für unterbrochene Schusslinie" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81 +msgid "Animate when hitting an enemy" +msgstr "Animation, wenn Fadenkreuz über Gegner" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85 +msgid "Animate when picking up an item" +msgstr "Animation beim Aufsammeln von Gegenständen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40 +msgid "Damage:" +msgstr "Schadenseffekt:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43 +msgid "Overlay:" +msgstr "Vollbild-Indikation:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47 +msgid "Factor:" +msgstr "Vergrößerungsfaktor:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:52 +msgid "Fade rate:" +msgstr "Ausblenden nach:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:58 +msgid "Waypoints" +msgstr "Wegpunkte" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:71 +msgid "Edge offset:" +msgstr "Kantenabstand:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:171 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:80 +msgid "Show names above players" +msgstr "Namen über Spielern anzeigen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83 +msgid "Only when near crosshair" +msgstr "Nur in Fadenkreuznähe" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86 +msgid "Display health and armor" +msgstr "Health und Armor anzeigen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4 msgid "Enter HUD editor" msgstr "HUD-Editor starten" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176 -msgid "Force models:" -msgstr "Modell erzwingen:" +#: 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 "Um den HUD-Editor zu starten, muss ein Spiel gestartet werden." -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177 -msgid "MDL^None" -msgstr "keine" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30 +msgid "Do you wish to start a local game to set up the HUD?" +msgstr "Willst du ein lokales Spiel starten, um das HUD zu editieren?" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:178 -msgid "MDL^Custom" -msgstr "inoffizielle" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33 +msgid "HDCNFRM^Yes" +msgstr "Ja" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:179 -msgid "MDL^All" -msgstr "alle" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36 +msgid "HDCNFRM^No" +msgstr "Nein" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182 -msgid "Disable gore effects" -msgstr "Gewalteffekte deaktivieren" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28 +msgid "Body fading:" +msgstr "Ausblenden von Leichen:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31 msgid "Gibs:" msgstr "Fleischteile:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33 msgid "GIBS^None" msgstr "Aus" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34 msgid "GIBS^Few" msgstr "Wenige" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:188 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35 msgid "GIBS^Many" msgstr "Einige" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:189 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36 msgid "GIBS^Lots" msgstr "Viele" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:193 -msgid "Damage splash:" -msgstr "Schadenseffekt:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40 +msgid "Playermodel LOD:" +msgstr "Spielermodell-LOD:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:197 -#: qcsrc/menu/xonotic/dialog_settings_audio.c:175 -#: qcsrc/menu/xonotic/dialog_settings_effects.c:195 -#: qcsrc/menu/xonotic/dialog_settings_input.c:74 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:30 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:41 -#: qcsrc/menu/xonotic/dialog_settings_video.c:105 -msgid "Apply immediately" -msgstr "Sofort anwenden" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44 +msgid "Force models:" +msgstr "Modell erzwingen:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5 -msgid "Waypoints" -msgstr "Wegpunkte" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45 +msgid "MDL^None" +msgstr "keine" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23 -msgid "Show base waypoints" -msgstr "Basis-Wegpunkte anzeigen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46 +msgid "MDL^Custom" +msgstr "inoffizielle" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25 -msgid "Waypoint scale:" -msgstr "Wegpunkt-Skalierung:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47 +msgid "MDL^All" +msgstr "alle" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29 -msgid "Waypoint alpha:" -msgstr "Wegpunkt-Alpha:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50 +msgid "Force player models to mine" +msgstr "Alle Spieler als mein Modell zeigen" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:33 -msgid "Show names above players" -msgstr "Namen über Spielern anzeigen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52 +msgid "Force player colors to mine" +msgstr "Alle Spieler in meiner Farbe zeigen" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 -msgid "Weapon settings" -msgstr "Waffeneinstellungen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28 +msgid "Field of view:" +msgstr "Sichtfeld:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 -msgid "Weapon priority list:" -msgstr "Waffenreihenfolge" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31 +msgid "Zoom:" +msgstr "Zoom-Modus:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34 -msgid "Up" -msgstr "Hoch" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33 +msgid "RETICLE^Fullscreen" +msgstr "Vollbild" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37 -msgid "Down" -msgstr "Runter" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34 +msgid "RETICLE^With reticle" +msgstr "Mit Zielmarke" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 -msgid "Use priority list for weapon cycling" -msgstr "Waffenreihenfolge für Mausrad verwenden" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38 +msgid "ZOOM^Factor:" +msgstr "Faktor:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43 -msgid "Auto switch weapons on pickup" -msgstr "Automatisch auf beste Waffe wechseln" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42 +msgid "ZOOM^Speed:" +msgstr "Geschwindigkeit:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:45 -msgid "Draw 1st person weapon model" -msgstr "Waffe in 3D anzeigen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52 +msgid "ZOOM^Instant" +msgstr "Sofort" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55 -msgid "Flip view horizontally" -msgstr "3D-Ansicht spiegeln" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56 +msgid "ZOOM^Sensitivity:" +msgstr "Empfindlichkeit:" -#: qcsrc/menu/xonotic/dialog_news.c:4 -msgid "News" -msgstr "Nachrichten" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59 +msgid "Velocity zoom:" +msgstr "Geschwindigkeits-Zoom:" -#: qcsrc/menu/xonotic/dialog_news.c:18 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61 +msgid "VZOOM^Disabled" +msgstr "Aus" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62 +msgid "VZOOM^Forward only" +msgstr "Nur vorwärts" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63 +msgid "VZOOM^All directions" +msgstr "Alle Richtungen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67 +msgid "VZOOM^Speed" +msgstr "Geschwindigkeit" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72 +msgid "Allow passing through walls while spectating" +msgstr "Durch Wände gehen beim Zuschauen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75 +msgid "1st person perspective" +msgstr "Aus eigenen Augen schauen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79 +msgid "Smooth the view when landing from a jump" +msgstr "Sanftes Landen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83 +msgid "Smooth the view while crouching" +msgstr "Sanftes Kriechen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87 +msgid "View waving while idle" +msgstr "Blick-Animation im Ruhezustand" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91 +msgid "View bobbing while walking around" +msgstr "Blick-Animation beim Laufen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96 +msgid "3rd person perspective" +msgstr "Aus externer Kamera schauen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100 +msgid "Back distance" +msgstr "Abstand nach hinten" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106 +msgid "Up distance" +msgstr "Abstand nach oben" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 +msgid "Weapon priority list:" +msgstr "Waffenreihenfolge" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33 +msgid "Up" +msgstr "Hoch" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36 +msgid "Down" +msgstr "Runter" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 +msgid "Use priority list for weapon cycling" +msgstr "Waffenreihenfolge für Mausrad verwenden" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43 +msgid "Auto switch weapons on pickup" +msgstr "Automatisch auf beste Waffe wechseln" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46 +msgid "Draw 1st person weapon model" +msgstr "Waffe in 3D anzeigen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58 +msgid "Gun model swaying" +msgstr "Waffenmodell-Trägheit" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63 +msgid "Gun model bobbing" +msgstr "Waffenmodell schwenken" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68 +msgid "VWMDL^Scale" +msgstr "Größe" + +#: qcsrc/menu/xonotic/dialog_news.c:4 +msgid "News" +msgstr "Nachrichten" + +#: qcsrc/menu/xonotic/dialog_news.c:18 msgid "http://www.xonotic.org/team/blog/" msgstr "http://www.xonotic.org/team/blog/" @@ -1510,15 +1784,15 @@ msgstr "http://www.xonotic.org/team/blog/" msgid "Quit" msgstr "Beenden" -#: qcsrc/menu/xonotic/dialog_quit.c:17 +#: qcsrc/menu/xonotic/dialog_quit.c:18 msgid "Are you sure you want to quit?" msgstr "Willst du das Spiel wirklich beenden?" -#: qcsrc/menu/xonotic/dialog_quit.c:20 +#: qcsrc/menu/xonotic/dialog_quit.c:21 msgid "Yes" msgstr "Ja" -#: qcsrc/menu/xonotic/dialog_quit.c:21 +#: qcsrc/menu/xonotic/dialog_quit.c:22 msgid "No" msgstr "Nein" @@ -1675,9 +1949,9 @@ msgid "Audio" msgstr "Ton" #: qcsrc/menu/xonotic/dialog_settings.c:22 -#: qcsrc/menu/xonotic/dialog_settings_network.c:4 -msgid "Network" -msgstr "Netzwerk" +#: qcsrc/menu/xonotic/dialog_settings_user.c:4 +msgid "User" +msgstr "Benutzer" #: qcsrc/menu/xonotic/dialog_settings.c:23 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4 @@ -1688,198 +1962,170 @@ msgstr "Sonstiges" msgid "Master:" msgstr "Master:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:33 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:35 msgid "Music:" msgstr "Musik:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:41 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:45 msgid "VOL^Ambient:" msgstr "Umgebung:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:48 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:54 msgid "Info:" msgstr "Info:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:55 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:63 msgid "Items:" msgstr "Gegenstände:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:62 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:72 msgid "Pain:" msgstr "Schmerz:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:69 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:81 msgid "Player:" msgstr "Spieler:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:76 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:90 msgid "Shots:" msgstr "Schüsse:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:83 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:99 msgid "Voice:" msgstr "Stimme:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:91 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:109 msgid "Weapons:" msgstr "Waffen:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:98 -#: qcsrc/menu/xonotic/dialog_settings_audio.c:158 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:117 +msgid "New style sound attenuation" +msgstr "Neue Sound-Distanzformel" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:119 +msgid "Mute sounds when not active" +msgstr "Keine Sounds abspielen, wenn inaktiv" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:122 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:194 msgid "Frequency:" msgstr "Frequenz:" -#: 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 "Kanäle" +msgstr "Kanäle:" -#: 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 "Stereo" -#: 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 "Stereokanäle tauschen" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:148 msgid "Headphone friendly mode" msgstr "Kopfhörer-Modus" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 -msgid "New style sound attenuation" -msgstr "Neue Sound-Distanzformel" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:133 -msgid "Spatial voices:" -msgstr "Räumliche Sprachnachrichten:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 -msgid "VOCS^None" -msgstr "keine" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:135 -msgid "VOCS^Taunts" -msgstr "nur Spott" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:136 -msgid "VOCS^All" -msgstr "alle" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:139 -msgid "Taunt range:" -msgstr "Spott-Radius:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:142 -msgid "RNG^Very short" -msgstr "Sehr klein" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:143 -msgid "RNG^Short" -msgstr "Klein" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:144 -msgid "RNG^Normal" -msgstr "Normal" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:145 -msgid "RNG^Long" -msgstr "Groß" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 +msgid "Hit indication sound" +msgstr "Treffer-Signal" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:146 -msgid "RNG^Full" -msgstr "Sehr groß" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:172 +msgid "Chat message sound" +msgstr "Chat-Signal" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:153 -msgid "Automatic taunts" -msgstr "Automatischer Spott" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:174 +msgid "Menu sounds" +msgstr "Menü-Sounds" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:162 -msgid "Time warning:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:177 +msgid "Time announcer:" msgstr "Zeitwarnung:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:164 -msgid "WRN^None" -msgstr "keine" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:179 +msgid "WRN^Disabled" +msgstr "Aus" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:165 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:180 msgid "1 minute" msgstr "1 Minute" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:166 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:181 msgid "5 minutes" msgstr "5 Minuten" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:167 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:182 msgid "WRN^Both" msgstr "beide" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 -msgid "Hit indicator" -msgstr "Treffer-Indikator" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:189 +msgid "Automatic taunts" +msgstr "Automatischer Spott" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:172 -msgid "Menu sounds" -msgstr "Menü-Sounds" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:199 +msgid "Debug info about sounds" +msgstr "Sound-Info einblenden" #: qcsrc/menu/xonotic/dialog_settings_effects.c:38 msgid "Quality preset:" @@ -1942,234 +2188,226 @@ msgid "DET^Insane" msgstr "Wahnsinnig" #: qcsrc/menu/xonotic/dialog_settings_effects.c:62 -msgid "Antialiasing:" -msgstr "Kantenglättung:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:64 -msgid "AA^Disabled" -msgstr "Aus" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 -#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 -msgid "2x" -msgstr "2x" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 -#: qcsrc/menu/xonotic/dialog_settings_effects.c:107 -msgid "4x" -msgstr "4x" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 -msgid "High-quality frame buffer" -msgstr "Genauerer Framebuffer" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:73 msgid "Texture resolution:" msgstr "Texturauflösung:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:76 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 msgid "RES^Leet" msgstr "Leet" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:77 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 msgid "RES^Lowest" msgstr "Sehr niedrig" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:78 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:67 +msgid "RES^Very low" +msgstr "Sehr niedrig" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:68 msgid "RES^Low" msgstr "Niedrig" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:79 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:69 msgid "RES^Normal" msgstr "Normal" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:80 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 msgid "RES^Good" msgstr "Gut" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:81 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:71 msgid "RES^Best" msgstr "Sehr gut" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:94 -#: qcsrc/menu/xonotic/dialog_settings_effects.c:97 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:84 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:87 msgid "Avoid lossy texture compression" msgstr "Texturkompression vermeiden" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:93 +msgid "Use lightmaps" +msgstr "Lightmaps verwenden" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:94 +msgid "Deluxe mapping" +msgstr "Deluxemapping" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:96 +msgid "Gloss" +msgstr "Glanz" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 +msgid "Particles quality:" +msgstr "Partikelqualität:" + #: qcsrc/menu/xonotic/dialog_settings_effects.c:103 -msgid "Anisotropy:" -msgstr "Anisotropie:" +msgid "Particles distance:" +msgstr "Partikeldistanz:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:105 -msgid "ANISO^Disabled" -msgstr "Aus" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 +msgid "Damage effects:" +msgstr "Schadenseffekte:" #: qcsrc/menu/xonotic/dialog_settings_effects.c:108 -msgid "8x" -msgstr "8x" +msgid "DMGPRTCLS^Disabled" +msgstr "Aus" #: qcsrc/menu/xonotic/dialog_settings_effects.c:109 -msgid "16x" -msgstr "16x" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:113 -msgid "Particle quality:" -msgstr "Partikelqualität:" +msgid "DMGPRTCLS^Skeletal" +msgstr "Nur auf Modellen" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:116 -msgid "Particle distance:" -msgstr "Partikeldistanz:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 +msgid "DMGPRTCLS^All" +msgstr "alle" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:120 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:114 msgid "Decals" msgstr "Einschusslöcher" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:121 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:115 msgid "Decals on models" msgstr "auch auf Objekten" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:125 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:119 msgid "Distance:" msgstr "Distanz:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:131 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:125 msgid "Time:" msgstr "Zeit:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:137 -msgid "Use lightmaps" -msgstr "Lightmaps verwenden" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:138 -msgid "Deluxe mapping" -msgstr "Deluxemapping" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:140 -msgid "Gloss" -msgstr "Glanz" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:143 -msgid "Offset mapping" -msgstr "Offsetmapping" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:145 -msgid "Relief mapping" -msgstr "Reliefmapping" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:148 -msgid "Reflections:" -msgstr "Reflexionen:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:151 -msgid "Blurred" -msgstr "Schwammig" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:152 -msgid "REFL^Good" -msgstr "Gut" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:153 -msgid "Sharp" -msgstr "Scharf" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:131 +msgid "Coronas" +msgstr "Koronen" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:158 -msgid "Show surfaces" -msgstr "Oberflächen anzeigen" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:132 +msgid "Use Occlusion Queries" +msgstr "Occlusion Queries verwenden" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:160 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 msgid "No dynamic lighting" msgstr "Kein dynamisches Licht" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 -msgid "Flash blend approximation" -msgstr "Flash-Blend-Näherung" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:136 +msgid "Fake corona lighting" +msgstr "Korona-Approximation" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:164 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:138 msgid "Realtime dynamic lighting" msgstr "Dynamisches Licht in Echtzeit" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:165 -#: qcsrc/menu/xonotic/dialog_settings_effects.c:169 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:139 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:143 msgid "Shadows" msgstr "Schatten" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:168 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 msgid "Realtime world lighting" msgstr "Map-Licht in Echtzeit" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:173 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:147 msgid "Use normal maps" msgstr "Normalmaps verwenden" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:175 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 msgid "Soft shadows" msgstr "Weiche Schatten" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:178 -msgid "Coronas" -msgstr "Koronas" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:153 +msgid "Show surfaces" +msgstr "Oberflächen anzeigen" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:179 -msgid "Use Occlusion Queries" -msgstr "Occlusion Queries verwenden" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 +msgid "Offset mapping" +msgstr "Offsetmapping" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:181 -msgid "High Dynamic Range (HDR)" -msgstr "Lichtdynamik (HDR)" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +msgid "Relief mapping" +msgstr "Reliefmapping" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:185 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 +msgid "LOD" +msgstr "LOD" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 +msgid "Bloom" +msgstr "Überstrahlung" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:164 +msgid "Reflections:" +msgstr "Reflexionen:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:167 +msgid "Blurred" +msgstr "Schwammig" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:168 +msgid "REFL^Good" +msgstr "Gut" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:169 +msgid "Sharp" +msgstr "Scharf" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:174 msgid "Motion blur:" msgstr "Bewegungsunschärfe:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:190 -msgid "Blur and sharpen postprocessing" -msgstr "Schärfeeffekte" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:179 +msgid "Extra postprocessing effects" +msgstr "Bildbearbeitungseffekte" #: qcsrc/menu/xonotic/dialog_settings_input.c:26 msgid "Key bindings:" msgstr "Tastenbelegung:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:31 +#: qcsrc/menu/xonotic/dialog_settings_input.c:30 msgid "Change key..." msgstr "Taste ändern..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:35 +#: qcsrc/menu/xonotic/dialog_settings_input.c:34 msgid "Edit..." msgstr "Bearbeiten..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:46 -msgid "Sensitivity:" -msgstr "Empfindlichkeit:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:45 +msgid "Pressing \"enter console\" key also closes it" +msgstr "\"Konsole öffnen\" schließt auch" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:47 +msgid "Automatically repeat jumping if holding jump" +msgstr "Auto-Springen" #: qcsrc/menu/xonotic/dialog_settings_input.c:51 -msgid "UI mouse speed:" -msgstr "Mausgeschwindigkeit:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:53 +#: qcsrc/menu/xonotic/dialog_settings_input.c:56 +msgid "Use joystick input" +msgstr "Joystick verwenden" -#: qcsrc/menu/xonotic/dialog_settings_input.c:55 -msgid "Mouse filter" -msgstr "Mausfilterung" +#: qcsrc/menu/xonotic/dialog_settings_input.c:61 +msgid "Mouse:" +msgstr "Maus:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:57 -msgid "Invert mouse" -msgstr "Höhe invertieren" +#: qcsrc/menu/xonotic/dialog_settings_input.c:64 +msgid "Sensitivity:" +msgstr "Empfindlichkeit:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:60 -#: qcsrc/menu/xonotic/dialog_settings_input.c:62 -msgid "Use joystick input" -msgstr "Joystick verwenden" +#: qcsrc/menu/xonotic/dialog_settings_input.c:68 +msgid "Smooth aiming" +msgstr "Sanftes Zielen" -#: qcsrc/menu/xonotic/dialog_settings_input.c:65 -#: qcsrc/menu/xonotic/dialog_settings_input.c:67 -msgid "Turn off OS mouse acceleration" -msgstr "Mausbeschleunigung deaktivieren" +#: qcsrc/menu/xonotic/dialog_settings_input.c:71 +msgid "Invert aiming" +msgstr "Mausrichtung umkehren" -#: qcsrc/menu/xonotic/dialog_settings_input.c:69 -msgid "\"enter console\" also closes" -msgstr "\"Konsole öffnen\" schließt auch" +#: 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 "System-Mausbeschleunigung deaktivieren" -#: qcsrc/menu/xonotic/dialog_settings_input.c:72 -msgid "Holding jump key keeps jumping" -msgstr "Festhalten der Springen-Taste springt weiter" +#: qcsrc/menu/xonotic/dialog_settings_input.c:85 +msgid "Enable built in mouse acceleration" +msgstr "Xonotic-Mausbeschleunigung aktivieren" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5 msgid "User defined key bind" @@ -2192,104 +2430,261 @@ msgid "Cancel" msgstr "Abbrechen" #: qcsrc/menu/xonotic/dialog_settings_misc.c:26 -msgid "Menu skins:" -msgstr "Menü-Skins:" - -#: qcsrc/menu/xonotic/dialog_settings_misc.c:47 -msgid "Show current time" -msgstr "Uhrzeit anzeigen" +msgid "Network:" +msgstr "Netzwerk:" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:49 -msgid "Show current date" -msgstr "Datum anzeigen" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:31 +msgid "56k" +msgstr "Modem" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:51 -msgid "Show frames per second" -msgstr "Frames pro Sekunde anzeigen" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:32 +msgid "ISDN" +msgstr "ISDN" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:53 -msgid "Minimize input latency" -msgstr "Eingabelatenz minimieren" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:33 +msgid "Slow ADSL" +msgstr "ADSL (langsam)" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:59 -msgid "Menu Tooltips:" -msgstr "Menü-Tooltips:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:34 +msgid "Fast ADSL" +msgstr "ADSL (schnell)" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:61 -msgid "Standard" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 +msgid "Broadband" +msgstr "Breitband" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:39 +msgid "Input packets/s:" +msgstr "Eingabe-Pakete/s:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:45 +msgid "Local latency:" +msgstr "Simulierte Latenz:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:50 +msgid "Client UDP port:" +msgstr "Client-UDP-Port:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:55 +msgid "Show netgraph" +msgstr "Netgraph anzeigen" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:59 +msgid "Client-side movement prediction" +msgstr "Client-seitige Bewegungssimulation" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +msgid "Movement error compensation" +msgstr "Fehlerkompensation" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:66 +msgid "Downloads:" +msgstr "Downloads:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:69 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:81 +msgid "Maximum:" +msgstr "Maximum:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:73 +msgid "Speed (kB/s):" +msgstr "Geschwindigkeit (kB/s):" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:78 +msgid "Framerate:" +msgstr "Framerate:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:83 +msgid "MAXFPS^5 fps" +msgstr "5 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:84 +msgid "MAXFPS^10 fps" +msgstr "10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:85 +msgid "MAXFPS^20 fps" +msgstr "20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:86 +msgid "MAXFPS^30 fps" +msgstr "30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:87 +msgid "MAXFPS^40 fps" +msgstr "40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:88 +msgid "MAXFPS^50 fps" +msgstr "50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:89 +msgid "MAXFPS^60 fps" +msgstr "60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:90 +msgid "MAXFPS^70 fps" +msgstr "70 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:91 +msgid "MAXFPS^100 fps" +msgstr "100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:92 +msgid "MAXFPS^125 fps" +msgstr "125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:93 +msgid "MAXFPS^200 fps" +msgstr "200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:94 +msgid "MAXFPS^Unlimited" +msgstr "Unbegrenzt" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:98 +msgid "Target:" +msgstr "Ziel:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:100 +msgid "TRGT^Disabled" +msgstr "Aus" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:101 +msgid "TRGT^30 fps" +msgstr "30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:102 +msgid "TRGT^40 fps" +msgstr "40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:103 +msgid "TRGT^50 fps" +msgstr "50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:104 +msgid "TRGT^60 fps" +msgstr "60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:105 +msgid "TRGT^100 fps" +msgstr "100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:106 +msgid "TRGT^125 fps" +msgstr "125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:107 +msgid "TRGT^200 fps" +msgstr "200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:111 +msgid "Idle limit:" +msgstr "wenn inaktiv:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:113 +msgid "IDLFPS^10 fps" +msgstr "10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:114 +msgid "IDLFPS^20 fps" +msgstr "20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:115 +msgid "IDLFPS^30 fps" +msgstr "30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:116 +msgid "IDLFPS^60 fps" +msgstr "60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:117 +msgid "IDLFPS^Unlimited" +msgstr "Unbegrenzt" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:122 +msgid "Show frames per second" +msgstr "Frames pro Sekunde anzeigen" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:125 +msgid "Save processing time for other apps" +msgstr "CPU-Zeit für andere Anwendungen sparen" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:129 +msgid "Menu tooltips:" +msgstr "Menü-Tooltips:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:131 +msgid "TLTIP^Disabled" +msgstr "Aus" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:132 +msgid "TLTIP^Standard" msgstr "Standard" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:133 +msgid "TLTIP^Advanced" +msgstr "Fortgeschritten" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:137 +msgid "Show current time" +msgstr "Uhrzeit anzeigen" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:139 +msgid "Show current date" +msgstr "Datum anzeigen" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:141 +msgid "Enable developer mode" +msgstr "Entwicklermodus aktivieren" + #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 msgid "Advanced settings" msgstr "Erweiterte Einstellungen" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31 msgid "Cvar filter:" msgstr "Cvar-Filter:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44 msgid "Setting:" msgstr "Einstellung:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:48 +msgid "Type:" +msgstr "Typ:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:52 msgid "Value:" msgstr "Wert:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:68 msgid "Description:" msgstr "Beschreibung:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:26 -msgid "Client-side movement prediction" -msgstr "Client-seitige Bewegungssimulation" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:30 -msgid "Show netgraph" -msgstr "Netgraph anzeigen" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:33 -msgid "Network speed:" -msgstr "Netzwerkgeschwindigkeit:" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:35 -msgid "56k" -msgstr "Modem" - -#: 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 (langsam)" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:38 -msgid "Fast ADSL" -msgstr "ADSL (schnell)" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:39 -msgid "Broadband" -msgstr "Breitband" +#: qcsrc/menu/xonotic/dialog_settings_user.c:27 +msgid "Menu skins:" +msgstr "Menü-Skins:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:42 -msgid "Input packets/s:" -msgstr "Eingabe-Pakete/s:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:31 +msgid "Set skin" +msgstr "Skin setzen" -#: qcsrc/menu/xonotic/dialog_settings_network.c:46 -msgid "HTTP downloads:" -msgstr "HTTP-Downloads:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:74 +msgid "Set language" +msgstr "Sprache setzen" -#: qcsrc/menu/xonotic/dialog_settings_network.c:49 -msgid "Downloads:" -msgstr "Downloads:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:79 +msgid "Disable gore effects and harsh language" +msgstr "Gewalteffekte deaktivieren" -#: qcsrc/menu/xonotic/dialog_settings_network.c:53 -msgid "Speed (kB/s):" -msgstr "Geschwindigkeit (kB/s):" +#: qcsrc/menu/xonotic/dialog_settings_user.c:82 +msgid "Allow player statistics to track your client" +msgstr "Aufzeichung von Spielerstatistiken erlauben" -#: qcsrc/menu/xonotic/dialog_settings_network.c:57 -msgid "Client UDP port:" -msgstr "Client-UDP-Port:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:84 +msgid "Allow player statistics to use your nickname" +msgstr "Verwendung des Spielernamens für Spielerstatistiken erlauben" #: qcsrc/menu/xonotic/dialog_settings_video.c:26 msgid "Resolution:" @@ -2309,7 +2704,7 @@ msgstr "Winzig" #: 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" @@ -2339,90 +2734,148 @@ msgstr "Kolossal" msgid "Color depth:" msgstr "Farbtiefe:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:44 +msgid "16bit" +msgstr "16 Bit" + #: qcsrc/menu/xonotic/dialog_settings_video.c:45 +msgid "32bit" +msgstr "32 Bit" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:48 msgid "Full screen" msgstr "Vollbild" -#: qcsrc/menu/xonotic/dialog_settings_video.c:46 +#: qcsrc/menu/xonotic/dialog_settings_video.c:49 msgid "Vertical Synchronization" msgstr "Vertikale Synchronisation" -#: qcsrc/menu/xonotic/dialog_settings_video.c:48 -msgid "Use OpenGL 2.0 shaders (GLSL)" -msgstr "OpenGL 2.0 Shaders verwenden (GLSL)" - -#: qcsrc/menu/xonotic/dialog_settings_video.c:51 -msgid "Use GLSL to handle color control" -msgstr "GLSL für Farbregelung verwenden" +#: qcsrc/menu/xonotic/dialog_settings_video.c:53 +msgid "Anisotropy:" +msgstr "Anisotropie:" #: qcsrc/menu/xonotic/dialog_settings_video.c:55 -msgid "Vertex Buffer Objects (VBOs)" -msgstr "Vertex Buffer Objects (VBOs)" +msgid "ANISO^Disabled" +msgstr "Aus" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:56 +#: 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 "VBO^Off" -msgstr "Aus" +msgid "8x" +msgstr "8x" #: qcsrc/menu/xonotic/dialog_settings_video.c:59 -msgid "Vertices, some Tris (compatible)" -msgstr "Ecken, einige Dreiecke (kompatibel)" +msgid "16x" +msgstr "16x" #: qcsrc/menu/xonotic/dialog_settings_video.c:62 -msgid "Vertices" -msgstr "Ecken" +msgid "Antialiasing:" +msgstr "Kantenglättung:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:63 -msgid "Vertices and Triangles" -msgstr "Ecken und Dreiecke" +#: qcsrc/menu/xonotic/dialog_settings_video.c:65 +msgid "AA^Disabled" +msgstr "Aus" -#: qcsrc/menu/xonotic/dialog_settings_video.c:66 +#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +msgid "High-quality frame buffer" +msgstr "Genauerer Framebuffer" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:76 msgid "Depth first:" msgstr "Tiefe zuerst rendern:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:68 +#: qcsrc/menu/xonotic/dialog_settings_video.c:78 msgid "DF^Disabled" msgstr "Aus" -#: qcsrc/menu/xonotic/dialog_settings_video.c:69 +#: qcsrc/menu/xonotic/dialog_settings_video.c:79 msgid "DF^World" msgstr "nur Map" -#: qcsrc/menu/xonotic/dialog_settings_video.c:70 +#: qcsrc/menu/xonotic/dialog_settings_video.c:80 msgid "DF^All" msgstr "Immer" -#: qcsrc/menu/xonotic/dialog_settings_video.c:73 -msgid "Wait for GPU to finish each frame" -msgstr "Bei jedem Frame auf die Grafikkarte warten" +#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +msgid "Vertex Buffer Objects (VBOs)" +msgstr "Vertex Buffer Objects (VBOs)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:76 +#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +msgid "VBO^Off" +msgstr "Aus" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:87 +msgid "Vertices, some Tris (compatible)" +msgstr "Ecken, einige Dreiecke (kompatibel)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:90 +msgid "Vertices" +msgstr "Ecken" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +msgid "Vertices and Triangles" +msgstr "Ecken und Dreiecke" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:94 msgid "Brightness:" msgstr "Helligkeit:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:79 +#: qcsrc/menu/xonotic/dialog_settings_video.c:97 msgid "Contrast:" msgstr "Kontrast:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:82 +#: qcsrc/menu/xonotic/dialog_settings_video.c:100 msgid "Gamma:" msgstr "Gamma:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:87 +#: qcsrc/menu/xonotic/dialog_settings_video.c:105 msgid "Contrast boost:" msgstr "Kontrasterhöhung:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:92 +#: qcsrc/menu/xonotic/dialog_settings_video.c:110 msgid "Saturation:" msgstr "Sättigung:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:98 +#: qcsrc/menu/xonotic/dialog_settings_video.c:116 msgid "LIT^Ambient:" msgstr "Umgebungslicht:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:101 +#: qcsrc/menu/xonotic/dialog_settings_video.c:119 msgid "Intensity:" msgstr "Lichtstärke:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:123 +msgid "Use OpenGL 2.0 shaders (GLSL)" +msgstr "OpenGL 2.0 Shaders verwenden (GLSL)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:125 +msgid "Use GLSL to handle color control" +msgstr "GLSL für Farbregelung verwenden" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:128 +msgid "Wait for GPU to finish each frame" +msgstr "Bei jedem Frame auf die Grafikkarte warten" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:132 +msgid "Psycho coloring (easter egg)" +msgstr "Psycho-Farben (Osterei)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:135 +msgid "Trippy vertices (easter egg)" +msgstr "Alles total verbiegen (Osterei)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:138 +msgid "Flip view horizontally" +msgstr "3D-Ansicht spiegeln" + #: qcsrc/menu/xonotic/dialog_singleplayer.c:4 msgid "Singleplayer" msgstr "Einzelspieler" @@ -2432,6 +2885,22 @@ msgid "Instant action! (random map with bots)" msgstr "Sofortstart! (zufällige Map mit Bots)" #: qcsrc/menu/xonotic/dialog_singleplayer.c:137 +msgid "Campaign Difficulty:" +msgstr "Schwierigkeitsstufe:" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:138 +msgid "CSKL^Easy" +msgstr "Einfach" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:139 +msgid "CSKL^Medium" +msgstr "Mittel" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:140 +msgid "CSKL^Hard" +msgstr "Schwer" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:142 msgid "Start Singleplayer!" msgstr "Spiel starten!" @@ -2467,22 +2936,22 @@ msgstr "pink" msgid "spectate" msgstr "zuschauen" -#: 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 "Bitte nicht nochmal diesen Knopf drücken!" -#: 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 "" "Hä? Kann diese Map nicht starten (m ist NULL). Mapliste wird neu gefiltert.\n" -#: qcsrc/menu/xonotic/maplist.c:286 +#: qcsrc/menu/xonotic/maplist.c:290 #, c-format msgid "%s's Xonotic Server" msgstr "%ss 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" @@ -2490,13 +2959,17 @@ msgstr "" "Hä? Kann diese Map nicht starten (ungültiger Spieltyp). Mapliste wird neu " "gefiltert.\n" -#: qcsrc/menu/xonotic/playermodel.c:174 +#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128 +msgid "spectator" +msgstr "schaut zu" + +#: qcsrc/menu/xonotic/playermodel.c:177 msgid "" msgstr "" #: qcsrc/menu/xonotic/serverlist.c:185 msgid "Remove" -msgstr "Vergessen" +msgstr "Entfernen" #: qcsrc/menu/xonotic/serverlist.c:187 msgid "Bookmark" @@ -2598,298 +3071,207 @@ msgstr "" "^1FEHLER: Texturekompression ist notwendig aber nicht unterstützt.\n" "^1Darstellungsprobleme sind zu erwarten.\n" -#: qcsrc/menu/xonotic/util.qc:546 -msgid "Arena" -msgstr "Arena" - -#: qcsrc/menu/xonotic/util.qc:547 -msgid "Assault" -msgstr "Assault" - -#: qcsrc/menu/xonotic/util.qc:548 -msgid "Capture The Flag" -msgstr "Capture The Flag" - -#: qcsrc/menu/xonotic/util.qc:549 -msgid "Clan Arena" -msgstr "Clan Arena" - -#: qcsrc/menu/xonotic/util.qc:550 -msgid "Deathmatch" -msgstr "Deathmatch" - -#: qcsrc/menu/xonotic/util.qc:551 -msgid "Domination" -msgstr "Domination" - -#: qcsrc/menu/xonotic/util.qc:552 -msgid "Freeze Tag" -msgstr "Freeze Tag" - -#: qcsrc/menu/xonotic/util.qc:553 -msgid "Keepaway" -msgstr "Keepaway" - -#: qcsrc/menu/xonotic/util.qc:554 -msgid "Key Hunt" -msgstr "Key Hunt" - -#: qcsrc/menu/xonotic/util.qc:555 -msgid "Last Man Standing" -msgstr "Last Man Standing" - -#: qcsrc/menu/xonotic/util.qc:556 -msgid "Nexball" -msgstr "Nexball" - -#: qcsrc/menu/xonotic/util.qc:557 -msgid "Onslaught" -msgstr "Onslaught" - -#: qcsrc/menu/xonotic/util.qc:558 -msgid "Race" -msgstr "Race" - -#: qcsrc/menu/xonotic/util.qc:559 -msgid "Race CTS" -msgstr "Race CTS" - -#: qcsrc/menu/xonotic/util.qc:560 -msgid "Runematch" -msgstr "Runematch" - -#: qcsrc/menu/xonotic/util.qc:561 -msgid "Team Deathmatch" -msgstr "Team Deathmatch" - -#: qcsrc/menu/xonotic/util.qc:580 -#, c-format -msgid "@!#%'n Tuba Throwing" -msgstr "@!#%'n Tuba-Werfen" - -#: 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" -msgstr "Standard" - -#: qcsrc/menu/xonotic/util.qc:611 +#: qcsrc/menu/xonotic/util.qc:643 msgid "Use default" msgstr "Standard verwenden" -#: qcsrc/menu/xonotic/util.qc:631 +#: qcsrc/menu/xonotic/util.qc:663 msgid "Team Color:" msgstr "Teamfarbe:" -#: qcsrc/menu/xonotic/util.qh:48 +#: qcsrc/menu/xonotic/util.qh:50 msgid "Enable panel" msgstr "Panel aktivieren" #: weapons.qc.tmp:1 -msgid "Crylink" -msgstr "Crylink" +msgid "Rifle" +msgstr "Gewehr" #: weapons.qc.tmp:2 -msgid "Heavy Laser Assault Cannon" -msgstr "Heavy Laser Assault Cannon" +msgid "Machine Gun" +msgstr "Maschinengewehr" #: weapons.qc.tmp:3 -msgid "MinstaNex" -msgstr "MinstaNex" +msgid "Rocket Launcher" +msgstr "Rocket Launcher" #: weapons.qc.tmp:4 -msgid "Mortar" -msgstr "Mortar" +msgid "Port-O-Launch" +msgstr "Port-O-Launch" #: weapons.qc.tmp:5 -msgid "Laser" -msgstr "Laser" +msgid "Grappling Hook" +msgstr "Enterhaken" #: weapons.qc.tmp:6 -msgid "Nex" -msgstr "Nex" +msgid "Electro" +msgstr "Elektro" #: weapons.qc.tmp:7 -msgid "Grappling Hook" -msgstr "Enterhaken" +msgid "Laser" +msgstr "Laser" #: weapons.qc.tmp:8 -msgid "Rocket Launcher" -msgstr "Rocket Launcher" +msgid "Shotgun" +msgstr "Schrotgewehr" #: weapons.qc.tmp:9 -msgid "Port-O-Launch" -msgstr "Port-O-Launch" +#, c-format +msgid "@!#%'n Tuba" +msgstr "@!#%'n Tuba" #: weapons.qc.tmp:10 -msgid "Electro" -msgstr "Electro" +msgid "MinstaNex" +msgstr "MinstaNex" #: weapons.qc.tmp:11 -msgid "Hagar" -msgstr "Hagar" +msgid "Crylink" +msgstr "Crylink" #: weapons.qc.tmp:12 -msgid "Shotgun" -msgstr "Shotgun" +msgid "Heavy Laser Assault Cannon" +msgstr "Heavy Laser Assault Cannon" #: weapons.qc.tmp:13 -#, c-format -msgid "@!#%'n Tuba" -msgstr "@!#%'n Tuba" +msgid "Mortar" +msgstr "Mortar" #: weapons.qc.tmp:14 -msgid "Mine Layer" -msgstr "Mine Layer" +msgid "Hagar" +msgstr "Hagar" #: weapons.qc.tmp:15 -msgid "Rifle" -msgstr "Gewehr" +msgid "T.A.G. Seeker" +msgstr "T.A.G. Seeker" #: weapons.qc.tmp:16 -msgid "Machine Gun" -msgstr "Machine Gun" - -#: weapons.qc.tmp:17 msgid "Fireball" msgstr "Fireball" -#: weapons.qc.tmp:18 -msgid "T.A.G. Seeker" -msgstr "T.A.G. Seeker" - -#~ msgid "Powerup sharpen" -#~ msgstr "Bonus-Schärfe" - -#~ msgid "Damage & water blur" -#~ msgstr "Schadens-Unschärfe" +#: weapons.qc.tmp:17 +msgid "Mine Layer" +msgstr "Minenleger" -#~ msgid "%s sniped themself somehow" -#~ msgstr "%s hat so scharf geschossen, dass er sich selbst getroffen hat" +#: weapons.qc.tmp:18 +msgid "Nex" +msgstr "Nex" -#~ msgid "%s shot themself automatically" -#~ msgstr "%s hat sich vollautomatisch selbst erschossen" +#~ msgid "%d/%d, %d free player slots" +#~ msgstr "%d/%d, %d freie Slots" -#~ msgid "%s exploded" -#~ msgstr "%s ist explodiert" +#~ msgid "Gameplay:" +#~ msgstr "Spielregeln:" -#~ msgid "%s hoped %s's missiles wouldn't bounce" -#~ msgstr "%s hat gehofft, dass %ss Raketen nicht von Wänden abprallen" +#~ msgid "Ping:" +#~ msgstr "Ping:" -#~ msgid "%s detonated" -#~ msgstr "%s verfing sich in der eigenen Detonation" +#~ msgid "CA:" +#~ msgstr "CA:" -#~ msgid "%s tried out his own grenade" -#~ msgstr "%s wollte wissen, ob seine Granate funktioniert" +#~ msgid "View bobbing:" +#~ msgstr "Sicht-Wackeln:" -#~ msgid "Disable multithreaded OpenGL" -#~ msgstr "OpenGL-Multithreading deaktivieren" +#~ msgid "Zoom speed:" +#~ msgstr "Vergrößerungsgeschwindigkeit:" -#~ msgid "Bloom" -#~ msgstr "Überstrahlung" +#~ msgid "Weapon settings..." +#~ msgstr "Waffeneinstellungen..." -#~ msgid "All players" -#~ msgstr "Alle Spieler" +#~ msgid "Size:" +#~ msgstr "Größe:" -#~ msgid "Teammates" -#~ msgstr "Mitspieler" +#~ msgid "HTST^None" +#~ msgstr "Aus" -#~ msgid "Show names:" -#~ msgstr "Namen anzeigen:" +#~ msgid "Waypoints setup..." +#~ msgstr "Wegpunkt-Einstellungen..." -#~ msgid "%s died of %s's great playing on the @!#%%'n Tuba" -#~ msgstr "" -#~ "%s ist an seinen Ohrenschmerzen, die von %ss großartigem Spiel auf der @!#" -#~ "%%'n Tuba stammten, gestorben" +#~ msgid "Show base waypoints" +#~ msgstr "Basis-Wegpunkte anzeigen" -#~ msgid "%s hurt his own ears with the @!#%%'n Tuba" -#~ msgstr "" -#~ "%s haben die Ohren geschmerzt von seinem eigenen Spiel auf der @!#%%'n " -#~ "Tuba" +#~ msgid "Waypoint scale:" +#~ msgstr "Wegpunkt-Skalierung:" -#~ msgid "%s ate %s's rocket" -#~ msgstr "%s hat %ss Rakete in den Mund genommen" +#~ msgid "Waypoint alpha:" +#~ msgstr "Wegpunkt-Alpha:" -#~ msgid "%s almost dodged %s's rocket" -#~ msgstr "%s ist fast %ss Rakete ausgewichen" +#~ msgid "Spatial voices:" +#~ msgstr "Räumliche Sprachnachrichten:" -#~ msgid "%s got too close to %s's rocket" -#~ msgstr "%s ist %ss Rakete zu nahe getreten" +#~ msgid "VOCS^None" +#~ msgstr "keine" -#~ msgid "%s failed to hide from %s's rifle" -#~ msgstr "%s hat es nicht geschafft, sich vor %ss Gewehr zu verstecken" +#~ msgid "VOCS^Taunts" +#~ msgstr "nur Spott" -#~ msgid "%s felt %s doing the impossible to him" -#~ msgstr "%s hat gespürt, wie %s das Unmögliche für ihn getan hat" +#~ msgid "VOCS^All" +#~ msgstr "alle" -#~ msgid "%s is now thinking with portals" -#~ msgstr "%s kann jetzt mit Portalen denken" +#~ msgid "Taunt range:" +#~ msgstr "Spott-Radius:" -#~ msgid "%s stepped on %s's mine" -#~ msgstr "%s ist auf %ss Mine gelatscht" +#~ msgid "RNG^Very short" +#~ msgstr "Sehr klein" -#~ msgid "%s almost dodged %s's mine" -#~ msgstr "%s ist fast %ss Mine ausgewichen" +#~ msgid "RNG^Short" +#~ msgstr "Klein" -#~ msgid "%s got too close to %s's mine" -#~ msgstr "%s ist %ss Mine zu nahe getreten" +#~ msgid "RNG^Normal" +#~ msgstr "Normal" -#~ msgid "%s was lasered to death by %s" -#~ msgstr "^1%s^1 wurde von %s^1 zu Tode gelasert" +#~ msgid "RNG^Long" +#~ msgstr "Groß" -#~ msgid "%s was cut in half by %s's gauntlet" -#~ msgstr "%s ist von %ss Gauntlet halbiert worden" +#~ msgid "RNG^Full" +#~ msgstr "Sehr groß" -#~ msgid "%s lasered themself to hell" -#~ msgstr "%s hat sich in die Hölle gelasert" +#~ msgid "WRN^None" +#~ msgstr "keine" -#~ msgid "%s did the impossible" -#~ msgstr "%s hat das Unmögliche geschafft" +#~ msgid "Flash blend approximation" +#~ msgstr "Flash-Blend-Näherung" -#~ msgid "%s ate %s's grenade" -#~ msgstr "%s nahm %ss Granate in den Mund" +#~ msgid "High Dynamic Range (HDR)" +#~ msgstr "Lichtdynamik (HDR)" -#~ msgid "%s almost dodged %s's grenade" -#~ msgstr "%s ist fast %ss Granate ausgewichen" +#~ msgid "Blur and sharpen postprocessing" +#~ msgstr "Schärfeeffekte" -#~ msgid "%s didn't see %s's grenade" -#~ msgstr "%s hat %ss Granate nicht gesehen" +#~ msgid "UI mouse speed:" +#~ msgstr "Mausgeschwindigkeit:" -#~ msgid "%s tasted %s's fireball" -#~ msgstr "%s hat von %ss Feuerball probiert" +#~ msgid "Mouse filter" +#~ msgstr "Mausfilterung" -#~ msgid "%s got too close to %s's fireball" -#~ msgstr "%s ist %ss Feuerball zu nahe getreten" +#~ msgid "Holding jump key keeps jumping" +#~ msgstr "Festhalten der Springen-Taste springt weiter" -#~ msgid "%s saw the pretty lights of %s's fireball" -#~ msgstr "%s hat die hübschen Lichter von %ss Feuerball gesehen" +#~ msgid "Minimize input latency" +#~ msgstr "Eingabelatenz minimieren" -#~ msgid "%s could not hide from %s's fireball" -#~ msgstr "%s konnte sich nicht vor %ss Feuerball verstecken" +#~ msgid "Network speed:" +#~ msgstr "Netzwerkgeschwindigkeit:" -#~ msgid "%s fatefully ignored %s's firemine" -#~ msgstr "%s hat tragischerweise %ss Feuermine ignoriert" +#~ msgid "HTTP downloads:" +#~ msgstr "HTTP-Downloads:" -#~ msgid "%s tried to catch %s's firemine" -#~ msgstr "%s hat versucht %ss Feuermine zu fangen" - -#~ msgid "%s should have used a smaller gun" -#~ msgstr "%s hätte eine kleinere Waffe nehmen sollen" +#~ msgid "Powerup sharpen" +#~ msgstr "Bonus-Schärfe" -#~ msgid "%s forgot about some firemine" -#~ msgstr "%s hat den Platz einer Feuermine vergessen" +#~ msgid "Damage & water blur" +#~ msgstr "Schadens-Unschärfe" -#~ msgid "%s took a close look at %s's Crylink" -#~ msgstr "%s schaute sich %ss Crylink sehr genau an" +#~ msgid "Disable multithreaded OpenGL" +#~ msgstr "OpenGL-Multithreading deaktivieren" -#~ msgid "%s was too close to %s's Crylink" -#~ msgstr "%s trat %ss Crylink zu nahe" +#~ msgid "All players" +#~ msgstr "Alle Spieler" -#~ msgid "%s could not hide from %s's Crylink" -#~ msgstr "%s konnte sich nicht vor %ss Crylink verstecken" +#~ msgid "Teammates" +#~ msgstr "Mitspieler" -#~ msgid "%s succeeded at self-destructing themself with the Crylink" -#~ msgstr "%s zerstörte sich selbst erfolgreich mit der Crylink" +#~ msgid "Show names:" +#~ msgstr "Namen anzeigen:" #~ 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" @@ -2902,11 +3284,21 @@ msgstr "T.A.G. Seeker" #~ "%s ist an seinen Ohrenschmerzen, die von %ss großartigem Spiel auf dem @!#" #~ "%%'n Akkordeon stammten, gestorben" +#~ msgid "%s died of %s's great playing on the @!#%%'n Tuba" +#~ msgstr "" +#~ "%s ist an seinen Ohrenschmerzen, die von %ss großartigem Spiel auf der @!#" +#~ "%%'n Tuba stammten, gestorben" + #~ msgid "%s hurt his own ears with the @!#%%'n Accordeon" #~ msgstr "" #~ "%s haben die Ohren geschmerzt von seinem eigenen Spiel auf dem @!#%%'n " #~ "Akkordeon" +#~ msgid "%s hurt his own ears with the @!#%%'n Tuba" +#~ msgstr "" +#~ "%s haben die Ohren geschmerzt von seinem eigenen Spiel auf der @!#%%'n " +#~ "Tuba" + #~ msgid "%s was gunned down with a shotgun by %s" #~ msgstr "%s wurde von %s erschossen" @@ -2922,30 +3314,69 @@ msgstr "T.A.G. Seeker" #~ msgid "%s played with tiny seeker rockets" #~ msgstr "%s hat mit kleinen Raketen gespielt" +#~ msgid "%s ate %s's rocket" +#~ msgstr "%s hat %ss Rakete in den Mund genommen" + +#~ msgid "%s almost dodged %s's rocket" +#~ msgstr "%s ist fast %ss Rakete ausgewichen" + +#~ msgid "%s got too close to %s's rocket" +#~ msgstr "%s ist %ss Rakete zu nahe getreten" + #~ msgid "%s was sniped with a rifle by %s" #~ msgstr "%s wurde von %s fachmännisch erledigt" #~ msgid "%s got shot in the head with a rifle by %s" #~ msgstr "%s hat ein Loch im Kopf bekommen; schuld war %s" +#~ msgid "%s failed to hide from %s's rifle" +#~ msgstr "%s hat es nicht geschafft, sich vor %ss Gewehr zu verstecken" + #~ msgid "%s died in %s's rifle bullet hail" #~ msgstr "%s ist in %ss Kugelhagel gefallen" #~ msgid "%s failed to hide from %s's rifle bullet hail" #~ msgstr "%s hat es nicht geschafft, sich vor %ss Kugelhagel zu verstecken" +#~ msgid "%s felt %s doing the impossible to him" +#~ msgstr "%s hat gespürt, wie %s das Unmögliche für ihn getan hat" + #~ msgid "%s has been vaporized by %s's nex" #~ msgstr "%s^1 wurde von %ss Nex vernichtet" #~ msgid "%s has been vaporized by %s's minstanex" #~ msgstr "%s^1 wurde von %ss MinstaNex vernichtet" +#~ msgid "%s is now thinking with portals" +#~ msgstr "%s kann jetzt mit Portalen denken" + +#~ msgid "%s stepped on %s's mine" +#~ msgstr "%s ist auf %ss Mine gelatscht" + +#~ msgid "%s almost dodged %s's mine" +#~ msgstr "%s ist fast %ss Mine ausgewichen" + +#~ msgid "%s got too close to %s's mine" +#~ msgstr "%s ist %ss Mine zu nahe getreten" + #~ msgid "%s forgot about their mine" #~ msgstr "%s hat den Platz einer Mine vergessen" +#~ msgid "%s was lasered to death by %s" +#~ msgstr "^1%s^1 wurde von %s^1 zu Tode gelasert" + +#~ msgid "%s was cut in half by %s's gauntlet" +#~ msgstr "%s ist von %ss Gauntlet halbiert worden" + +#~ msgid "%s lasered themself to hell" +#~ msgstr "%s hat sich in die Hölle gelasert" + #~ msgid "%s was caught in %s's hook gravity bomb" #~ msgstr "%s ist in %ss Gravitationsbombe reingelaufen" +#~ msgid "%s did the impossible" +#~ msgstr "%s hat das Unmögliche geschafft" + #~ msgid "%s was cut down with a HLAC by %s" #~ msgstr "%s wurde von %ss HLAC niedergehauen" @@ -2958,9 +3389,42 @@ msgstr "T.A.G. Seeker" #~ msgid "%s played with tiny hagar rockets" #~ msgstr "%s hat mit kleinen Raketen gespielt" +#~ msgid "%s ate %s's grenade" +#~ msgstr "%s nahm %ss Granate in den Mund" + +#~ msgid "%s almost dodged %s's grenade" +#~ msgstr "%s ist fast %ss Granate ausgewichen" + +#~ msgid "%s didn't see %s's grenade" +#~ msgstr "%s hat %ss Granate nicht gesehen" + #~ msgid "%s didn't see their own grenade" #~ msgstr "%s hat die eigene Granate übersehen" +#~ msgid "%s tasted %s's fireball" +#~ msgstr "%s hat von %ss Feuerball probiert" + +#~ msgid "%s got too close to %s's fireball" +#~ msgstr "%s ist %ss Feuerball zu nahe getreten" + +#~ msgid "%s saw the pretty lights of %s's fireball" +#~ msgstr "%s hat die hübschen Lichter von %ss Feuerball gesehen" + +#~ msgid "%s could not hide from %s's fireball" +#~ msgstr "%s konnte sich nicht vor %ss Feuerball verstecken" + +#~ msgid "%s fatefully ignored %s's firemine" +#~ msgstr "%s hat tragischerweise %ss Feuermine ignoriert" + +#~ msgid "%s tried to catch %s's firemine" +#~ msgstr "%s hat versucht %ss Feuermine zu fangen" + +#~ msgid "%s should have used a smaller gun" +#~ msgstr "%s hätte eine kleinere Waffe nehmen sollen" + +#~ msgid "%s forgot about some firemine" +#~ msgstr "%s hat den Platz einer Feuermine vergessen" + #~ msgid "%s was blasted by %s's blue electro bolt" #~ msgstr "%s wurde von %ss blauen Strahl erwischt" @@ -2981,3 +3445,33 @@ msgstr "T.A.G. Seeker" #~ msgid "%s could not remember where they put their electro plasma" #~ msgstr "%s vergaß, wo er das Plasma hingetan hatte" + +#~ msgid "%s took a close look at %s's Crylink" +#~ msgstr "%s schaute sich %ss Crylink sehr genau an" + +#~ msgid "%s was too close to %s's Crylink" +#~ msgstr "%s trat %ss Crylink zu nahe" + +#~ msgid "%s could not hide from %s's Crylink" +#~ msgstr "%s konnte sich nicht vor %ss Crylink verstecken" + +#~ msgid "%s succeeded at self-destructing themself with the Crylink" +#~ msgstr "%s zerstörte sich selbst erfolgreich mit der Crylink" + +#~ msgid "%s detonated" +#~ msgstr "%s verfing sich in der eigenen Detonation" + +#~ 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 shot themself automatically" +#~ msgstr "%s hat sich vollautomatisch selbst erschossen" + +#~ msgid "%s sniped themself somehow" +#~ msgstr "%s hat so scharf geschossen, dass er sich selbst getroffen hat" + +#~ msgid "%s tried out his own grenade" +#~ msgstr "%s wollte wissen, ob seine Granate funktioniert" diff --git a/menu.dat.el.po b/menu.dat.el.po index ad574ed9f..98ad18a00 100644 --- a/menu.dat.el.po +++ b/menu.dat.el.po @@ -1,345 +1,381 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# Γιάννης Α. , 2011. +# Γιάννης Α. , 2011, 2012. msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-12 12:24+0200\n" -"PO-Revision-Date: 2011-12-05 22:27-0000\n" -"Last-Translator: Γιάννης Α. \n" -"Language-Team: Γ.Α.\n" +"POT-Creation-Date: 2012-01-26 12:24+0100\n" +"PO-Revision-Date: 2012-01-29 22:01+0100\n" +"Last-Translator: Γιάννης \n" +"Language-Team: Ιωάννης Ανθυμίδης\n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.7.0\n" +"X-Generator: Virtaal 0.7.1\n" -#: qcsrc/menu/menu.qc:29 +#: qcsrc/common/mapinfo.qc:665 #, c-format -msgid "^4MQC Build information: ^1%s\n" -msgstr "^4MQC Πληροφορίες εκδοχής: ^1%s\n" +msgid "@!#%'n Tuba Throwing" +msgstr "" -#: qcsrc/menu/item/slider.c:64 +#: qcsrc/common/mapinfo.qc:1057 qcsrc/menu/xonotic/skinlist.c:166 #, c-format -msgid "%d (%s)" -msgstr "%d (%s)" +msgid "%s: %s" +msgstr "%s: %s" -#: 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:36 +msgid "Deathmatch" msgstr "" -#: qcsrc/menu/item/textslider.c:29 -#: qcsrc/menu/item/textslider.c:31 -msgid "custom" -msgstr "προσαρμογή" +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "" -#: qcsrc/menu/item/gecko.c:49 -msgid "Browser not initialized!" -msgstr "Ο περιηγητής δεν έχει αρχίσει!" +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Αρένα" -#: qcsrc/menu/item/listbox.c:300 -#, c-format -msgid "Item %d" -msgstr "Αντικείμενο %d" +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Αγώνας" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "" + +# Bit posh... :/ +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Κατάλυψη Σημαίας" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "" + +# About as cool as I could make it sound +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Κυριαρχία" + +# Could be improved +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Κυνήγι για κλειδιά" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "" + +#: qcsrc/common/mapinfo.qh:72 +msgid "Onslaught" +msgstr "" + +# See comments on "Nex" +#: 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/menu/gamecommand.qc:47 +#: qcsrc/menu/command/menu_cmd.qc:41 #, c-format msgid "error: status is %d\n" -msgstr "" +msgstr "σφάλμα: η κατατάσταση είναι %δ\n" -#: qcsrc/menu/gamecommand.qc:65 +#: qcsrc/menu/command/menu_cmd.qc:64 +#, fuzzy msgid "Usage: menu_cmd command..., where possible commands are:\n" -msgstr "" +msgstr "Χρήση: εντολή menu_cmd..., όπου οι δυνατές εντολές είναι:\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 "" -#: qcsrc/menu/gamecommand.qc:67 +#: qcsrc/menu/command/menu_cmd.qc:66 msgid " directmenu ITEM - select a menu item as main item\n" msgstr "" -#: qcsrc/menu/gamecommand.qc:193 +#: qcsrc/menu/command/menu_cmd.qc:179 msgid "error creating curl handle\n" msgstr "" -#: 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 "" -#: qcsrc/menu/xonotic/dialog_settings_video.c:4 -#: qcsrc/menu/xonotic/dialog_settings.c:19 -msgid "Video" -msgstr "Βίντεο" - -#: qcsrc/menu/xonotic/dialog_settings_video.c:26 -msgid "Resolution:" -msgstr "Ανάλυση:" - -#: qcsrc/menu/xonotic/dialog_settings_video.c:29 -#, fuzzy -msgid "Font/UI size:" -msgstr "Μέγεθος γραμματοσειράς/UI:" - -#: qcsrc/menu/xonotic/dialog_settings_video.c:31 -msgid "SZ^Unreadable" -msgstr "SZ^Αδιάβαστο" +#: qcsrc/menu/item/gecko.c:49 +msgid "Browser not initialized!" +msgstr "Ο περιηγητής δεν έχει αρχίσει!" -#: qcsrc/menu/xonotic/dialog_settings_video.c:32 -msgid "SZ^Tiny" -msgstr "SZ^Μικροσκοπικό" +#: 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_settings_video.c:33 -msgid "SZ^Little" -msgstr "SZ^Μικρούτσικο" +#: qcsrc/menu/item/listbox.c:300 +#, c-format +msgid "Item %d" +msgstr "Αντικείμενο %d" -#: qcsrc/menu/xonotic/dialog_settings_video.c:34 -msgid "SZ^Small" -msgstr "SZ^Μικρό" +#: qcsrc/menu/item/slider.c:64 +#, c-format +msgid "%d (%s)" +msgstr "%d (%s)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:35 -msgid "SZ^Medium" -msgstr "SZ^Μεσαίο" +#: qcsrc/menu/item/textslider.c:29 qcsrc/menu/item/textslider.c:31 +msgid "custom" +msgstr "προσαρμογή" -#: qcsrc/menu/xonotic/dialog_settings_video.c:36 -msgid "SZ^Large" -msgstr "SZ^Μεγάλο" +#: qcsrc/menu/menu.qc:37 +#, c-format +msgid "^4MQC Build information: ^1%s\n" +msgstr "^4MQC Πληροφορίες εκδοχής: ^1%s\n" -#: qcsrc/menu/xonotic/dialog_settings_video.c:37 -msgid "SZ^Huge" -msgstr "SZ^Τεράστιο" +#: qcsrc/menu/xonotic/campaign.c:288 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:123 +msgid "???" +msgstr ";;;" -#: qcsrc/menu/xonotic/dialog_settings_video.c:38 -msgid "SZ^Gigantic" -msgstr "SZ^Γιγάντιο" +#: qcsrc/menu/xonotic/campaign.c:289 +#, c-format +msgid "Level %d: %s" +msgstr "Επίπεδο %d:%s" -# Maybe τιτανικό (titanic) would be better, this may be associated with the Colosseum in Rome... -#: qcsrc/menu/xonotic/dialog_settings_video.c:39 -#, fuzzy -msgid "SZ^Colossal" -msgstr "SZ^Κολοσσαίο" +#: qcsrc/menu/xonotic/cvarlist.c:85 +msgid "will be saved to config.cfg" +msgstr "θα αποθηκευτεί στο config.cfg" -#: qcsrc/menu/xonotic/dialog_settings_video.c:42 -msgid "Color depth:" -msgstr "Βάθος χρώματος:" +#: qcsrc/menu/xonotic/cvarlist.c:87 +msgid "will not be saved" +msgstr "δεν θα αποθηκευτεί" -#: qcsrc/menu/xonotic/dialog_settings_video.c:45 -msgid "Full screen" -msgstr "Πλήρης οθόνη" +#: qcsrc/menu/xonotic/cvarlist.c:89 +msgid "private" +msgstr "προσωπικές" -#: qcsrc/menu/xonotic/dialog_settings_video.c:46 -msgid "Vertical Synchronization" +#: qcsrc/menu/xonotic/cvarlist.c:91 +msgid "engine setting" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_video.c:49 -msgid "Use OpenGL 2.0 shaders (GLSL)" -msgstr "Χρήση σκιών (shaders) OpenGL 2.0 (GLSL)" +#: qcsrc/menu/xonotic/cvarlist.c:93 +msgid "read only" +msgstr "μόνο για ανάγνωση" -#: qcsrc/menu/xonotic/dialog_settings_video.c:52 -msgid "Use GLSL to handle color control" -msgstr "" +#: qcsrc/menu/xonotic/dialog_credits.c:5 +msgid "Credits" +msgstr "Ευχαριστίες" -#: qcsrc/menu/xonotic/dialog_settings_video.c:56 -msgid "Vertex Buffer Objects (VBOs)" -msgstr "" +#: qcsrc/menu/xonotic/dialog_credits.c:21 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82 +#: 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 "ΟΚ" -#: qcsrc/menu/xonotic/dialog_settings_video.c:59 -msgid "VBO^Off" -msgstr "" +#: qcsrc/menu/xonotic/dialog_firstrun.c:4 +msgid "Welcome" +msgstr "Καλώσορίσατε" -#: qcsrc/menu/xonotic/dialog_settings_video.c:60 -msgid "Vertices, some Tris (compatible)" +#: 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 "" +"Καλώσορίσατε στο Xonotic, πάρακαλούμε επιλέξτε της γλώσσα προτίμησης σας και " +"είσαγετε το όνομά σας. Μπορείτε να αλλάξετε αυτές τις επιλογές αργότερα μέσω " +"του μενού." -#: qcsrc/menu/xonotic/dialog_settings_video.c:63 -msgid "Vertices" -msgstr "Κορυφές" +#: 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 "Όνομα:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:64 -msgid "Vertices and Triangles" -msgstr "Κορυφές και Τρίγωνα" +#: qcsrc/menu/xonotic/dialog_firstrun.c:68 +#: qcsrc/menu/xonotic/dialog_settings_user.c:65 +msgid "Text language:" +msgstr "Γλώσσα κειμένου:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:67 -msgid "Depth first:" +#: qcsrc/menu/xonotic/dialog_firstrun.c:77 +msgid "Allow player statistics to use your nickname at stats.xonotic.org?" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_video.c:69 -msgid "DF^Disabled" +#: qcsrc/menu/xonotic/dialog_firstrun.c:81 +msgid "ALWU2N^Yes" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_video.c:70 -msgid "DF^World" +#: qcsrc/menu/xonotic/dialog_firstrun.c:82 +msgid "ALWU2N^No" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_video.c:71 -msgid "DF^All" +#: qcsrc/menu/xonotic/dialog_firstrun.c:83 +msgid "ALWU2N^Undecided" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_video.c:75 -msgid "Disable multithreaded OpenGL" -msgstr "" +#: qcsrc/menu/xonotic/dialog_firstrun.c:87 +msgid "Save settings" +msgstr "Αποθήκευση ρυθμίσεων" -#: qcsrc/menu/xonotic/dialog_settings_video.c:77 -msgid "Wait for GPU to finish each frame" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4 +msgid "Ammo Panel" +msgstr "Πίνακας Πυρομαχικών" -#: qcsrc/menu/xonotic/dialog_settings_video.c:80 -msgid "Brightness:" -msgstr "Φωτεινότητα:" +#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:22 +msgid "Ammunition display:" +msgstr "Προβολή πυρομαχικών:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:83 -msgid "Contrast:" -msgstr "Αντίθεση:" +#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:25 +msgid "Show only current ammo type" +msgstr "Προβολή μόνο του τρέχων πυρομαχικού" -#: qcsrc/menu/xonotic/dialog_settings_video.c:86 -msgid "Gamma:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:28 +msgid "Align icon:" +msgstr "Ευθυγράμμιση εικονιδίου:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:91 -msgid "Contrast boost:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29 +#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:36 +#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:28 +#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:40 +#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:28 +#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:40 +msgid "Left" +msgstr "Αριστερά" -#: qcsrc/menu/xonotic/dialog_settings_video.c:96 -msgid "Saturation:" -msgstr "Κορεσμός:" +#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30 +#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38 +#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:30 +#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:41 +#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:30 +#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41 +msgid "Right" +msgstr "Δεξιά" -#: qcsrc/menu/xonotic/dialog_settings_video.c:102 -msgid "LIT^Ambient:" +#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4 +msgid "Centerprint" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_video.c:105 -msgid "Intensity:" -msgstr "Ένταση:" - -#: qcsrc/menu/xonotic/dialog_settings_video.c:109 -#: qcsrc/menu/xonotic/dialog_settings_input.c:74 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:30 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:41 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:195 -#: qcsrc/menu/xonotic/dialog_settings_effects.c:194 -#: qcsrc/menu/xonotic/dialog_settings_audio.c:173 -msgid "Apply immediately" -msgstr "Άμεση εφαρμογή" +#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:23 +msgid "Message duration:" +msgstr "Διάρκεια μηνυμάτων:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4 -msgid "Panel HUD Setup" +#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:27 +msgid "Fade time:" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:21 -msgid "Panel background defaults:" +#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:31 +msgid "Flip messages order" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 -#: qcsrc/menu/xonotic/util.qc:587 -msgid "Background:" -msgstr "Φόντο:" - -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:25 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:37 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:52 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 -#: qcsrc/menu/xonotic/util.qc:590 -#: qcsrc/menu/xonotic/util.qc:606 -#: qcsrc/menu/xonotic/util.qc:623 -msgid "Disable" -msgstr "Απενεργοποίηση" - -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 -#: qcsrc/menu/xonotic/util.qc:595 -msgid "Color:" -msgstr "Χρώμα:" +#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:33 +msgid "Text alignment:" +msgstr "Ευθυγράμμιση κειμένου" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 -#: qcsrc/menu/xonotic/util.qc:603 -msgid "Border size:" -msgstr "Μέγεθος περιθωρίου:" +#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:51 +msgid "Center" +msgstr "Στο κέντρο" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:43 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:82 -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:32 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:154 -#: qcsrc/menu/xonotic/util.qc:612 -msgid "Alpha:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:41 +msgid "Font scale:" +msgstr "Μέγεθος γραμματοσειράς:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:50 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:89 -msgid "Team color:" -msgstr "Χρώμα ομάδας:" +#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4 +msgid "Chat Panel" +msgstr "Πίνακας Ομιλίας" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 -#: qcsrc/menu/xonotic/util.qc:629 -msgid "Test team color in configure mode" +#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:22 +msgid "Chat entries:" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 -#: qcsrc/menu/xonotic/util.qc:632 -msgid "Padding:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:25 +msgid "Chat size:" +msgstr "Μέγεθος ομιλίας:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:68 -msgid "HUD Dock:" +#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:29 +msgid "Chat lifetime:" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:70 -msgid "DOCK^Disabled" -msgstr "DOCK^Απενεργοποιημένο" - -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71 -msgid "DOCK^Small" -msgstr "DOCK^Μικρό" - -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72 -msgid "DOCK^Medium" -msgstr "DOCK^Μεσαίο" +#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:33 +msgid "Chat beep sound" +msgstr "Ήχος ομιλίας" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73 -msgid "DOCK^Large" -msgstr "DOCK^Μεγάλο" +#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4 +msgid "Engine Info Panel" +msgstr "Πίνακας Πληροφοριών Μηχανής" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:96 -msgid "Grid settings:" -msgstr "Ρυθμίσεις πλέγματος:" +#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:22 +msgid "Engine info:" +msgstr "Πληροφορίες μηχανής:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:99 -msgid "Snap panels to grid" +#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:25 +msgid "Use an averaging algorithm for fps" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:102 -msgid "Grid size:" -msgstr "Μέγεθος πλέγματος:" - -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103 -msgid "X:" -msgstr "Χ:" +#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4 +msgid "Health/Armor Panel" +msgstr "Πίνακας Ζωής/Πανοπλίας" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:109 -msgid "Y:" -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_hudsetup_exit.c:117 -msgid "Exit setup" -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_vote.c:4 -msgid "Vote Panel" +#: 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_vote.c:22 -msgid "Alpha after voting:" +#: 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_modicons.c:4 -msgid "Mod Icons Panel" +# Στοίχιση; +#: 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_hudpanel_infomessages.c:4 -#, fuzzy msgid "Info Messages Panel" msgstr "Πίνακας Πληροφοριών" @@ -352,261 +388,287 @@ msgstr "Πληροφοριακά μηνύματα:" msgid "Flip align" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5 -msgid "Waypoints" +#: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4 +msgid "Mod Icons Panel" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23 -msgid "Show base waypoints" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4 +msgid "Notification Panel" +msgstr "Πίνακας Ανακοινώσεων" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25 -msgid "Waypoint scale:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:22 +msgid "Notifications:" +msgstr "Ανακοινώσεις:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29 -msgid "Waypoint alpha:" +#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:25 +msgid "Also print notifications to the console" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34 -msgid "Show names:" -msgstr "Εμφάνιση ονομάτων:" +#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:28 +msgid "Flip notify order" +msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36 -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26 -msgid "Never" -msgstr "Ποτέ" +#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:31 +msgid "Entry lifetime:" +msgstr "" -# Might just mean other people playing with you, literally (official definition) "co-players" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37 -#, fuzzy -msgid "Teammates" -msgstr "Συμπαίκτες" +#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:35 +msgid "Entry fadetime:" +msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38 -msgid "All players" -msgstr "Όλοι οι παίκτες" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4 +msgid "Physics Panel" +msgstr "Πίνακας Φυσικής" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:41 -#: qcsrc/menu/xonotic/dialog_credits.c:21 -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:61 -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:269 -#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:21 -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:82 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:57 -msgid "OK" -msgstr "ΟΚ" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:22 +#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:21 +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:21 +msgid "Panel disabled" +msgstr "Πίνακας απενεργοποιημένος" -#: qcsrc/menu/xonotic/dialog_credits.c:5 -msgid "Credits" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23 +msgid "Panel enabled" +msgstr "Πίνακας ενεργός" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 -msgid "Advanced settings" -msgstr "Προχωρημένες ρυθμίσεις:" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24 +msgid "Panel enabled even observing" +msgstr "Πίνακας ενεργός και στην θέαση" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23 -msgid "Cvar filter:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25 +msgid "Panel enabled only in Race/CTS" +msgstr "Πίνακας ενεργός μόνο σε Αγώνα/CTS" -#: 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" -msgstr "Εκκαθάριση" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:31 +msgid "Status bar" +msgstr "Γραμμή κατάστασης" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34 -msgid "Setting:" -msgstr "Ρύθμιση:" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:33 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:49 +msgid "Left align" +msgstr "Ευθυγράμμιση στα αριστερά" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254 -msgid "Type:" -msgstr "Τύπος:" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:53 +msgid "Right align" +msgstr "Ευθυγράμμιση στα δεξιά" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42 -#, fuzzy -msgid "Value:" -msgstr "Τιμή:" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35 +msgid "Inward align" +msgstr "Ευθυγράμμιση προς τα μέσα" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56 -msgid "Description:" -msgstr "Περιγραφή:" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36 +msgid "Outward align" +msgstr "Ευθυγράμμιση προς τα έξω" -#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4 -msgid "Pressed Keys Panel" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:40 +msgid "Flip speed/acceleration positions" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:21 -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:22 -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:21 -msgid "Panel disabled" -msgstr "Πίνακας απενεργοποιημένος" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:29 +msgid "Speed:" +msgstr "Ταχύτητα" -#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22 -msgid "Panel enabled when spectating" -msgstr "Πίνακας ενεργοποιημένος στην θέαση" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45 +msgid "Include vertical speed" +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_physics.c:56 +msgid "Speed unit:" +msgstr "Μονάδα ταχύτητας:" -#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:30 -msgid "Forced aspect:" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:58 +msgid "qu/s" msgstr "" -#: qcsrc/menu/xonotic/dialog_teamselect.c:5 -msgid "Team Selection" -msgstr "Επιλογή Ομαδάς" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59 +msgid "m/s" +msgstr "μέτρα/δευτερόλεπτο" -#: qcsrc/menu/xonotic/dialog_teamselect.c:41 -msgid "join 'best' team (auto-select)" -msgstr "μπες στην «καλύτερη» ομάδα (αυτόματη επιλογή)" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60 +msgid "km/h" +msgstr "χλμ/ώρα" -#: qcsrc/menu/xonotic/dialog_teamselect.c:45 -msgid "red" -msgstr "κόκκινο" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61 +msgid "mph" +msgstr "μίλια/ώρα" -#: qcsrc/menu/xonotic/dialog_teamselect.c:46 -msgid "blue" -msgstr "μπλε" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62 +msgid "knots" +msgstr "κόμβοι" -#: qcsrc/menu/xonotic/dialog_teamselect.c:47 -msgid "yellow" -msgstr "κίτρινο" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64 +msgid "Show" +msgstr "Εμφάνιση" -#: qcsrc/menu/xonotic/dialog_teamselect.c:48 -msgid "pink" -msgstr "ροζ" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67 +msgid "Top speed" +msgstr "Μέγιστη ταχύτητα" -#: qcsrc/menu/xonotic/dialog_teamselect.c:51 -msgid "spectate" -msgstr "θέαση" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:73 +msgid "Acceleration:" +msgstr "Επιτάχυνση:" -#: qcsrc/menu/xonotic/slider_resolution.c:65 -#, c-format -msgid "%dx%d" -msgstr "%dx%d" +#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74 +msgid "Include vertical acceleration" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings.c:4 -msgid "Settings" -msgstr "Ρυθμίσεις" +#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4 +msgid "Powerups Panel" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings.c:18 -#: qcsrc/menu/xonotic/dialog_settings_input.c:4 -msgid "Input" -msgstr "Εισαγωγή" +#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:45 +msgid "Flip strength and shield positions" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings.c:20 -#: qcsrc/menu/xonotic/dialog_settings_effects.c:4 -msgid "Effects" -msgstr "Εφέ" +#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4 +msgid "Pressed Keys Panel" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings.c:21 -#: qcsrc/menu/xonotic/dialog_settings_audio.c:4 -msgid "Audio" -msgstr "Ήχος" +#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22 +msgid "Panel enabled when spectating" +msgstr "Πίνακας ενεργοποιημένος στην θέαση" -#: qcsrc/menu/xonotic/dialog_settings.c:22 -#: qcsrc/menu/xonotic/dialog_settings_network.c:4 -msgid "Network" -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_settings.c:23 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:4 -msgid "Misc" -msgstr "Λοιπά" +#: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:30 +msgid "Forced aspect:" +msgstr "" -#: qcsrc/menu/xonotic/dialog_firstrun.c:4 -msgid "Welcome" -msgstr "Καλώσορίσατε" +#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4 +msgid "Race Timer 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." -msgstr "Καλώσορίσατε στο Xonotic, πάρακαλούμε επιλέξτε της γλώσσα προτίμησης σας και είσαγετε το όνομά σας. Μπορείτε να αλλάξετε αυτές τις επιλογές αργότερα μέσω του μενού." +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4 +msgid "Radar Panel" +msgstr "Πίνακας Ραντάρ" -#: qcsrc/menu/xonotic/dialog_firstrun.c:38 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 -msgid "Text language:" -msgstr "Γλώσσα κειμένου:" +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22 +msgid "Panel enabled in teamgames" +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:" -msgstr "Όνομα:" +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:29 +msgid "Radar:" +msgstr "Ραντάρ:" -#: qcsrc/menu/xonotic/dialog_firstrun.c:69 -msgid "Save settings" -msgstr "Αποθήκευση ρυθμίσεων" +#: 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_hud.c:66 +#: qcsrc/menu/xonotic/util.qc:655 +msgid "Alpha:" +msgstr "" -#: qcsrc/menu/xonotic/campaign.c:284 -#: qcsrc/menu/xonotic/dialog_singleplayer.c:123 -msgid "???" -msgstr ";;;" +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:36 +msgid "Rotation:" +msgstr "Περιστροφή:" -#: qcsrc/menu/xonotic/campaign.c:285 -#, c-format -msgid "Level %d: %s" -msgstr "Επίπεδο %d:%s" +# Don't know the context of this. +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:38 +msgid "Forward" +msgstr "Εμπρός" -#: qcsrc/menu/xonotic/dialog_settings_input.c:26 -msgid "Key bindings:" -msgstr "Διαμόρφωση πλήκτρων:" +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39 +msgid "West" +msgstr "Δυτικά" -#: qcsrc/menu/xonotic/dialog_settings_input.c:31 -msgid "Change key..." -msgstr "Αλλαγή πλήκτρου..." +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40 +msgid "South" +msgstr "Νότια" -#: qcsrc/menu/xonotic/dialog_settings_input.c:35 -msgid "Edit..." -msgstr "Επεξεργασία..." +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41 +msgid "East" +msgstr "Ανατολικά" -#: qcsrc/menu/xonotic/dialog_settings_input.c:46 -msgid "Sensitivity:" -msgstr "Ταχύτητα δείκτη:" +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42 +msgid "North" +msgstr "Βόρεια" -#: qcsrc/menu/xonotic/dialog_settings_input.c:51 -msgid "UI mouse speed:" -msgstr "Ταχύτητα δείκτη στην διεπαφή:" +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61 +msgid "Scale:" +msgstr "Κλίμακα:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:55 -msgid "Mouse filter" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:50 +msgid "Zoom mode:" +msgstr "Ρύθμιση μεγέθυνσης:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:57 -#, fuzzy -msgid "Invert mouse" -msgstr "Ανάτρεψη ποντικιού" +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:52 +msgid "Zoomed in" +msgstr "Μεγεθυμένο" -#: qcsrc/menu/xonotic/dialog_settings_input.c:60 -#: qcsrc/menu/xonotic/dialog_settings_input.c:62 -msgid "Use joystick input" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53 +msgid "Zoomed out" +msgstr "Σμικρυσμένο" -#: qcsrc/menu/xonotic/dialog_settings_input.c:65 -#: qcsrc/menu/xonotic/dialog_settings_input.c:67 -msgid "Turn off OS mouse acceleration" -msgstr "Απενεργοποίηση επιτάχυνσης δείκτη από λειτουργικό σύστημα" +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54 +msgid "Always zoomed" +msgstr "Πάντα μεγεθυμένο" + +#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55 +msgid "Never zoomed" +msgstr "Ποτέ μεγεθυμένο" + +#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4 +msgid "Score Panel" +msgstr "Πίνακας Βαθμολογίας" + +#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22 +msgid "Score:" +msgstr "Βαθμολογία:" + +#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25 +msgid "Rankings:" +msgstr "Κατατάξεις:" + +#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26 +msgid "Off" +msgstr "Ανενεργό" -#: qcsrc/menu/xonotic/dialog_settings_input.c:69 -msgid "\"enter console\" also closes" +#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27 +msgid "And me" +msgstr "Και εγώ" + +#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28 +msgid "Pure" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_input.c:72 -msgid "Holding jump key keeps jumping" +#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4 +msgid "Timer Panel" +msgstr "Πίνακας Χρονοδιακόπτη" + +#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:22 +msgid "Timer:" +msgstr "Χρονόμετρο:" + +#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:25 +#, fuzzy +msgid "Show elapsed time" +msgstr "Προβολή παρελθόμενου χρόνου" + +#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:4 +msgid "Vote Panel" +msgstr "Πίνακας Ψήφοφορίας" + +#: qcsrc/menu/xonotic/dialog_hudpanel_vote.c:22 +msgid "Alpha after voting:" msgstr "" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:4 msgid "Weapons Panel" -msgstr "" +msgstr "Πίνακας Οπλισμού" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:24 msgid "Fade out after:" msgstr "" +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26 +msgid "Never" +msgstr "Ποτέ" + #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:28 #, c-format msgid "%ds" @@ -661,7 +723,6 @@ msgid "Show Accuracy" msgstr "Εμφάνιση Ακρίβειας" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 -#, fuzzy msgid "Show Ammo" msgstr "Εμφάνιση Πυρομαχικών" @@ -673,383 +734,366 @@ msgstr "" msgid "Ammo bar alpha:" msgstr "" -#: qcsrc/menu/xonotic/mainwindow.c:35 -#: qcsrc/menu/xonotic/mainwindow.c:38 -msgid "Do not press this button again!" -msgstr "Μην ξαναπατήσεις αυτό το κουμπί!" - -#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4 -msgid "Engine Info Panel" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:4 +msgid "Panel HUD Setup" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:22 -msgid "Engine info:" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:21 +msgid "Panel background defaults:" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:25 -msgid "Use an averaging algorithm for fps" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 qcsrc/menu/xonotic/util.qc:630 +msgid "Background:" +msgstr "Φόντο:" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4 -msgid "Physics Panel" -msgstr "Πίνακας Φυσικής" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:25 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:37 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:52 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:633 +#: qcsrc/menu/xonotic/util.qc:649 qcsrc/menu/xonotic/util.qc:666 +msgid "Disable" +msgstr "Απενεργοποίηση" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23 -msgid "Panel enabled" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:638 +msgid "Color:" +msgstr "Χρώμα:" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24 -msgid "Panel enabled even observing" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:646 +msgid "Border size:" +msgstr "Μέγεθος περιθωρίου:" + +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:50 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:89 +msgid "Team color:" +msgstr "Χρώμα ομάδας:" + +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:672 +msgid "Test team color in configure mode" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25 -msgid "Panel enabled only in Race/CTS" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:675 +msgid "Padding:" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:31 -msgid "Status bar" -msgstr "Γραμμή κατάστασης" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:68 +msgid "HUD Dock:" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:33 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:48 -#, fuzzy -msgid "Left align" -msgstr "Ευθυγράμμιση στα αριστερά" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:70 +msgid "DOCK^Disabled" +msgstr "DOCK^Απενεργοποιημένο" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:34 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:52 -#, fuzzy -msgid "Right align" -msgstr "Ευθυγράμμιση στα δεξιά" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71 +msgid "DOCK^Small" +msgstr "DOCK^Μικρό" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35 -#, fuzzy -msgid "Inward align" -msgstr "Ευθυγράμμιση προς τα μέσα" - -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36 -#, fuzzy -msgid "Outward align" -msgstr "Ευθυγράμμιση προς τα έξω" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72 +msgid "DOCK^Medium" +msgstr "DOCK^Μεσαίο" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:40 -msgid "Flip speed/acceleration positions" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73 +msgid "DOCK^Large" +msgstr "DOCK^Μεγάλο" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44 -msgid "Speed:" -msgstr "Ταχύτητα" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:96 +msgid "Grid settings:" +msgstr "Ρυθμίσεις πλέγματος:" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45 -msgid "Include vertical speed" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:99 +msgid "Snap panels to grid" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:56 -msgid "Speed unit:" -msgstr "Μονάδα ταχύτητας:" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:102 +msgid "Grid size:" +msgstr "Μέγεθος πλέγματος:" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:58 -msgid "qu/s" -msgstr "" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:103 +msgid "X:" +msgstr "Χ:" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:59 -msgid "m/s" -msgstr "μέτρα/δευτερόλεπτο" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:109 +msgid "Y:" +msgstr "Ψ:" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:60 -msgid "km/h" -msgstr "χλμ/ώρα" +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:117 +msgid "Exit setup" +msgstr "Έξοδος ρύθμισης" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:61 -msgid "mph" -msgstr "μίλια/ώρα" +#: qcsrc/menu/xonotic/dialog_multiplayer.c:4 +msgid "Multiplayer" +msgstr "Πολλαπλοί παίκτες" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:62 -msgid "knots" -msgstr "κόμβοι" +#: qcsrc/menu/xonotic/dialog_multiplayer.c:18 +msgid "Servers" +msgstr "Διακομιστές" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64 -msgid "Show" -msgstr "Εμφάνιση" +#: qcsrc/menu/xonotic/dialog_multiplayer.c:19 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5 +msgid "Create" +msgstr "Δημιουργία" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67 -msgid "Top speed" -msgstr "Μέγιστη ταχύτητα" +#: qcsrc/menu/xonotic/dialog_multiplayer.c:20 +msgid "Demos" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:73 -msgid "Acceleration:" -msgstr "Επιτάχυνση:" +#: qcsrc/menu/xonotic/dialog_multiplayer.c:21 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5 +msgid "Player Setup" +msgstr "Ρύθμισεις Παίκτη" -#: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74 -msgid "Include vertical acceleration" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34 +msgid "Game type:" +msgstr "Τύπος παιχνιδιού:" -#: qcsrc/menu/xonotic/dialog_quit.c:4 -msgid "Quit" -msgstr "Έξοδος" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48 +msgid "Time limit:" +msgstr "Χρονικό όριο:" -#: qcsrc/menu/xonotic/dialog_quit.c:17 -#, fuzzy -msgid "Are you sure you want to quit?" -msgstr "Είσαι σίγουρος-η ότι θες να βγεις από το παιχνίδι;" +#: 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_quit.c:20 -msgid "Yes" -msgstr "Ναι" +#: 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_quit.c:21 -msgid "No" -msgstr "Όχι" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63 +msgid "Player slots:" +msgstr "Θέσεις παικτών:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4 -msgid "Join" -msgstr "Σύνδεση" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66 +msgid "Number of bots:" +msgstr "Αριθμός ρομπότ:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28 -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:32 -msgid "Filter:" -msgstr "Φίλτρο:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69 +msgid "Bot skill:" +msgstr "Ικανότητα bot:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36 -msgid "SRVS^Empty" -msgstr "" +# Ρομποτικό; +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72 +msgid "Botlike" +msgstr "Χαζό ρομπότ" -#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40 -msgid "SRVS^Full" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73 +msgid "Beginner" +msgstr "Αρχάριο" -#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44 -msgid "Pause" -msgstr "Παύση" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 +msgid "You will win" +msgstr "Θα νικήσεις" -#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 -msgid "Address:" -msgstr "Διεύθυνση" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 +msgid "You can win" +msgstr "Μπορείς να νικήσεις" -#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67 -msgid "Info..." -msgstr "Πληροφορίες..." +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 +msgid "You might win" +msgstr "Θα μπορούσες να νικήσεις" -#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:317 -msgid "Join!" -msgstr "Σύνδεση!" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 +msgid "Advanced" +msgstr "Προχωρημένο" -#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4 -msgid "Notification Panel" -msgstr "Πίνακας Ανακοινώσεων" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 +msgid "Expert" +msgstr "Ειδικό" -#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:22 -msgid "Notifications:" -msgstr "Ανακοινώσεις:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 +msgid "Pro" +msgstr "Εππαγγελματικό" -#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:25 -msgid "Also print notifications to the console" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 +msgid "Assassin" +msgstr "Δολοφονικό" -#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:28 -msgid "Flip notify order" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 +msgid "Unhuman" +msgstr "Απάνθρωπο" -#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:31 -msgid "Entry lifetime:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 +msgid "Godlike" +msgstr "Θεικό" -#: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:35 -msgid "Entry fadetime:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87 +msgid "Mutators..." msgstr "" -#: qcsrc/menu/xonotic/util.qh:47 -msgid "Enable panel" -msgstr "Ενεργοποίηση πίνακα" - -# It's good, but is it good enough? -#: qcsrc/menu/xonotic/dialog_settings_misc.c:26 -#, fuzzy -msgid "Menu skins:" -msgstr "Σχέδια μενού:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:96 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:145 +msgid "Advanced settings..." +msgstr "Προχωρημένες ρυθμίσεις..." -#: qcsrc/menu/xonotic/dialog_settings_misc.c:47 -msgid "Show current time" -msgstr "Εμφάνιση τρέχων ώρας" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103 +msgid "Map list:" +msgstr "Λίστα χάρτων" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:49 -msgid "Show current date" -msgstr "Εμφάνιση τρέχων ημερομηνίας" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109 +msgid "Select all" +msgstr "Επιλογή όλων" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:51 -msgid "Show frames per second" -msgstr "Εμφάνιση καρέ ανα δευτερόλεπτο" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112 +msgid "Select none" +msgstr "Επιλογή κανενός" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:53 -msgid "Minimize input latency" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118 +msgid "Start Multiplayer!" +msgstr "Εναρξή παιχνιδιού πολλαπλών παικτών!" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:57 -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:97 -msgid "Advanced settings..." -msgstr "Προχωρημένες ρυθμίσεις..." +# Bit posh... :/ +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153 +msgid "Capture limit:" +msgstr "Όριο καταλύψεων:" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:4 -#, fuzzy -msgid "Singleplayer" -msgstr "Μονό" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157 +msgid "Lives:" +msgstr "Ζωές" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:116 -msgid "Instant action! (random map with bots)" -msgstr "Άμεση δράση! (τυχαίος χάρτης με ρομπότ)" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 +msgid "Laps:" +msgstr "Γύροι:" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:137 -#, fuzzy -msgid "Start Singleplayer!" -msgstr "Έναρξη παιχνίδι ενός παίκτη!" +# Unsure of where this goes, but I think this is about right +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 +msgid "Goals:" +msgstr "Στόχοι:" -#: qcsrc/menu/xonotic/skinlist.c:105 -msgid "" +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163 +msgid "Frag limit:" msgstr "" -#: qcsrc/menu/xonotic/skinlist.c:106 -msgid "<AUTHOR>" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6 +msgid "Advanced server settings" +msgstr "Προχωρημένες ρυθμίσεις εξυπηρετητή" -#: qcsrc/menu/xonotic/skinlist.c:163 -#: qcsrc/common/mapinfo.qc:1092 -#, c-format -msgid "%s: %s" -msgstr "%s: %s" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25 +msgid "Game settings:" +msgstr "Ρυθμίσεις παιχνιδιού:" -#: qcsrc/menu/xonotic/dialog_news.c:4 -msgid "News" -msgstr "Νέα" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28 +msgid "Allow spectating" +msgstr "Επιτρέπεται η θέαση" -#: qcsrc/menu/xonotic/dialog_news.c:18 -msgid "http://www.xonotic.org/team/blog/" -msgstr "http://www.xonotic.org/team/blog/" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31 +msgid "Spawn shield:" +msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5 -msgid "Server Information" -msgstr "Πληροφορίες Διακομιστή" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36 +msgid "Game speed:" +msgstr "Ταχύτητα παιχνιδιού" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:115 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:116 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:183 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:189 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:199 -msgid "N/A" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40 +msgid "Teamplay settings:" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:158 -#, c-format -msgid "%d/%d, %d free player slots" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43 +msgid "Friendly fire scale:" msgstr "" -# I would seriously prefer "Default settings" for this... official makes it sound as if they will work for certain. -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 -#, fuzzy -msgid "Official settings" -msgstr "Επίσημες ρυθμίσεις" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47 +msgid "Virtual friendly fire (effect only)" +msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 -#, c-format -msgid "%d modified settings" -msgstr "%d τροποποιημένες ρυθμίσεις" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50 +msgid "Friendly fire penalty:" +msgstr "Ποινή φιλικής πυράς:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197 -msgid "N/A (can't connect)" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54 +msgid "Virtual penalty (effect only)" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205 -msgid "not supported (can't connect)" -msgstr "δεν υποστηρίζεται (δεν συνδέεται)" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207 -msgid "not supported (won't encrypt)" -msgstr "δεν υποστηρίζεται (δεν κρυπτογραφείζεται)" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57 +msgid "Teams:" +msgstr "Ομάδες:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211 -msgid "supported (will encrypt)" -msgstr "υποστηρίζεται (θα κρυπτογραφειθεί)" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66 +msgid "Map voting:" +msgstr "Ψηφοφορία για χάρτη:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213 -msgid "supported (won't encrypt)" -msgstr "υποστηρίζεται (δεν κρυπτογραφίζεται)" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68 +msgid "No voting" +msgstr "Χωρίς ψήφοφορία" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217 -msgid "requested (will encrypt)" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69 +msgid "2 choices" +msgstr "2 επιλογές" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219 -msgid "requested (won't encrypt)" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70 +msgid "3 choices" +msgstr "3 επιλογές" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223 -msgid "required (can't connect)" -msgstr "απαιτήται (δεν συνδέεται)" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71 +msgid "4 choices" +msgstr "4 επιλογές" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225 -msgid "required (will encrypt)" -msgstr "απαιτήται (θα κρυπτογραφειθεί)" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72 +msgid "5 choices" +msgstr "5 επιλογές" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269 -msgid "Players:" -msgstr "Παίκτες:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73 +msgid "6 choices" +msgstr "6 επιλογές" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259 -msgid "Map:" -msgstr "Χάρτης:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74 +msgid "7 choices" +msgstr "7 επιλογές" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264 -msgid "Gameplay:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75 +msgid "8 choices" +msgstr "8 επιλογές" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274 -msgid "Bots:" -msgstr "Ρομπότ:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76 +msgid "9 choices" +msgstr "9 επιλογές" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279 -msgid "Mod:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79 +msgid "Simple majority wins vcall" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284 -msgid "Version:" -msgstr "Έκδοση:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:5 +msgid "Map Information" +msgstr "Πληροφορίες Χάρτη" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289 -msgid "Ping:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49 +msgid "Full item placement" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:295 -msgid "CA:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49 +msgid "MinstaGib only" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301 -msgid "Key:" -msgstr "Κωδικός:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81 +msgid "Title:" +msgstr "Τίτλος" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307 -msgid "Encryption:" -msgstr "Κρυπτογράφηση:" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87 +msgid "Author:" +msgstr "Δημιουργός:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:314 -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:118 -msgid "Close" -msgstr "Κλείσιμο" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93 +msgid "Features:" +msgstr "Χαρακτηριστικά:" -#: qcsrc/menu/xonotic/slider_decibels.c:50 -#, fuzzy -msgid "VOL^OFF" -msgstr "VOL^Σίγαση" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98 +msgid "Game types:" +msgstr "Τύποι παιχνιδιού:" -#: qcsrc/menu/xonotic/slider_decibels.c:52 -#, fuzzy -msgid "VOL^MAX" -msgstr "VOL^Τέρμα" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:335 +msgid "Close" +msgstr "Κλείσιμο" -#: qcsrc/menu/xonotic/slider_decibels.c:53 -#, c-format -msgid "%s dB" -msgstr "%s dB" +# Just doesn't sound right... would prefer a noun rather than a verb +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124 +msgid "MAP^Play" +msgstr "MAP^Παίξε" #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7 msgid "Mutators" @@ -1069,904 +1113,1039 @@ msgid "%s Arena" msgstr "" #: 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 "" +msgstr "Υπεκφυγή" #: 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 "" #: 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 "" #: 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 "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:78 -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:264 -msgid "No start weapons" +#: 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:189 +#: 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: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 "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86 msgid "Hook" msgstr "Γάντζος" -#: 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 "Στον αέρα" -#: 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 "Βρυκόλακας" -#: 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 "" -#: 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 "" -#: 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 "Αιμορραγία" -#: 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 "" -#: 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 +msgid "Powerups" +msgstr "" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104 msgid "MUT^None" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170 msgid "Gameplay mutators:" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201 msgid "Weapon & item mutators:" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204 msgid "Grappling hook" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223 msgid "Weapon arenas:" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226 msgid "Regular (no arena)" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:239 -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:256 -msgid "with laser" -msgstr "με λέιζερ" - #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247 -msgid "Special arenas:" -msgstr "" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260 -msgid "Most weapons" -msgstr "Περισσότερα όπλα" - -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:4 -msgid "Radar Panel" -msgstr "Πίνακας Ραντάρ" - -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:22 -msgid "Panel enabled in teamgames" -msgstr "" - -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:29 -msgid "Radar:" -msgstr "Ραντάρ:" - -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:36 -msgid "Rotation:" -msgstr "Περιστροφή:" - -# Don't know the context of this. -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:38 -#, fuzzy -msgid "Forward" -msgstr "Εμπρός" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:264 +msgid "with laser" +msgstr "με λέιζερ" -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:39 -msgid "West" -msgstr "Δυτικά" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255 +msgid "Special arenas:" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:40 -msgid "South" -msgstr "Νότια" +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268 +msgid "Most weapons" +msgstr "Περισσότερα όπλα" -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:41 -msgid "East" -msgstr "Ανατολικά" +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4 +msgid "Demo" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:42 -msgid "North" -msgstr "Βόρεια" +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 +msgid "Automatically record demos while playing" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 -msgid "Scale:" -msgstr "Κλίμακα:" +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:31 +#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:28 +msgid "Filter:" +msgstr "Φίλτρο:" -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:50 -msgid "Zoom mode:" -msgstr "Ρύθμιση μεγέθυνσης:" +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:32 +#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:29 +#: qcsrc/menu/xonotic/dialog_settings_input.c:40 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:32 +msgid "Clear" +msgstr "Εκκαθάριση" -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:52 -msgid "Zoomed in" -msgstr "Μεγεθυμένο" +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45 +msgid "Timedemo" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:53 -msgid "Zoomed out" -msgstr "Σμικρυσμένο" +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48 +msgid "DEMO^Play" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:54 -msgid "Always zoomed" -msgstr "Πάντα μεγεθυμένο" +#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4 +msgid "Join" +msgstr "Σύνδεση" -#: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:55 -msgid "Never zoomed" -msgstr "Ποτέ μεγεθυμένο" +#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36 +msgid "SRVS^Empty" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4 -msgid "Race Timer Panel" +#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40 +msgid "SRVS^Full" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4 -msgid "Chat Panel" -msgstr "Πίνακας Ομιλίας" +#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44 +msgid "Pause" +msgstr "Παύση" -#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:22 -msgid "Chat entries:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 +msgid "Address:" +msgstr "Διεύθυνση" -#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:25 -msgid "Chat size:" -msgstr "Μέγεθος ομιλίας:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67 +msgid "Info..." +msgstr "Πληροφορίες..." -#: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:29 -msgid "Chat lifetime:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join.c:72 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:342 +msgid "Join!" +msgstr "Σύνδεση!" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:5 +msgid "Server Information" +msgstr "Πληροφορίες Διακομιστή" + +#: 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_chat.c:33 -msgid "Chat beep sound" -msgstr "Ήχος ομιλίας" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:179 +#, c-format +msgid "%d/%d" +msgstr "%d/%d" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:5 -#: qcsrc/menu/xonotic/dialog_multiplayer.c:19 -msgid "Create" -msgstr "Δημιουργία" +#: 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 "Προεπιλογή" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:34 -msgid "Game type:" -msgstr "Τύπος παιχνιδιού:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 +#, c-format +msgid "%d modified" +msgstr "%d τροποποιημένες ρυθμίσεις" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46 -msgid "Match settings:" -msgstr "" +# I would seriously prefer "Default settings" for this... official makes it sound as if they will work for certain. +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 +msgid "Official" +msgstr "Επίσημες ρυθμίσεις" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49 -msgid "Time limit:" -msgstr "Χρονικό όριο:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208 +msgid "N/A (auth library missing, can't connect)" +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_multiplayer_join_serverinfo.c:210 +msgid "N/A (auth library missing)" 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 -#, fuzzy -msgid "Point limit:" -msgstr "Όριο βαθμολογίας:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216 +msgid "Not supported (can't connect)" +msgstr "δεν υποστηρίζεται (δεν συνδέεται)" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64 -msgid "Player slots:" -msgstr "Θέσεις παικτών:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218 +msgid "Not supported (won't encrypt)" +msgstr "δεν υποστηρίζεται (δεν κρυπτογραφείζεται)" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67 -msgid "Number of bots:" -msgstr "Αριθμός ρομπότ:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222 +msgid "Supported (will encrypt)" +msgstr "υποστηρίζεται (θα κρυπτογραφειθεί)" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71 -msgid "Bot skill:" -msgstr "Ικανότητα bot:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224 +msgid "Supported (won't encrypt)" +msgstr "υποστηρίζεται (δεν κρυπτογραφίζεται)" -# Ρομποτικό; -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 -msgid "Botlike" -msgstr "Χαζό ρομπότ" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228 +msgid "Requested (will encrypt)" +msgstr "απαιτήται (θα κρυπτογραφειθεί)" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 -msgid "Beginner" -msgstr "Αρχάριο" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230 +msgid "Requested (won't encrypt)" +msgstr "υποστηρίζεται (δεν κρυπτογραφίζεται)" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 -msgid "You will win" -msgstr "Θα νικήσεις" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234 +msgid "Required (can't connect)" +msgstr "απαιτήται (δεν συνδέεται)" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 -msgid "You can win" -msgstr "Μπορείς να νικήσεις" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236 +msgid "Required (will encrypt)" +msgstr "απαιτήται (θα κρυπτογραφειθεί)" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 -msgid "You might win" -msgstr "Θα μπορούσες να νικήσεις" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:256 +msgid "Hostname:" +msgstr "Όνομα διακομιστή:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 -msgid "Advanced" -msgstr "Προχωρημένο" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270 +msgid "Gametype:" +msgstr "Τύπος παιχνιδιού:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 -msgid "Expert" -msgstr "Ειδικό" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275 +msgid "Map:" +msgstr "Χάρτης:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 -msgid "Pro" -msgstr "Εππαγγελματικό" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280 +msgid "Mod:" +msgstr "Τροποποίηση:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 -msgid "Assassin" -msgstr "Δολοφονικό" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285 +msgid "Version:" +msgstr "Έκδοση:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83 -msgid "Unhuman" -msgstr "Απάνθρωπο" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290 +msgid "Settings:" +msgstr "Ρυθμίσεις:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84 -msgid "Godlike" -msgstr "Θεικό" +#: 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_multiplayer_create.c:88 -msgid "Mutators..." -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302 +msgid "Bots:" +msgstr "Ρομπότ:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104 -msgid "Map list:" -msgstr "Λίστα χάρτων" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307 +msgid "Free slots:" +msgstr "Ελεύθερες θέσεις:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110 -msgid "Select all" -msgstr "Επιλογή όλων" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313 +msgid "Encryption:" +msgstr "Κρυπτογράφηση:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113 -#, fuzzy -msgid "Select none" -msgstr "Επιλογή κανενός" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318 +msgid "ID:" +msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119 -#, fuzzy -msgid "Start Multiplayer!" -msgstr "Εναρξή παιχνίδι πολλαπλών παικτών!" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323 +msgid "Key:" +msgstr "Κωδικός:" -# Bit posh... :/ -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154 -#, fuzzy -msgid "Capture limit:" -msgstr "Όριο καταλύψεων:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60 +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19 +msgid "Model:" +msgstr "Μοντέλο:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 -msgid "Lives:" -msgstr "Ζωές" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 +msgid "No crosshair" +msgstr "Χωρίς στόχαστρο" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 -msgid "Laps:" -msgstr "Γύροι:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90 +msgid "Per weapon crosshair" +msgstr "Ανά όπλο" -# Unsure of where this goes, but I think this is about right -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160 -msgid "Goals:" -msgstr "Στόχοι:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93 +msgid "Custom crosshair" +msgstr "Προσαρμοσμένο στόχαστρο" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164 -msgid "Frag limit:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112 +msgid "Crosshair size:" +msgstr "Μέγεθος στόχαστρου" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117 +msgid "Crosshair alpha:" msgstr "" -#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4 -msgid "Winner" -msgstr "Νικητής" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123 +msgid "Crosshair color:" +msgstr "Χρώμα στόχαστρου:" -#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5 -msgid "User defined key bind" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125 +msgid "Per weapon" +msgstr "Ανά όπλο" -#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42 -msgid "Command when pressed:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127 +msgid "By health" +msgstr "Ανάλογα με ζωή" -#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45 -msgid "Command when released:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:131 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47 +msgid "Custom" +msgstr "Προσαρμογή" -#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48 -msgid "Save" -msgstr "Αποθήκευση" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 +msgid "Other crosshair settings" +msgstr "Άλλες ρυθμίσεις στόχαστρου" -#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51 -msgid "Cancel" -msgstr "Ακύρωση" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6 +msgid "Model settings" +msgstr "Ρυθμίσεις μοντέλων" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:5 -#: qcsrc/menu/xonotic/dialog_multiplayer.c:21 -msgid "Player Setup" -msgstr "Ρύθμισεις Παίκτη" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6 +msgid "View settings" +msgstr "Ρυθμίσεις προβολής" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63 -msgid "Model:" -msgstr "Μοντέλο:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 +msgid "Weapon settings" +msgstr "Ρυθμίσεις όπλων" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 -msgid "Field of view:" -msgstr "Οπτικό πεδίο:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6 +msgid "HUD settings" +msgstr "Αποθήκευση ρυθμίσεων" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92 -msgid "View bobbing:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 +#: 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 "Άμεση εφαρμογή" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96 -msgid "Zoom factor:" -msgstr "Συντελεστής μεγέθυνσης" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6 +msgid "Crosshair settings" +msgstr "Ρυθμίσεις πλέγματος:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100 -msgid "Zoom speed:" -msgstr "Ταχύτητα ζουμ:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28 +msgid "Enable center crosshair dot" +msgstr "Ενεργοποίηση κεντρικής κουκκίδας στοχασμού" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:103 -msgid "Weapon settings..." -msgstr "Ρυθμίσεις όπλων..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31 +msgid "Dot size:" +msgstr "Μέγεθος κουκκίδας:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110 -msgid "Crosshair:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36 +msgid "Dot alpha:" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:111 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 -msgid "Per weapon" -msgstr "Ανά όπλο" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41 +msgid "Dot color:" +msgstr "Χρώμα κουκκίδας:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130 -msgid "Crosshair size:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43 +msgid "Use normal crosshair color" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:134 -msgid "Crosshair alpha:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54 +msgid "Crosshair animations:" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:138 -msgid "Crosshair color:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57 +msgid "Smooth effects of crosshairs" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140 -msgid "By health" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61 +msgid "Use rings to indicate weapon status" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:143 -msgid "Custom" -msgstr "Προσαρμογή" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67 +msgid "Hit testing:" +msgstr "" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69 +msgid "HTTST^Disabled" +msgstr "HTTST^Απενεργοποιημένο" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148 -msgid "Enable center dot" -msgstr "Ενεργοποίηση κεντρικής κουκκίδας" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70 +msgid "HTTST^TrueAim" +msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151 -msgid "Size:" -msgstr "Μέγεθος:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71 +msgid "HTTST^Enemies" +msgstr "HTTST^Εχθροί" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158 -msgid "Hit test:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76 +msgid "Blur crosshair if the shot is obstructed" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 -msgid "HTST^None" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81 +msgid "Animate when hitting an enemy" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160 -msgid "TrueAim" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85 +msgid "Animate when picking up an item" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161 -msgid "Enemies" -msgstr "Εχθροί" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40 +msgid "Damage:" +msgstr "Ζημιά:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164 -msgid "Waypoints setup..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43 +msgid "Overlay:" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 -msgid "Enter HUD editor" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47 +#, fuzzy +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.c:174 -msgid "Force models:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:71 +msgid "Edge offset:" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 -msgid "MDL^None" +#: 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.c:176 -msgid "MDL^Custom" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86 +msgid "Display health and armor" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177 -msgid "MDL^All" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4 +msgid "Enter HUD editor" +msgstr "Έναρξη επεγεργασίας HUD" + +#: 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.c:180 -msgid "Disable gore effects" -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 "HDCNFRM^Ναι" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36 +msgid "HDCNFRM^No" +msgstr "HDCNFRM^Όχι" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28 +msgid "Body fading:" +msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31 msgid "Gibs:" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33 msgid "GIBS^None" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34 msgid "GIBS^Few" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35 msgid "GIBS^Many" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36 msgid "GIBS^Lots" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:191 -msgid "Damage splash:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40 +#, fuzzy +msgid "Playermodel LOD:" +msgstr "LOD μοντέλου παίκτη:" -#: qcsrc/menu/xonotic/cvarlist.c:85 -msgid "will be saved to config.cfg" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44 +msgid "Force models:" msgstr "" -#: qcsrc/menu/xonotic/cvarlist.c:87 -msgid "will not be saved" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45 +msgid "MDL^None" msgstr "" -#: qcsrc/menu/xonotic/cvarlist.c:89 -msgid "private" -msgstr "προσωπικές" - -#: qcsrc/menu/xonotic/cvarlist.c:91 -msgid "engine setting" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46 +msgid "MDL^Custom" msgstr "" -#: qcsrc/menu/xonotic/cvarlist.c:93 -msgid "read only" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47 +msgid "MDL^All" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4 -msgid "Centerprint" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50 +msgid "Force player models to mine" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:23 -msgid "Message duration:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52 +msgid "Force player colors to mine" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:27 -msgid "Fade time:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28 +msgid "Field of view:" +msgstr "Οπτικό πεδίο:" -#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:31 -msgid "Flip messages order" -msgstr "" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31 +msgid "Zoom:" +msgstr "Ρύθμιση μεγέθυνσης:" -#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:33 -msgid "Text alignment:" -msgstr "Ευθυγράμμιση κειμένου" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33 +msgid "RETICLE^Fullscreen" +msgstr "Πλήρης οθόνη" -#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:36 -#: 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 -msgid "Left" -msgstr "Αριστερά" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34 +msgid "RETICLE^With reticle" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:37 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:50 -msgid "Center" -msgstr "Στο κέντρο" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38 +msgid "ZOOM^Factor:" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38 -#: 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 -msgid "Right" -msgstr "Δεξιά" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42 +msgid "ZOOM^Speed:" +msgstr "ZOOM^Ταχύτητα" -#: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:41 -msgid "Font scale:" -msgstr "Μέγεθος γραμματοσειράς:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52 +msgid "ZOOM^Instant" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:4 -msgid "Score Panel" -msgstr "Πίνακας Βαθμολογίας" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56 +msgid "ZOOM^Sensitivity:" +msgstr "ZOOM^Ευαισθησία:" -#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22 -msgid "Score:" -msgstr "Βαθμολογία:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59 +msgid "Velocity zoom:" +msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25 -msgid "Rankings:" -msgstr "Κατατάξεις:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61 +msgid "VZOOM^Disabled" +msgstr "VZOOM^Απενεργοποιημένο" -#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26 -msgid "Off" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62 +msgid "VZOOM^Forward only" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27 -msgid "And me" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63 +msgid "VZOOM^All directions" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28 -msgid "Pure" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67 +msgid "VZOOM^Speed" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4 -msgid "Timer Panel" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72 +msgid "Allow passing through walls while spectating" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:22 -msgid "Timer:" -msgstr "Χρονόμετρο:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75 +msgid "1st person perspective" +msgstr "Προοπτική 1ου προσώπου" -#: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:25 -msgid "Show elapsed time" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79 +msgid "Smooth the view when landing from a jump" 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" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83 +msgid "Smooth the view while crouching" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:49 -msgid "MinstaGib only" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87 +msgid "View waving while idle" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78 -msgid "Title:" -msgstr "Τίτλος" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84 -msgid "Author:" -msgstr "Δημιουργός:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90 -msgid "Features:" -msgstr "Χαρακτηριστικά:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95 -msgid "Game types:" -msgstr "Τύποι παιχνιδιού:" - -# Just doesn't sound right... would prefer a noun rather than a verb -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 -#, fuzzy -msgid "MAP^Play" -msgstr "MAP^Παίξε" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6 -msgid "Advanced server settings" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91 +msgid "View bobbing while walking around" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25 -msgid "Game settings:" -msgstr "Ρυθμίσεις παιχνιδιού:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:28 -msgid "Allow spectating" -msgstr "Επιτρέπεται η θέαση" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96 +msgid "3rd person perspective" +msgstr "Προοπτική 3ου προσώπου" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31 -msgid "Spawn shield:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100 +msgid "Back distance" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36 -msgid "Game speed:" -msgstr "Ταχύτητα παιχνιδιού" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:40 -msgid "Teamplay settings:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106 +msgid "Up distance" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:43 -msgid "Friendly fire scale:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 +msgid "Weapon priority list:" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:47 -msgid "Virtual friendly fire (effect only)" -msgstr "" +# Would prefer υψηλότερη/χαμηλότερη (higher/lower) but may be too long +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33 +msgid "Up" +msgstr "Πάνω" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:50 -msgid "Friendly fire penalty:" -msgstr "Ποινή φιλικής πυράς:" +# Would prefer υψηλότερη/χαμηλότερη (higher/lower) but may be too long +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36 +msgid "Down" +msgstr "Κάτω" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:54 -msgid "Virtual penalty (effect only)" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 +msgid "Use priority list for weapon cycling" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:57 -msgid "Teams:" -msgstr "Ομάδες:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:66 -msgid "Map voting:" -msgstr "Ψηφοφορία για χάρτη:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:68 -msgid "No voting" -msgstr "Χωρίς ψήφοφορία" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:69 -msgid "2 choices" -msgstr "2 επιλογές" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43 +msgid "Auto switch weapons on pickup" +msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:70 -msgid "3 choices" -msgstr "3 επιλογές" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46 +msgid "Draw 1st person weapon model" +msgstr "Εμφάνιση όπλου σε πρώτο πρόσωπο" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:71 -msgid "4 choices" -msgstr "4 επιλογές" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58 +msgid "Gun model swaying" +msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:72 -msgid "5 choices" -msgstr "5 επιλογές" +# Functional, but could be improved as far as including no models at all goes in the meaning of the sentence +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63 +#, fuzzy +msgid "Gun model bobbing" +msgstr "Ανεβοκατέβασμα μοντέλου όπλου" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:73 -msgid "6 choices" -msgstr "6 επιλογές" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68 +msgid "VWMDL^Scale" +msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:74 -msgid "7 choices" -msgstr "7 επιλογές" +#: qcsrc/menu/xonotic/dialog_news.c:4 +msgid "News" +msgstr "Νέα" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:75 -msgid "8 choices" -msgstr "8 επιλογές" +#: qcsrc/menu/xonotic/dialog_news.c:18 +msgid "http://www.xonotic.org/team/blog/" +msgstr "http://www.xonotic.org/team/blog/" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:76 -msgid "9 choices" -msgstr "9 επιλογές" +#: qcsrc/menu/xonotic/dialog_quit.c:4 +msgid "Quit" +msgstr "Έξοδος" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:79 -msgid "Simple majority wins vcall" -msgstr "" +#: qcsrc/menu/xonotic/dialog_quit.c:18 +msgid "Are you sure you want to quit?" +msgstr "Είσαι σίγουρος-η ότι θες να βγεις από το παιχνίδι;" -#: qcsrc/menu/xonotic/util.qc:271 -#, c-format -msgid "Received HTTP request data for an invalid id %d.\n" -msgstr "" +#: qcsrc/menu/xonotic/dialog_quit.c:21 +msgid "Yes" +msgstr "Ναι" -#: qcsrc/menu/xonotic/util.qc:286 -#, c-format -msgid "error receiving update notification: status is %d\n" -msgstr "" +#: qcsrc/menu/xonotic/dialog_quit.c:22 +msgid "No" +msgstr "Όχι" -#: qcsrc/menu/xonotic/util.qc:291 -msgid "error: received HTML instead of an update notification\n" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4 +msgid "Sandbox Tools" msgstr "" -#: qcsrc/menu/xonotic/util.qc:296 -msgid "error: received carriage returns from update notification server\n" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:24 +msgid "Spawn" msgstr "" -#: qcsrc/menu/xonotic/util.qc:317 -#, c-format -msgid "" -"Update can be downloaded at:\n" -"%s\n" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25 +msgid "Remove *" +msgstr "Αφαίρεση *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27 +msgid "Copy *" +msgstr "Αντίγραφή *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28 +msgid "Paste" +msgstr "Επικόλληση" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:30 +msgid "Bone:" +msgstr "Κόκκαλο:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:35 +msgid "Set * as child" msgstr "" -"Μπορεί να γίνει λήψη της αναβάθμισης στις:\n" -"%s\n" -#: qcsrc/menu/xonotic/util.qc:340 -msgid "Autogenerating mapinfo for newly added maps..." +#: 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/util.qc:370 -#, c-format -msgid "^1%s TEST BUILD" +# It's good, but is it good enough? +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:43 +msgid "Set skin:" +msgstr "Ορισμός σχεδίου μενού:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45 +msgid "Set alpha:" msgstr "" -#: qcsrc/menu/xonotic/util.qc:428 -#, c-format -msgid "Update to %s now!" -msgstr "Αναβαθμίστε στην έκδοση %s τώρα!" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48 +msgid "Set color main:" +msgstr "Ορισμός κυρίου χρώματος:" -#: qcsrc/menu/xonotic/util.qc:513 -msgid "" -"^1ERROR: Texture compression is required but not supported.\n" -"^1Expect visual problems.\n" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50 +#, fuzzy +msgid "Set color glow:" +msgstr "Ορισμός λάμψης χρώματος:" + +#: 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/util.qc:535 -msgid "Arena" -msgstr "Αρένα" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:60 +msgid "Set material:" +msgstr "Ορισμός υλικού:" -#: qcsrc/menu/xonotic/util.qc:536 -msgid "Assault" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:66 +msgid "Set solidity:" msgstr "" -#: qcsrc/menu/xonotic/util.qc:537 -msgid "Capture The Flag" +#: 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/util.qc:538 -msgid "Clan Arena" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70 +msgid "Static" +msgstr "Στατικό" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71 +msgid "Movable" msgstr "" -#: qcsrc/menu/xonotic/util.qc:539 -msgid "Deathmatch" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72 +msgid "Physical" msgstr "" -# About as cool as I could make it sound -#: qcsrc/menu/xonotic/util.qc:540 -msgid "Domination" -msgstr "Κυριαρχία" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74 +msgid "Set scale:" +msgstr "Ορισμός μεγέθους:" -#: qcsrc/menu/xonotic/util.qc:541 -msgid "Freeze Tag" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:76 +msgid "Set force:" +msgstr "Ορισμός ισχύης:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:80 +msgid "Claim *" msgstr "" -#: qcsrc/menu/xonotic/util.qc:542 -msgid "Keepaway" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:82 +msgid "* object info" msgstr "" -# Could be improved -#: qcsrc/menu/xonotic/util.qc:543 -msgid "Key Hunt" -msgstr "Κυνήγι για κλειδιά" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83 +msgid "* mesh info" +msgstr "" -#: qcsrc/menu/xonotic/util.qc:544 -msgid "Last Man Standing" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84 +msgid "* attachment info" msgstr "" -# See comments on "Nex" -#: qcsrc/menu/xonotic/util.qc:545 -msgid "Nexball" -msgstr "Θανατόμπαλα" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85 +msgid "Show help" +msgstr "Εμφάνιση βοήθειας" -#: qcsrc/menu/xonotic/util.qc:546 -msgid "Onslaught" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86 +msgid "* is the object you are facing" msgstr "" -#: qcsrc/menu/xonotic/util.qc:547 -msgid "Race" -msgstr "Αγώνας" +#: qcsrc/menu/xonotic/dialog_settings.c:4 +msgid "Settings" +msgstr "Ρυθμίσεις" -#: qcsrc/menu/xonotic/util.qc:548 -msgid "Race CTS" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings.c:18 +#: qcsrc/menu/xonotic/dialog_settings_input.c:4 +msgid "Input" +msgstr "Εισαγωγή" -#: qcsrc/menu/xonotic/util.qc:549 -msgid "Runematch" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings.c:19 +#: qcsrc/menu/xonotic/dialog_settings_video.c:4 +msgid "Video" +msgstr "Βίντεο" -#: qcsrc/menu/xonotic/util.qc:550 -msgid "Team Deathmatch" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings.c:20 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:4 +msgid "Effects" +msgstr "Εφέ" -#: qcsrc/menu/xonotic/util.qc:569 -#, c-format -msgid "@!#%'n Tuba Throwing" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings.c:21 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:4 +msgid "Audio" +msgstr "Ήχος" -#: qcsrc/menu/xonotic/util.qc:589 -#: qcsrc/menu/xonotic/util.qc:605 -#: qcsrc/menu/xonotic/util.qc:614 -#: qcsrc/menu/xonotic/util.qc:622 -#: qcsrc/menu/xonotic/util.qc:634 -msgid "Default" -msgstr "Προεπιλογή" +#: qcsrc/menu/xonotic/dialog_settings.c:22 +#: qcsrc/menu/xonotic/dialog_settings_user.c:4 +msgid "User" +msgstr "Χρήστης" -#: qcsrc/menu/xonotic/util.qc:600 -msgid "Use default" -msgstr "Χρήση προεπιλογής" +#: qcsrc/menu/xonotic/dialog_settings.c:23 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:4 +msgid "Misc" +msgstr "Λοιπά" -#: qcsrc/menu/xonotic/util.qc:620 -msgid "Team Color:" -msgstr "Χρώμα Ομαδάς:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:27 +msgid "Master:" +msgstr "Κύρια ένταση ήχου:" -# Functional, but could be improved as far as including no models at all goes in the meaning of the sentence -#: qcsrc/menu/xonotic/playermodel.c:174 -msgid "<no model found>" -msgstr "<μοντέλο δεν βρέθηκε>" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:35 +msgid "Music:" +msgstr "Μουσική" -#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:4 -msgid "Ammo Panel" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:45 +msgid "VOL^Ambient:" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:22 -msgid "Ammunition display:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:54 +msgid "Info:" +msgstr "Πληροφορίες:" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:63 +msgid "Items:" +msgstr "Αντικείμενα:" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:72 +msgid "Pain:" +msgstr "Πόνος:" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:81 +msgid "Player:" +msgstr "Παίκτης:" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:90 +msgid "Shots:" +msgstr "Πυροβολισμοί:" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:99 +msgid "Voice:" +msgstr "Φωνή:" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:109 +msgid "Weapons:" +msgstr "Όπλα:" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:117 +msgid "New style sound attenuation" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:25 -msgid "Show only current ammo type" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:119 +msgid "Mute sounds when not active" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:28 -msgid "Align icon:" -msgstr "Ευθυγράμμιση εικονιδίου:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:122 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:194 +msgid "Frequency:" +msgstr "Συχνότητα:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 -msgid "Weapon settings" -msgstr "Ρυθμίσεις όπλων" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:124 +msgid "8 kHz" +msgstr "8 kHz" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 -msgid "Weapon priority list:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:125 +msgid "11.025 kHz" +msgstr "11.025 kHz" -# Would prefer υψηλότερη/χαμηλότερη (higher/lower) but may be too long -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34 -msgid "Up" -msgstr "Πάνω" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:126 +msgid "16 kHz" +msgstr "16 kHz" -# Would prefer υψηλότερη/χαμηλότερη (higher/lower) but may be too long -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37 -msgid "Down" -msgstr "Κάτω" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 +msgid "22.05 kHz" +msgstr "22.05 kHz" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 -msgid "Use priority list for weapon cycling" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:128 +msgid "24 kHz" +msgstr "24 kHz" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43 -msgid "Auto switch weapons on pickup" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:129 +msgid "32 kHz" +msgstr "32 kHz" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:130 +msgid "44.1 kHz" +msgstr "44.1 kHz" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 +msgid "48 kHz" +msgstr "48 kHz" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 +msgid "Channels:" +msgstr "Κανάλια:" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:136 +msgid "Mono" +msgstr "Μονοφωνικό" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 +msgid "Stereo" +msgstr "Στερεφωνικό" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:138 +msgid "2.1" +msgstr "2.1" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:139 +msgid "4" +msgstr "4" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:140 +msgid "5" +msgstr "5" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:141 +msgid "5.1" +msgstr "5.1" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:142 +msgid "6.1" +msgstr "6.1" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:143 +msgid "7.1" +msgstr "7.1" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:146 +msgid "Swap Stereo" msgstr "" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:45 -msgid "Draw 1st person weapon model" -msgstr "Εμφάνιση όπλου σε πρώτο πρόσωπο" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:148 +#, fuzzy +msgid "Headphone friendly mode" +msgstr "Λειτουργία με ακουστικά" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55 -msgid "Flip view horizontally" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 +msgid "Hit indication sound" +msgstr "Ένδειξη χτυπήματος" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:172 +msgid "Chat message sound" +msgstr "Ήχος ομιλίας" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:174 +msgid "Menu sounds" +msgstr "Ήχοι μενού" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:177 +msgid "Time announcer:" +msgstr "Προειδοποίηση χρόνου:" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:179 +msgid "WRN^Disabled" +msgstr "WRN^Απενεργοποιημένο" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:180 +msgid "1 minute" +msgstr "1 λεπτό" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:181 +msgid "5 minutes" +msgstr "5 λεπτά" + +# ??? +#: qcsrc/menu/xonotic/dialog_settings_audio.c:182 +msgid "WRN^Both" +msgstr "WRN^Και οι δυο" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:189 +msgid "Automatic taunts" +msgstr "Αυτόματες κοροϊδίες" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:199 +msgid "Debug info about sounds" msgstr "" #: qcsrc/menu/xonotic/dialog_settings_effects.c:38 @@ -2006,7 +2185,6 @@ msgid "Geometry detail:" msgstr "Γεομετρική λεπτομέρεια:" #: qcsrc/menu/xonotic/dialog_settings_effects.c:54 -#, fuzzy msgid "DET^Lowest" msgstr "DET^Χαμηλότατη" @@ -2031,927 +2209,1112 @@ msgid "DET^Insane" msgstr "DET^Τρομερή" #: qcsrc/menu/xonotic/dialog_settings_effects.c:62 -msgid "Antialiasing:" -msgstr "Εξομάλυνση:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:64 -msgid "AA^Disabled" -msgstr "AA^Απενεργοποιημένη" - -#: 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 "Ανάλυση υφής:" # Taking the piss a bit... -#: qcsrc/menu/xonotic/dialog_settings_effects.c:73 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 msgid "RES^Leet" msgstr "RES^Ακραίος χαμηλή" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:74 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 msgid "RES^Lowest" msgstr "RES^Χαμηλότερή" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:75 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:67 +msgid "RES^Very low" +msgstr "RES^Πολύ χαμηλή" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:68 msgid "RES^Low" msgstr "RES^Χαμηλή" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:76 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:69 msgid "RES^Normal" msgstr "RES^Κανονική" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:77 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 msgid "RES^Good" msgstr "RES^Καλή" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:78 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:71 msgid "RES^Best" msgstr "RES^Καλύτερη" -#: 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 "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 -msgid "Anisotropy:" -msgstr "Ανισοτροπία:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:93 +msgid "Use lightmaps" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:102 -msgid "ANISO^Disabled" -msgstr "ANISO^Απενεργοποίηση" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:94 +msgid "Deluxe mapping" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:105 -msgid "8x" -msgstr "8x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:96 +msgid "Gloss" +msgstr "Γυαλάδα" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 +msgid "Particles quality:" +msgstr "Ποιότητα σωματιδίων:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:103 +msgid "Particles distance:" +msgstr "Απόσταση σωματιδίων:" #: qcsrc/menu/xonotic/dialog_settings_effects.c:106 -msgid "16x" -msgstr "16x" +msgid "Damage effects:" +msgstr "Εφέ τραυματισμού:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 -msgid "Particle quality:" -msgstr "Ποιότητα σωματιδίων:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:108 +msgid "DMGPRTCLS^Disabled" +msgstr "DMGPRTCLS^Απενεργοποιημένο" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:109 +msgid "DMGPRTCLS^Skeletal" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:113 -msgid "Particle distance:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 +msgid "DMGPRTCLS^All" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:117 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:114 msgid "Decals" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:118 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:115 msgid "Decals on models" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:122 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:119 msgid "Distance:" msgstr "Απόσταση:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:128 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:125 msgid "Time:" msgstr "Χρόνος:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 -msgid "Use lightmaps" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:131 +msgid "Coronas" +msgstr "Στέμματα" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:132 +msgid "Use Occlusion Queries" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:135 -msgid "Deluxe mapping" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 +msgid "No dynamic lighting" +msgstr "Χωρίς δυναμικό φωτισμό" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:136 +msgid "Fake corona lighting" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:137 -msgid "Gloss" -msgstr "Γυαλάδα" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:138 +msgid "Realtime dynamic lighting" +msgstr "Δυναμικός φώτισμος σε πραγματικό χρόνο" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:139 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:143 +msgid "Shadows" +msgstr "Σκιές" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:140 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 +msgid "Realtime world lighting" +msgstr "Φωτισμός κόσμου σε πραγματικό χρόνο" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:147 +msgid "Use normal maps" +msgstr "Χρήση κανονικών χαρτών" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 +msgid "Soft shadows" +msgstr "Μαλακές σκιές" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:153 +msgid "Show surfaces" +msgstr "Προβολή επιφανειών" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 msgid "Offset mapping" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 msgid "Relief mapping" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:145 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 +msgid "LOD" +msgstr "LOD" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 +msgid "Bloom" +msgstr "" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:164 msgid "Reflections:" msgstr "Αντανακλάσεις:" # Masculine/feminine? -#: qcsrc/menu/xonotic/dialog_settings_effects.c:148 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:167 msgid "Blurred" msgstr "Θολομένο" # Masculine/feminine? -#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:168 msgid "REFL^Good" msgstr "REFL^Καλό" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:150 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:169 #, fuzzy msgid "Sharp" msgstr "Οξύτητα" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 -msgid "Show surfaces" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:174 +msgid "Motion blur:" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 -msgid "No dynamic lighting" -msgstr "Χωρίς δυναμικό φωτισμό" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 -msgid "Flash blend approximation" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:179 +msgid "Extra postprocessing effects" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:161 -msgid "Realtime dynamic lighting" -msgstr "Δυναμικός φώτισμος σε πραγματικό χρόνο" +#: qcsrc/menu/xonotic/dialog_settings_input.c:26 +msgid "Key bindings:" +msgstr "Διαμόρφωση πλήκτρων:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 -#: qcsrc/menu/xonotic/dialog_settings_effects.c:166 -msgid "Shadows" -msgstr "Σκιές" +#: qcsrc/menu/xonotic/dialog_settings_input.c:30 +msgid "Change key..." +msgstr "Αλλαγή πλήκτρου..." -#: qcsrc/menu/xonotic/dialog_settings_effects.c:165 -msgid "Realtime world lighting" -msgstr "Φωτισμός κόσμου σε πραγματικό χρόνο" +#: qcsrc/menu/xonotic/dialog_settings_input.c:34 +msgid "Edit..." +msgstr "Επεξεργασία..." -#: qcsrc/menu/xonotic/dialog_settings_effects.c:170 -msgid "Use normal maps" +#: qcsrc/menu/xonotic/dialog_settings_input.c:45 +msgid "Pressing \"enter console\" key also closes it" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:172 -#, fuzzy -msgid "Soft shadows" -msgstr "Μαλακές σκιές" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:175 -msgid "Coronas" -msgstr "Στέμματα" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:176 -msgid "Use Occlusion Queries" +#: qcsrc/menu/xonotic/dialog_settings_input.c:47 +msgid "Automatically repeat jumping if holding jump" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:178 -msgid "Bloom" +#: 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:180 -msgid "High Dynamic Range (HDR)" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_input.c:61 +msgid "Mouse:" +msgstr "Ποντίκι:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:184 -msgid "Motion blur:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_input.c:64 +msgid "Sensitivity:" +msgstr "Ταχύτητα δείκτη:" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:68 +msgid "Smooth aiming" +msgstr "Ομαλός στοχασμός" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:71 +msgid "Invert aiming" +msgstr "Ανάτρεψη ποντικιού" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:189 -msgid "Blur and sharpen postprocessing" +#: 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_input.c:85 +msgid "Enable built in mouse acceleration" +msgstr "Ενεργοποίηση επιτάχυνσης δείκτη από το Xonotic" + +#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5 +msgid "User defined key bind" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_network.c:26 -msgid "Client-side movement prediction" +#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42 +msgid "Command when pressed:" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_network.c:30 -msgid "Show netgraph" +#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45 +msgid "Command when released:" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_network.c:33 -msgid "Network speed:" -msgstr "Τάχυτητα δικτύου:" +#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48 +msgid "Save" +msgstr "Αποθήκευση" + +#: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:51 +msgid "Cancel" +msgstr "Ακύρωση" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:26 +msgid "Network:" +msgstr "Δίκτυο:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:35 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:31 msgid "56k" msgstr "56k" -#: qcsrc/menu/xonotic/dialog_settings_network.c:36 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:32 msgid "ISDN" msgstr "ISDN" -#: qcsrc/menu/xonotic/dialog_settings_network.c:37 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:33 msgid "Slow ADSL" msgstr "Αργό ADSL" -#: qcsrc/menu/xonotic/dialog_settings_network.c:38 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:34 msgid "Fast ADSL" msgstr "Γρήγορο ADSL" -#: qcsrc/menu/xonotic/dialog_settings_network.c:39 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 msgid "Broadband" msgstr "Ευρής ζώνης" -#: qcsrc/menu/xonotic/dialog_settings_network.c:42 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:39 msgid "Input packets/s:" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_network.c:46 -msgid "HTTP downloads:" -msgstr "Λήψεις HTTP:" +#: 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 "" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:55 +msgid "Show netgraph" +msgstr "" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:59 +msgid "Client-side movement prediction" +msgstr "" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +msgid "Movement error compensation" +msgstr "" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:66 +msgid "Downloads:" +msgstr "Λήψεις:" + +#: 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 "Ταχύτητα (kB/s):" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:78 +#, fuzzy +msgid "Framerate:" +msgstr "Ρυθμός καρέ:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:83 +msgid "MAXFPS^5 fps" +msgstr "MAXFPS^5 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:84 +msgid "MAXFPS^10 fps" +msgstr "MAXFPS^10 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:85 +msgid "MAXFPS^20 fps" +msgstr "MAXFPS^20 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:86 +msgid "MAXFPS^30 fps" +msgstr "MAXFPS^30 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:87 +msgid "MAXFPS^40 fps" +msgstr "MAXFPS^40 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:88 +msgid "MAXFPS^50 fps" +msgstr "MAXFPS^50 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:89 +msgid "MAXFPS^60 fps" +msgstr "MAXFPS^60 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:90 +msgid "MAXFPS^70 fps" +msgstr "MAXFPS^70 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:91 +msgid "MAXFPS^100 fps" +msgstr "MAXFPS^100 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:92 +msgid "MAXFPS^125 fps" +msgstr "MAXFPS^125 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:93 +msgid "MAXFPS^200 fps" +msgstr "MAXFPS^200 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:94 +msgid "MAXFPS^Unlimited" +msgstr "MAXFPS^Απεριόριστος" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:98 +msgid "Target:" +msgstr "Στόχος:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:100 +msgid "TRGT^Disabled" +msgstr "AA^Απενεργοποιημένη" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:101 +msgid "TRGT^30 fps" +msgstr "TRGT^30 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:102 +msgid "TRGT^40 fps" +msgstr "TRGT^40 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:103 +msgid "TRGT^50 fps" +msgstr "TRGT^50 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:104 +msgid "TRGT^60 fps" +msgstr "TRGT^60 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:105 +msgid "TRGT^100 fps" +msgstr "TRGT^100 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:106 +msgid "TRGT^125 fps" +msgstr "TRGT^125 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:107 +msgid "TRGT^200 fps" +msgstr "TRGT^200 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:111 +msgid "Idle limit:" +msgstr "Χρονικό όριο:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:113 +msgid "IDLFPS^10 fps" +msgstr "IDLFPS^10 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:114 +msgid "IDLFPS^20 fps" +msgstr "IDLFPS^20 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:115 +msgid "IDLFPS^30 fps" +msgstr "IDLFPS^30 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:116 +msgid "IDLFPS^60 fps" +msgstr "IDLFPS^60 καρέ ανά δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:117 +msgid "IDLFPS^Unlimited" +msgstr "IDLFPS^Απεριόριστα" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:122 +msgid "Show frames per second" +msgstr "Εμφάνιση καρέ ανα δευτερόλεπτο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:125 +msgid "Save processing time for other apps" +msgstr "" + +# It's good, but is it good enough? +#: qcsrc/menu/xonotic/dialog_settings_misc.c:129 +msgid "Menu tooltips:" +msgstr "Σχέδια μενού:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:131 +msgid "TLTIP^Disabled" +msgstr "TLTIP^Απενεργοποιημένο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:132 +msgid "TLTIP^Standard" +msgstr "" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:133 +msgid "TLTIP^Advanced" +msgstr "TLTIP^Προχωρημένο" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:137 +msgid "Show current time" +msgstr "Εμφάνιση τρέχων ώρας" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:139 +msgid "Show current date" +msgstr "Εμφάνιση τρέχων ημερομηνίας" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:141 +msgid "Enable developer mode" +msgstr "Ενεργοποίηση λειτουργία προγραμματιστή" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 +msgid "Advanced settings" +msgstr "Προχωρημένες ρυθμίσεις:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31 +#, fuzzy +msgid "Cvar filter:" +msgstr "Φίλτρο cvar:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44 +msgid "Setting:" +msgstr "Ρύθμιση:" + +#: 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 "Περιγραφή:" + +# It's good, but is it good enough? +#: qcsrc/menu/xonotic/dialog_settings_user.c:27 +#, fuzzy +msgid "Menu skins:" +msgstr "Σχέδια μενού:" + +# It's good, but is it good enough? +#: qcsrc/menu/xonotic/dialog_settings_user.c:31 +#, fuzzy +msgid "Set skin" +msgstr "Εφαρμογή σχεδίου" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:74 +msgid "Set language" +msgstr "Ορισμός γλώσσας" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:79 +msgid "Disable gore effects and harsh language" +msgstr "Απενεργοποίηση αιματηρών εφέ" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:82 +msgid "Allow player statistics to track your client" +msgstr "" + +#: 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:" +msgstr "Ανάλυση:" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:29 +#, fuzzy +msgid "Font/UI size:" +msgstr "Μέγεθος γραμματοσειράς/διεπαφής:" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:31 +msgid "SZ^Unreadable" +msgstr "SZ^Αδιάβαστο" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:32 +msgid "SZ^Tiny" +msgstr "SZ^Μικροσκοπικό" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:33 +msgid "SZ^Little" +msgstr "SZ^Μικρούτσικο" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:34 +msgid "SZ^Small" +msgstr "SZ^Μικρό" -#: qcsrc/menu/xonotic/dialog_settings_network.c:49 -msgid "Downloads:" -msgstr "Λήψεις:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:35 +msgid "SZ^Medium" +msgstr "SZ^Μεσαίο" -#: qcsrc/menu/xonotic/dialog_settings_network.c:53 -msgid "Speed (kB/s):" -msgstr "Ταχύτητα (kB/s):" +#: qcsrc/menu/xonotic/dialog_settings_video.c:36 +msgid "SZ^Large" +msgstr "SZ^Μεγάλο" -#: qcsrc/menu/xonotic/dialog_settings_network.c:57 -msgid "Client UDP port:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_video.c:37 +msgid "SZ^Huge" +msgstr "SZ^Τεράστιο" -#: qcsrc/menu/xonotic/serverlist.c:185 -msgid "Remove" -msgstr "Αφαίρεση" +#: qcsrc/menu/xonotic/dialog_settings_video.c:38 +msgid "SZ^Gigantic" +msgstr "SZ^Γιγάντιο" -# I don't know the context of this. -#: qcsrc/menu/xonotic/serverlist.c:187 +# Maybe τιτανικό (titanic) would be better, this may be associated with the Colosseum in Rome... +#: qcsrc/menu/xonotic/dialog_settings_video.c:39 #, fuzzy -msgid "Bookmark" -msgstr "Προσθήκη στους σελιδοδείκτες" +msgid "SZ^Colossal" +msgstr "SZ^Κολοσσαίο" -#: qcsrc/menu/xonotic/serverlist.c:527 -msgid "Ping" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_video.c:42 +msgid "Color depth:" +msgstr "Βάθος χρώματος:" -#: qcsrc/menu/xonotic/serverlist.c:528 -msgid "Host name" -msgstr "Όνομα διακομιστή" +#: qcsrc/menu/xonotic/dialog_settings_video.c:44 +msgid "16bit" +msgstr "16bit" -#: qcsrc/menu/xonotic/serverlist.c:529 -msgid "Map" -msgstr "Χάρτης" +#: qcsrc/menu/xonotic/dialog_settings_video.c:45 +msgid "32bit" +msgstr "32bit" -#: qcsrc/menu/xonotic/serverlist.c:530 -msgid "Type" -msgstr "Τύπος" +#: qcsrc/menu/xonotic/dialog_settings_video.c:48 +msgid "Full screen" +msgstr "Πλήρης οθόνη" -#: qcsrc/menu/xonotic/serverlist.c:531 -msgid "Players" -msgstr "Παίκτες" +#: qcsrc/menu/xonotic/dialog_settings_video.c:49 +msgid "Vertical Synchronization" +msgstr "Κάθετος Συγχρονισμός" -#: qcsrc/menu/xonotic/maplist.c:278 -msgid "Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_video.c:53 +msgid "Anisotropy:" +msgstr "Ανισοτροπία:" -#: qcsrc/menu/xonotic/maplist.c:286 -#, c-format -msgid "%s's Xonotic Server" -msgstr "Διακομιστής Xonotic του %s" +#: qcsrc/menu/xonotic/dialog_settings_video.c:55 +msgid "ANISO^Disabled" +msgstr "ANISO^Απενεργοποίηση" -#: qcsrc/menu/xonotic/maplist.c:291 -msgid "Huh? Can't play this (invalid game type). Refiltering so this won't happen again.\n" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_video.c:56 +#: qcsrc/menu/xonotic/dialog_settings_video.c:66 +msgid "2x" +msgstr "2x" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4 -msgid "Demo" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_video.c:57 +#: qcsrc/menu/xonotic/dialog_settings_video.c:67 +msgid "4x" +msgstr "4x" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 -msgid "Record demos while playing" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_video.c:58 +msgid "8x" +msgstr "8x" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43 -msgid "Timedemo" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_video.c:59 +msgid "16x" +msgstr "16x" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46 -msgid "DEMO^Play" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_video.c:62 +msgid "Antialiasing:" +msgstr "Εξομάλυνση:" -#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4 -msgid "Powerups Panel" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_video.c:65 +msgid "AA^Disabled" +msgstr "AA^Απενεργοποιημένη" -#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:22 -#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:22 -msgid "Enable status bar" +#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +msgid "High-quality frame buffer" 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_settings_video.c:76 +msgid "Depth first:" 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_settings_video.c:78 +msgid "DF^Disabled" 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_settings_video.c:79 +msgid "DF^World" msgstr "" -# Στοίχιση; -#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:37 -#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:37 -msgid "Icon alignment:" -msgstr "Ευθυγράμμιση εικονιδίων:" - -#: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:45 -msgid "Flip strength and shield positions" +#: qcsrc/menu/xonotic/dialog_settings_video.c:80 +msgid "DF^All" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:27 -msgid "Master:" -msgstr "Κύρια ένταση ήχου:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:33 -msgid "Music:" -msgstr "Μουσική" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:41 -msgid "VOL^Ambient:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +msgid "Vertex Buffer Objects (VBOs)" msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:48 -msgid "Info:" -msgstr "Πληροφορίες:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:55 -msgid "Items:" -msgstr "Αντικείμενα:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:62 -msgid "Pain:" -msgstr "Πόνος:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +msgid "VBO^Off" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:69 -msgid "Player:" -msgstr "Παίκτης:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:87 +msgid "Vertices, some Tris (compatible)" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:76 -msgid "Shots:" -msgstr "Πυροβολισμοί:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:90 +msgid "Vertices" +msgstr "Κορυφές" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:83 -msgid "Voice:" -msgstr "Φωνή:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +msgid "Vertices and Triangles" +msgstr "Κορυφές και Τρίγωνα" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:91 -msgid "Weapons:" -msgstr "Όπλα:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:94 +msgid "Brightness:" +msgstr "Φωτεινότητα:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:98 -#: qcsrc/menu/xonotic/dialog_settings_audio.c:156 -msgid "Frequency:" -msgstr "Συχνότητα:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:97 +msgid "Contrast:" +msgstr "Αντίθεση:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:100 -msgid "8 kHz" -msgstr "8 kHz" +#: qcsrc/menu/xonotic/dialog_settings_video.c:100 +msgid "Gamma:" +msgstr "Γάμα:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:101 -msgid "11.025 kHz" -msgstr "11.025 kHz" +#: qcsrc/menu/xonotic/dialog_settings_video.c:105 +msgid "Contrast boost:" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:102 -msgid "16 kHz" -msgstr "16 kHz" +#: qcsrc/menu/xonotic/dialog_settings_video.c:110 +msgid "Saturation:" +msgstr "Κορεσμός:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:103 -msgid "22.05 kHz" -msgstr "22.05 kHz" +#: qcsrc/menu/xonotic/dialog_settings_video.c:116 +msgid "LIT^Ambient:" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:104 -msgid "24 kHz" -msgstr "24 kHz" +#: qcsrc/menu/xonotic/dialog_settings_video.c:119 +msgid "Intensity:" +msgstr "Ένταση:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:105 -msgid "32 kHz" -msgstr "32 kHz" +#: qcsrc/menu/xonotic/dialog_settings_video.c:123 +msgid "Use OpenGL 2.0 shaders (GLSL)" +msgstr "Χρήση σκιών (shaders) OpenGL 2.0 (GLSL)" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:106 -msgid "44.1 kHz" -msgstr "44.1 kHz" +#: qcsrc/menu/xonotic/dialog_settings_video.c:125 +msgid "Use GLSL to handle color control" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:107 -msgid "48 kHz" -msgstr "48 kHz" +#: qcsrc/menu/xonotic/dialog_settings_video.c:128 +msgid "Wait for GPU to finish each frame" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:110 -msgid "Channels:" -msgstr "Κανάλια:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:132 +msgid "Psycho coloring (easter egg)" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:112 -msgid "Mono" -msgstr "Μονοφωνικό" +#: qcsrc/menu/xonotic/dialog_settings_video.c:135 +msgid "Trippy vertices (easter egg)" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:113 -msgid "Stereo" -msgstr "Στερεφωνικό" +#: qcsrc/menu/xonotic/dialog_settings_video.c:138 +msgid "Flip view horizontally" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:114 -msgid "2.1" -msgstr "2.1" +#: qcsrc/menu/xonotic/dialog_singleplayer.c:4 +#, fuzzy +msgid "Singleplayer" +msgstr "Μονό" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:115 -msgid "4" -msgstr "4" +#: qcsrc/menu/xonotic/dialog_singleplayer.c:116 +msgid "Instant action! (random map with bots)" +msgstr "Άμεση δράση! (τυχαίος χάρτης με ρομπότ)" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:116 -msgid "5" -msgstr "5" +#: qcsrc/menu/xonotic/dialog_singleplayer.c:137 +msgid "Campaign Difficulty:" +msgstr "Δυσκολία Εκστρατείας:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:117 -msgid "5.1" -msgstr "5.1" +#: qcsrc/menu/xonotic/dialog_singleplayer.c:138 +msgid "CSKL^Easy" +msgstr "CSKL^Εύκολο" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:118 -msgid "6.1" -msgstr "6.1" +#: qcsrc/menu/xonotic/dialog_singleplayer.c:139 +msgid "CSKL^Medium" +msgstr "CSKL^Μεσαίο" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:119 -msgid "7.1" -msgstr "7.1" +#: qcsrc/menu/xonotic/dialog_singleplayer.c:140 +msgid "CSKL^Hard" +msgstr "CSKL^Δύσκολο" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:123 -msgid "Swap Stereo" -msgstr "" +#: qcsrc/menu/xonotic/dialog_singleplayer.c:142 +msgid "Start Singleplayer!" +msgstr "Έναρξη παιχνιδιού ενός παίκτη!" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 -#, fuzzy -msgid "Headphone friendly mode" -msgstr "Φιλικά με ακουστικά" +#: qcsrc/menu/xonotic/dialog_singleplayer_winner.c:4 +msgid "Winner" +msgstr "Νικητής" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 -msgid "Spatial voices:" -msgstr "" +#: qcsrc/menu/xonotic/dialog_teamselect.c:5 +msgid "Team Selection" +msgstr "Επιλογή Ομαδάς" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:132 -msgid "VOCS^None" -msgstr "" +#: qcsrc/menu/xonotic/dialog_teamselect.c:41 +msgid "join 'best' team (auto-select)" +msgstr "μπες στην «καλύτερη» ομάδα (αυτόματη επιλογή)" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:133 -msgid "VOCS^Taunts" -msgstr "" +#: qcsrc/menu/xonotic/dialog_teamselect.c:45 +msgid "red" +msgstr "κόκκινο" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 -msgid "VOCS^All" -msgstr "" +#: qcsrc/menu/xonotic/dialog_teamselect.c:46 +msgid "blue" +msgstr "μπλε" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 -msgid "Taunt range:" -msgstr "Εμβέλεια κοροϊδίας" +#: qcsrc/menu/xonotic/dialog_teamselect.c:47 +msgid "yellow" +msgstr "κίτρινο" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:140 -msgid "RNG^Very short" -msgstr "RNG^Πολύ μικρή" +#: qcsrc/menu/xonotic/dialog_teamselect.c:48 +msgid "pink" +msgstr "ροζ" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:141 -msgid "RNG^Short" -msgstr "RNG^Μικρή" +#: qcsrc/menu/xonotic/dialog_teamselect.c:51 +msgid "spectate" +msgstr "θέαση" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:142 -msgid "RNG^Normal" -msgstr "RNG^Μεσαία" +#: 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_audio.c:143 -msgid "RNG^Long" -msgstr "RNG^Μακριά" +#: 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_settings_audio.c:144 -msgid "RNG^Full" -msgstr "RNG^Πλήρη" +#: qcsrc/menu/xonotic/maplist.c:290 +#, c-format +msgid "%s's Xonotic Server" +msgstr "Διακομιστής Xonotic του %s" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:151 -msgid "Automatic taunts" -msgstr "Αυτόματες κοροϊδίες" +#: 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_settings_audio.c:160 -msgid "Time warning:" -msgstr "Προειδοποίηση χρόνου:" +#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128 +msgid "spectator" +msgstr "θεατής" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:162 -msgid "WRN^None" -msgstr "WRN^Καμιά" +# Functional, but could be improved as far as including no models at all goes in the meaning of the sentence +#: qcsrc/menu/xonotic/playermodel.c:177 +msgid "<no model found>" +msgstr "<μοντέλο δεν βρέθηκε>" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:163 -msgid "1 minute" -msgstr "1 λεπτό" +#: qcsrc/menu/xonotic/serverlist.c:185 +msgid "Remove" +msgstr "Αφαίρεση" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:164 -msgid "5 minutes" -msgstr "5 λεπτά" +# I don't know the context of this. +#: qcsrc/menu/xonotic/serverlist.c:187 +msgid "Bookmark" +msgstr "Προσθήκη στους σελιδοδείκτες" -# ??? -#: qcsrc/menu/xonotic/dialog_settings_audio.c:165 -#, fuzzy -msgid "WRN^Both" -msgstr "WRN^Και οι δυο" +#: qcsrc/menu/xonotic/serverlist.c:548 +msgid "Ping" +msgstr "" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:168 -msgid "Hit indicator" -msgstr "Ένδειξη χτυπήματος" +#: qcsrc/menu/xonotic/serverlist.c:549 +msgid "Host name" +msgstr "Όνομα διακομιστή" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 -msgid "Menu sounds" -msgstr "Ήχοι μενού" +#: qcsrc/menu/xonotic/serverlist.c:550 +msgid "Map" +msgstr "Χάρτης" -#: qcsrc/menu/xonotic/dialog_multiplayer.c:4 -msgid "Multiplayer" -msgstr "Πολλαπλοί παίκτες" +#: qcsrc/menu/xonotic/serverlist.c:551 +msgid "Type" +msgstr "Τύπος" -#: qcsrc/menu/xonotic/dialog_multiplayer.c:18 -msgid "Servers" -msgstr "Διακομιστές" +#: qcsrc/menu/xonotic/serverlist.c:552 +msgid "Players" +msgstr "Παίκτες" -#: qcsrc/menu/xonotic/dialog_multiplayer.c:20 -msgid "Demos" +#: qcsrc/menu/xonotic/skinlist.c:105 +msgid "<TITLE>" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:4 -msgid "Health/Armor Panel" +#: qcsrc/menu/xonotic/skinlist.c:106 +msgid "<AUTHOR>" msgstr "" -#: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:45 -msgid "Flip health and armor positions" -msgstr "" +#: qcsrc/menu/xonotic/slider_decibels.c:50 +msgid "VOL^OFF" +msgstr "VOL^Σίγαση" -#: qcsrc/server/w_fireball.qc:2 +#: qcsrc/menu/xonotic/slider_decibels.c:52 #, fuzzy -msgid "Fireball" -msgstr "Φλογοβολίδα" - -#: qcsrc/server/w_fireball.qc:417 -#, c-format -msgid "%s forgot about some firemine" -msgstr "" +msgid "VOL^MAX" +msgstr "VOL^Τέρμα" -#: qcsrc/server/w_fireball.qc:419 -#: qcsrc/server/w_hlac.qc:240 +#: qcsrc/menu/xonotic/slider_decibels.c:53 #, c-format -msgid "%s should have used a smaller gun" -msgstr "%s θα έπρεπε να χρησιμοποιούσε μικρότερο όπλο" +msgid "%s dB" +msgstr "%s dB" -#: qcsrc/server/w_fireball.qc:426 +#: qcsrc/menu/xonotic/slider_resolution.c:65 #, c-format -msgid "%s tried to catch %s's firemine" -msgstr "" +msgid "%dx%d" +msgstr "%dx%d" -#: qcsrc/server/w_fireball.qc:428 +#: qcsrc/menu/xonotic/util.qc:276 #, c-format -msgid "%s fatefully ignored %s's firemine" +msgid "Received HTTP request data for an invalid id %d.\n" msgstr "" -#: qcsrc/server/w_fireball.qc:435 +#: qcsrc/menu/xonotic/util.qc:291 #, c-format -msgid "%s could not hide from %s's fireball" -msgstr "ο %s δεν μπορούσε να κρυφτεί από την φλογοβολίδα του %s" +msgid "error receiving update notification: status is %d\n" +msgstr "σφάλμα κατά λήψη είδοποίηση ενημέρωσης: κατάσταση είναι %d\n" -#: qcsrc/server/w_fireball.qc:437 -#, c-format -msgid "%s saw the pretty lights of %s's fireball" -msgstr "ο %s θαύμασε την ομορφιά της φλογοβολίδας του %s" +#: qcsrc/menu/xonotic/util.qc:296 +msgid "error: received HTML instead of an update notification\n" +msgstr "" -#: qcsrc/server/w_fireball.qc:440 -#, c-format -msgid "%s got too close to %s's fireball" -msgstr "ο %s πλησίασε τη φλογοβολίδα του %s πάρα πολύ" +#: qcsrc/menu/xonotic/util.qc:301 +msgid "error: received carriage returns from update notification server\n" +msgstr "" -#: qcsrc/server/w_fireball.qc:442 +#: qcsrc/menu/xonotic/util.qc:322 #, c-format -msgid "%s tasted %s's fireball" -msgstr "ο %s γεύστηκε τη φλόγα του %s " - -# Presumably "Nex" comes from the Latin word which means violent death -#: qcsrc/server/w_nex.qc:2 -msgid "Nex" -msgstr "Θάνατος" +msgid "" +"Update can be downloaded at:\n" +"%s\n" +msgstr "" +"Μπορεί να γίνει λήψη της αναβάθμισης στις:\n" +"%s\n" -#: qcsrc/server/w_nex.qc:253 -#: qcsrc/server/w_shotgun.qc:215 -#: qcsrc/server/w_uzi.qc:317 -#: qcsrc/server/w_minstanex.qc:293 -#, c-format -msgid "%s is now thinking with portals" +#: qcsrc/menu/xonotic/util.qc:351 +msgid "Autogenerating mapinfo for newly added maps..." msgstr "" -#: qcsrc/server/w_nex.qc:255 -#: qcsrc/server/w_minstanex.qc:295 +#: qcsrc/menu/xonotic/util.qc:381 #, c-format -msgid "%s has been vaporized by %s" -msgstr "ο %s αεροποιήθηκε από τον %s" - -#: qcsrc/server/w_laser.qc:2 -msgid "Laser" -msgstr "Λέιζερ" +msgid "^1%s TEST BUILD" +msgstr "^1%s ΔΟΚΙΜΑΣΤΙΚΗ ΕΚΔΟΣΗ" -#: qcsrc/server/w_laser.qc:311 +#: qcsrc/menu/xonotic/util.qc:439 #, c-format -msgid "%s lasered themself to hell" -msgstr "" +msgid "Update to %s now!" +msgstr "Αναβαθμίστε στην έκδοση %s τώρα!" -#: qcsrc/server/w_laser.qc:315 -#, c-format -msgid "%s was cut in half by %s's gauntlet" +#: qcsrc/menu/xonotic/util.qc:524 +msgid "" +"^1ERROR: Texture compression is required but not supported.\n" +"^1Expect visual problems.\n" msgstr "" -#: qcsrc/server/w_laser.qc:317 -#, c-format -msgid "%s was lasered to death by %s" -msgstr "" +#: qcsrc/menu/xonotic/util.qc:643 +msgid "Use default" +msgstr "Χρήση προεπιλογής" -#: qcsrc/server/w_shotgun.qc:2 -msgid "Shotgun" -msgstr "Καραμπίνα" +#: qcsrc/menu/xonotic/util.qc:663 +msgid "Team Color:" +msgstr "Χρώμα Ομαδάς:" -#: qcsrc/server/w_shotgun.qc:219 -#, c-format -msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" -msgstr "" +#: qcsrc/menu/xonotic/util.qh:50 +msgid "Enable panel" +msgstr "Ενεργοποίηση πίνακα" -#: qcsrc/server/w_shotgun.qc:221 -#, c-format -msgid "%s was gunned by %s" -msgstr "" +#: weapons.qc.tmp:1 +msgid "Rifle" +msgstr "Τουφέκι" -#: qcsrc/server/w_uzi.qc:2 +#: weapons.qc.tmp:2 msgid "Machine Gun" msgstr "Πολυβόλο" -#: qcsrc/server/w_uzi.qc:321 -#: qcsrc/server/w_rifle.qc:258 -#, c-format -msgid "%s was sniped by %s" -msgstr "" +#: weapons.qc.tmp:3 +msgid "Rocket Launcher" +msgstr "Ρουκετοεκτοξευτήρας" -#: qcsrc/server/w_uzi.qc:323 -#, c-format -msgid "%s was riddled full of holes by %s" +#: weapons.qc.tmp:4 +msgid "Port-O-Launch" msgstr "" -#: qcsrc/server/w_minstanex.qc:2 -msgid "MinstaNex" -msgstr "" +# Probably the best possible translation +#: weapons.qc.tmp:5 +msgid "Grappling Hook" +msgstr "Δαγκάνα" -#: qcsrc/server/w_electro.qc:2 +#: weapons.qc.tmp:6 msgid "Electro" msgstr "" -#: qcsrc/server/w_electro.qc:574 -#, c-format -msgid "%s could not remember where they put plasma" -msgstr "" +#: weapons.qc.tmp:7 +msgid "Laser" +msgstr "Λέιζερ" -#: qcsrc/server/w_electro.qc:576 -#, c-format -msgid "%s played with plasma" -msgstr "ο %s έπαιξε με πλάσμα" +#: weapons.qc.tmp:8 +msgid "Shotgun" +msgstr "Καραμπίνα" -#: qcsrc/server/w_electro.qc:583 +#: weapons.qc.tmp:9 #, c-format -msgid "%s just noticed %s's blue ball" -msgstr "ο %s μόλις πρόσεξε τη μπλε μπάλα του %s" +msgid "@!#%'n Tuba" +msgstr "" -#: qcsrc/server/w_electro.qc:585 -#, c-format -msgid "%s got in touch with %s's blue ball" +#: weapons.qc.tmp:10 +msgid "MinstaNex" msgstr "" -#: qcsrc/server/w_electro.qc:590 -#, c-format -msgid "%s felt the electrifying air of %s's combo" +#: weapons.qc.tmp:11 +msgid "Crylink" msgstr "" -#: qcsrc/server/w_electro.qc:592 -#, c-format -msgid "%s got too close to %s's blue beam" -msgstr "ο %s πλησίασε τη μπλε ακτίνα του %s πάρα πολύ" +# Tried to make it sound as bad-ass as I could... +#: weapons.qc.tmp:12 +msgid "Heavy Laser Assault Cannon" +msgstr "Εξειδικευμένο Βαρύ Πυροβόλο Λείζερ" -#: qcsrc/server/w_electro.qc:594 -#, c-format -msgid "%s was blasted by %s's blue beam" -msgstr "" +# Somewhat archaic in my opinion, not cool enough for Xonotic (it starts with an X for God's sake!) +#: weapons.qc.tmp:13 +#, fuzzy +msgid "Mortar" +msgstr "Ολμοβόλο" -#: qcsrc/server/w_tuba.qc:2 -#, c-format -msgid "@!#%'n Tuba" +#: weapons.qc.tmp:14 +msgid "Hagar" msgstr "" -#: qcsrc/server/w_tuba.qc:252 -#, c-format -msgid "%s hurt his own ears with the @!#%%'n Tuba" +#: weapons.qc.tmp:15 +msgid "T.A.G. Seeker" msgstr "" -#: qcsrc/server/w_tuba.qc:256 -#, c-format -msgid "%s died of %s's great playing on the @!#%%'n Tuba" -msgstr "" +#: weapons.qc.tmp:16 +msgid "Fireball" +msgstr "Φλογοβολίδα" -#: qcsrc/server/w_porto.qc:2 -msgid "Port-O-Launch" -msgstr "" +#: weapons.qc.tmp:17 +msgid "Mine Layer" +msgstr "Ναρκοθέτης" -#: qcsrc/server/w_porto.qc:296 -#: qcsrc/server/w_hook.qc:266 -#, c-format -msgid "%s did the impossible" -msgstr "ο %s έκανε το απίθανο" +# Presumably "Nex" comes from the Latin word which means violent death +#: weapons.qc.tmp:18 +msgid "Nex" +msgstr "Θάνατος" -#: qcsrc/server/w_porto.qc:298 -#, c-format -msgid "%s felt %s doing the impossible to him" -msgstr "ο %s ένιωσε τον %s να κάνει το απίθανο σ'αυτόν" +#~ msgid "Show names:" +#~ msgstr "Εμφάνιση ονομάτων:" -#: qcsrc/server/w_hagar.qc:2 -msgid "Hagar" -msgstr "" +#~ msgid "All players" +#~ msgstr "Όλοι οι παίκτες" -#: qcsrc/server/w_hagar.qc:395 -#: qcsrc/server/w_seeker.qc:655 -#, c-format -msgid "%s played with tiny rockets" -msgstr "ο %s έπαιξε με μικρές ρουκέτες" +#~ msgid "UI mouse speed:" +#~ msgstr "Ταχύτητα δείκτη στην διεπαφή:" -# Too long. -#: qcsrc/server/w_hagar.qc:399 -#, fuzzy, c-format -msgid "%s hoped %s's missiles wouldn't bounce" -msgstr "ο %s έλπιζε ότι οι πύραυλοι του %s δεν θα αναπηδούσε" +#~ msgid "Zoom speed:" +#~ msgstr "Ταχύτητα ζουμ:" -#: qcsrc/server/w_hagar.qc:401 -#: qcsrc/server/w_seeker.qc:661 -#, c-format -msgid "%s was pummeled by %s" -msgstr "" +#~ msgid "Weapon settings..." +#~ msgstr "Ρυθμίσεις όπλων..." -#: qcsrc/server/w_crylink.qc:2 -msgid "Crylink" -msgstr "" +#~ msgid "Size:" +#~ msgstr "Μέγεθος:" -#: qcsrc/server/w_crylink.qc:666 -#, c-format -msgid "%s succeeded at self-destructing themself with the Crylink" -msgstr "" +#~ msgid "Network speed:" +#~ msgstr "Τάχυτητα δικτύου:" -#: qcsrc/server/w_crylink.qc:671 -#, c-format -msgid "%s could not hide from %s's Crylink" -msgstr "" +#~ msgid "HTTP downloads:" +#~ msgstr "Λήψεις HTTP:" -#: qcsrc/server/w_crylink.qc:673 -#, c-format -msgid "%s was too close to %s's Crylink" -msgstr "" +#~ msgid "Taunt range:" +#~ msgstr "Εμβέλεια κοροϊδίας" -#: qcsrc/server/w_crylink.qc:675 -#, c-format -msgid "%s took a close look at %s's Crylink" -msgstr "" +#~ msgid "RNG^Very short" +#~ msgstr "RNG^Πολύ μικρή" -#: qcsrc/server/w_rocketlauncher.qc:2 -msgid "Rocket Launcher" -msgstr "Ρουκετοεκτοξευτήρας" +#~ msgid "RNG^Short" +#~ msgstr "RNG^Μικρή" -#: qcsrc/server/w_rocketlauncher.qc:501 -#: qcsrc/server/w_minelayer.qc:523 -#, c-format -msgid "%s exploded" -msgstr "ο %s εκκράγη" +#~ msgid "RNG^Normal" +#~ msgstr "RNG^Μεσαία" -#: qcsrc/server/w_rocketlauncher.qc:505 -#, c-format -msgid "%s got too close to %s's rocket" -msgstr "ο %s πλησίασε τη ρουκέτα του %s ίσως πολύ" +#~ msgid "RNG^Long" +#~ msgstr "RNG^Μακριά" -#: qcsrc/server/w_rocketlauncher.qc:507 -#, c-format -msgid "%s almost dodged %s's rocket" -msgstr "ο %s σχεδόν απέφυγε τη ρουκέτα του %s" +#~ msgid "RNG^Full" +#~ msgstr "RNG^Πλήρη" -#: qcsrc/server/w_rocketlauncher.qc:509 -#, c-format -msgid "%s ate %s's rocket" -msgstr "ο %s έφαγε τη ρουκέτα του %s" +#~ msgid "WRN^None" +#~ msgstr "WRN^Καμιά" -# Probably the best possible translation -#: qcsrc/server/w_hook.qc:2 -#, fuzzy -msgid "Grappling Hook" -msgstr "Δαγκάνα" +#~ msgid "%s should have used a smaller gun" +#~ msgstr "%s θα έπρεπε να χρησιμοποιούσε μικρότερο όπλο" -#: qcsrc/server/w_hook.qc:268 -#, c-format -msgid "%s has run into %s's gravity bomb" -msgstr "" +#~ msgid "%s could not hide from %s's fireball" +#~ msgstr "ο %s δεν μπορούσε να κρυφτεί από την φλογοβολίδα του %s" -#: qcsrc/server/w_minelayer.qc:2 -msgid "Mine Layer" -msgstr "Ναρκοθέτης" +#~ msgid "%s saw the pretty lights of %s's fireball" +#~ msgstr "ο %s θαύμασε την ομορφιά της φλογοβολίδας του %s" -#: qcsrc/server/w_minelayer.qc:527 -#, c-format -msgid "%s got too close to %s's mine" -msgstr "" +#~ msgid "%s got too close to %s's fireball" +#~ msgstr "ο %s πλησίασε τη φλογοβολίδα του %s πάρα πολύ" -#: qcsrc/server/w_minelayer.qc:529 -#, c-format -msgid "%s almost dodged %s's mine" -msgstr "ο %s σχεδόν απέφυγε τη νάρκη του %s" +#~ msgid "%s tasted %s's fireball" +#~ msgstr "ο %s γεύστηκε τη φλόγα του %s " -#: qcsrc/server/w_minelayer.qc:531 -#, c-format -msgid "%s stepped on %s's mine" -msgstr "ο %s πάτησε τη νάρκη του %s" +#~ msgid "%s has been vaporized by %s" +#~ msgstr "ο %s αεροποιήθηκε από τον %s" -#: qcsrc/server/w_rifle.qc:2 -msgid "Rifle" -msgstr "Τουφέκι" +#~ msgid "%s played with plasma" +#~ msgstr "ο %s έπαιξε με πλάσμα" -#: qcsrc/server/w_rifle.qc:233 -#, c-format -msgid "%s shot themself automatically" -msgstr "" +#~ msgid "%s just noticed %s's blue ball" +#~ msgstr "ο %s μόλις πρόσεξε τη μπλε μπάλα του %s" -#: qcsrc/server/w_rifle.qc:235 -#, c-format -msgid "%s sniped themself somehow" -msgstr "" +#~ msgid "%s got too close to %s's blue beam" +#~ msgstr "ο %s πλησίασε τη μπλε ακτίνα του %s πάρα πολύ" -#: qcsrc/server/w_rifle.qc:242 -#, c-format -msgid "%s failed to hide from %s's bullet hail" -msgstr "" +#~ msgid "%s did the impossible" +#~ msgstr "ο %s έκανε το απίθανο" -#: qcsrc/server/w_rifle.qc:244 -#, fuzzy, c-format -msgid "%s died in %s's bullet hail" -msgstr "ο %s πέθανε στο χάλαζι σφερών του %s" +#~ msgid "%s felt %s doing the impossible to him" +#~ msgstr "ο %s ένιωσε τον %s να κάνει το απίθανο σ'αυτόν" -#: qcsrc/server/w_rifle.qc:251 -#, c-format -msgid "%s failed to hide from %s's rifle" -msgstr "" +#~ msgid "%s played with tiny rockets" +#~ msgstr "ο %s έπαιξε με μικρές ρουκέτες" -#: qcsrc/server/w_rifle.qc:256 -#, c-format -msgid "%s got hit in the head by %s" -msgstr "" +#~ msgid "%s exploded" +#~ msgstr "ο %s εκκράγη" -#: qcsrc/server/w_seeker.qc:2 -msgid "T.A.G. Seeker" -msgstr "" +#~ msgid "%s got too close to %s's rocket" +#~ msgstr "ο %s πλησίασε τη ρουκέτα του %s ίσως πολύ" -#: qcsrc/server/w_seeker.qc:659 -#, c-format -msgid "%s was tagged by %s" -msgstr "" +#~ msgid "%s almost dodged %s's rocket" +#~ msgstr "ο %s σχεδόν απέφυγε τη ρουκέτα του %s" -# Somewhat archaic in my opinion, not cool enough for Xonotic (it starts with an X for God's sake!) -#: qcsrc/server/w_grenadelauncher.qc:2 -#, fuzzy -msgid "Mortar" -msgstr "Ολμοβόλο" +#~ msgid "%s ate %s's rocket" +#~ msgstr "ο %s έφαγε τη ρουκέτα του %s" -#: qcsrc/server/w_grenadelauncher.qc:383 -#, c-format -msgid "%s tried out his own grenade" -msgstr "ο %s δοκίμασε την ίδια του τη χειροβομβίδα" +#~ msgid "%s almost dodged %s's mine" +#~ msgstr "ο %s σχεδόν απέφυγε τη νάρκη του %s" -#: qcsrc/server/w_grenadelauncher.qc:385 -#, c-format -msgid "%s detonated" -msgstr "ο %s ανατινάχθηκε" +#~ msgid "%s stepped on %s's mine" +#~ msgstr "ο %s πάτησε τη νάρκη του %s" -#: qcsrc/server/w_grenadelauncher.qc:391 -#, c-format -msgid "%s didn't see %s's grenade" -msgstr "ο %s δεν είδε τη χειροβομβίδα του %s" +#~ msgid "%s tried out his own grenade" +#~ msgstr "ο %s δοκίμασε την ίδια του τη χειροβομβίδα" -#: qcsrc/server/w_grenadelauncher.qc:393 -#, c-format -msgid "%s almost dodged %s's grenade" -msgstr "ο %s σχεδόν απέφυγε τη χειροβομβίδα του %s" +#~ msgid "%s detonated" +#~ msgstr "ο %s ανατινάχθηκε" -#: qcsrc/server/w_grenadelauncher.qc:395 -#, c-format -msgid "%s ate %s's grenade" -msgstr "ο %s έφαγε τη χειροβομβίδα του %s" +#~ msgid "%s didn't see %s's grenade" +#~ msgstr "ο %s δεν είδε τη χειροβομβίδα του %s" -# Tried to make it sound as bad-ass as I could... -#: qcsrc/server/w_hlac.qc:2 -msgid "Heavy Laser Assault Cannon" -msgstr "Εξειδικευμένο Βαρύ Πυροβόλο Λείζερ" +#~ msgid "%s almost dodged %s's grenade" +#~ msgstr "ο %s σχεδόν απέφυγε τη χειροβομβίδα του %s" -#: qcsrc/server/w_hlac.qc:242 -#, c-format -msgid "%s was cut down by %s" -msgstr "" +#~ msgid "%s ate %s's grenade" +#~ msgstr "ο %s έφαγε τη χειροβομβίδα του %s" + +# Might just mean other people playing with you, literally (official definition) "co-players" +#~ msgid "Teammates" +#~ msgstr "Συμπαίκτες" + +# Too long. +#~ msgid "%s hoped %s's missiles wouldn't bounce" +#~ msgstr "ο %s έλπιζε ότι οι πύραυλοι του %s δεν θα αναπηδούσε" +#~ msgid "%s died in %s's bullet hail" +#~ msgstr "ο %s πέθανε στο χάλαζι σφερών του %s" diff --git a/menu.dat.fi.po b/menu.dat.fi.po index 116c9bb98..bd8e93f37 100644 --- a/menu.dat.fi.po +++ b/menu.dat.fi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1preview\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-02 07:51+0200\n" +"POT-Creation-Date: 2012-01-26 12:24+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Henry 'Exitium' Sanmark <henry.sanmark@gmail.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,33 +17,102 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: qcsrc/common/mapinfo.qc:1092 qcsrc/menu/xonotic/skinlist.c:163 +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "@!#% tuubanheitto!" + +#: 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 "Mättö (Deathmatch)" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "Viimeiseen mieheen (Last Man Standing)" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Areena (Arena)" + +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "Riimu-ottelu (Runematch)" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Kilpailu (RACE)" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "Kilpailu CTS (RACE CTS)" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "Joukkuemättö (Team Deatchmatch)" + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Lipunryöstö (CTF)" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Klaaniareena (Clan Arena)" + +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Hallinta (Domination)" + +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Avaimenetsintä (Key Hunt)" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "Rynnäkkö (Assault)" + +#: qcsrc/common/mapinfo.qh:72 +msgid "Onslaught" +msgstr "Suurtaistelu (Onslaught)" + +#: qcsrc/common/mapinfo.qh:75 +msgid "Nexball" +msgstr "Nexpallo (Nexball)" + +#: qcsrc/common/mapinfo.qh:78 +msgid "Freeze Tag" +msgstr "Pakkashippa (Freeze Tag)" + +#: qcsrc/common/mapinfo.qh:81 +msgid "Keepaway" +msgstr "Pakomatka (Keepaway)" + +#: qcsrc/menu/command/menu_cmd.qc:41 #, c-format msgid "error: status is %d\n" msgstr "virhe: %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 "Käyttö: menu_cmd_command..., missä mahdollisia komentoja ovat:\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 - uudelleenlataa kaikki cvar-muuttujat nykyiseen valikkoon" -#: 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 ITMEM - valitse valikon kohta pääkohdaksi\n" -#: qcsrc/menu/gamecommand.qc:193 +#: qcsrc/menu/command/menu_cmd.qc:179 msgid "error creating curl handle\n" msgstr "virhe luodessa curl handlea\n" -#: 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 "" "Komentoa ei löydy. Saadaksesi listan kaikista tuetuista komennoista, kokeile " @@ -72,17 +141,17 @@ msgstr "%d (%s)" msgid "custom" msgstr "omavalintainen" -#: qcsrc/menu/menu.qc:29 +#: qcsrc/menu/menu.qc:37 #, c-format msgid "^4MQC Build information: ^1%s\n" msgstr "^4MQC Version tiedot: ^1%s\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 "Taso %d: %s" @@ -113,10 +182,14 @@ msgstr "Tekijät" #: 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" @@ -125,7 +198,7 @@ msgstr "OK" msgid "Welcome" msgstr "Tervetuloa" -#: 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 " @@ -134,18 +207,34 @@ msgstr "" "Tervetuloa pelaamaan Xonoticcia! Valitse haluamasi kieli ja pelaajanimesi " "aloittaaksesi. Voit vaihtaa näitä asetuksia jälkikäteen pelin asetuksista." -#: qcsrc/menu/xonotic/dialog_firstrun.c:38 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 -msgid "Text language:" -msgstr "Tekstin kieli:" - -#: 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 "Nimi:" -#: 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 "Tekstin kieli:" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:77 +msgid "Allow player statistics to use your nickname at stats.xonotic.org?" +msgstr "Salli pelinimesi käyttö pelaajatilastosivulla stats.xonotic.org?" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:81 +msgid "ALWU2N^Yes" +msgstr "ALWU2N^Kyllä" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:82 +msgid "ALWU2N^No" +msgstr "ALWU2N^Ei" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:83 +msgid "ALWU2N^Undecided" +msgstr "ALWU2N^En osaa päättää" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:87 msgid "Save settings" msgstr "Tallenna asetukset" @@ -204,7 +293,7 @@ msgid "Text alignment:" msgstr "Tekstin kohdistus:" #: 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 "Keskus" @@ -348,12 +437,12 @@ msgid "Status bar" msgstr "Tilapalkki" #: 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 "Vasen tasaus" #: 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 "Oikea tasaus" @@ -370,6 +459,7 @@ msgid "Flip speed/acceleration positions" msgstr "Vaihda nopeuden/kiihtyvyyden paikkaa" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:29 msgid "Speed:" msgstr "Nopeus:" @@ -461,8 +551,8 @@ msgstr "Tutka:" #: 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 "Alpha:" @@ -491,6 +581,7 @@ msgid "North" msgstr "Pohjoinen" #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61 msgid "Scale:" msgstr "Skaala:" @@ -567,7 +658,6 @@ msgid "Fade out after:" msgstr "Himmennä jälkikäteen:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36 msgid "Never" msgstr "Ei ikinä" @@ -601,34 +691,38 @@ msgid "Weapon icons:" msgstr "Aseiden kuvakkeet:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45 +msgid "Show only owned weapons" +msgstr "Näytä vain omistuksessa olevat aseet" + +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 msgid "Show weapon ID as:" msgstr "Näytä aseen tunniste:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49 msgid "SHOWAS^None" msgstr "SHOWAS^Ei mitään." -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50 msgid "Number" msgstr "Numero" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 msgid "Bind" msgstr "Näppäin" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54 msgid "Show Accuracy" msgstr "Näytä tarkkuus" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 msgid "Show Ammo" msgstr "Näytä panokset" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58 msgid "Ammo bar color:" msgstr "Ammuskotelon väri" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64 msgid "Ammo bar alpha:" msgstr "Ammuskotelon alpha" @@ -640,24 +734,24 @@ msgstr "Paneelin näkymän asetukset" msgid "Panel background defaults:" msgstr "Paneelin taustan perusasetukset:" -#: 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 "Tausta:" #: 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 "Pois päältä" #: 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 "Väri:" -#: 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 "Reunan koko:" @@ -666,11 +760,11 @@ msgstr "Reunan koko:" msgid "Team color:" msgstr "Joukkueen väri:" -#: 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 "Kokeile joukkueen väriä muokkaustilassa" -#: 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 "Pehmustus:" @@ -744,127 +838,123 @@ msgstr "Pelaajan asetukset" msgid "Game type:" msgstr "Pelityyppi" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46 -msgid "Match settings:" -msgstr "Ottelun asetukset" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48 msgid "Time limit:" msgstr "Aikaraja" -#: 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 "Käytä kartan omaa oletusarvoa" -#: 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 "Pisteraja:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63 msgid "Player slots:" msgstr "Pelaajamäärä:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66 msgid "Number of bots:" msgstr "Bottien lukumäärä:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69 msgid "Bot skill:" msgstr "Bottien taitotaso:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72 msgid "Botlike" msgstr "Typerä kone" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73 msgid "Beginner" msgstr "Aloittelija" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 msgid "You will win" msgstr "Helppo voitto" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 msgid "You can win" msgstr "Helpohko" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 msgid "You might win" msgstr "Keskitaso" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 msgid "Advanced" msgstr "Kehittynyt" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 msgid "Expert" msgstr "Ekspertti" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 msgid "Pro" msgstr "Mestari" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 msgid "Assassin" msgstr "Murhaaja" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 msgid "Unhuman" msgstr "Epäinhimillinen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 msgid "Godlike" msgstr "Jumalainen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:88 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87 msgid "Mutators..." msgstr "Muokkaukset..." -#: 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 "Edistyneet asetukset..." -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103 msgid "Map list:" msgstr "Karttalista" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109 msgid "Select all" msgstr "Valitse kaikki" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112 msgid "Select none" msgstr "Poista kaikki valinnat" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118 msgid "Start Multiplayer!" msgstr "Aloita moninpeli!" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153 msgid "Capture limit:" msgstr "Lipunryöstöraja" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157 msgid "Lives:" msgstr "Elämät:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 msgid "Laps:" msgstr "Kierrokset:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 msgid "Goals:" msgstr "Maalit:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163 msgid "Frag limit:" msgstr "Tapporaja:" @@ -968,28 +1058,28 @@ msgstr "Esineiden täysi sijoittaminen" msgid "MinstaGib only" msgstr "Vain MinstaGib" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81 msgid "Title:" msgstr "Otsikko:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87 msgid "Author:" msgstr "Tekijä:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93 msgid "Features:" msgstr "Ominaisuudet:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98 msgid "Game types:" msgstr "Pelityypit:" -#: 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 "Sulje" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124 msgid "MAP^Play" msgstr "Pelaa" @@ -1011,108 +1101,121 @@ msgid "%s Arena" msgstr "%s taistelukenttä" #: 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 "Väistely" #: 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 "Rakettilentely" -#: 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 "Kuolemattomat Projektiilit" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:272 msgid "No start weapons" msgstr "Ei aloitusasetta" -#: 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 "Vajaa painovoima" -#: 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 "Näkymätön" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86 msgid "Hook" msgstr "Köysi" -#: 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 "Jalat irti maasta" -#: 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 "Vampyyri" -#: 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 "Aseet jäävät" -#: 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 "Verenvuodatus" -#: 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 "Rakettireppu" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100 +msgid "No powerups" +msgstr "Ei tehonlisäyksiä" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102 +msgid "Powerups" +msgstr "Tehonlisäykset" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104 msgid "MUT^None" msgstr "MUT^Ei mitään" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170 msgid "Gameplay mutators:" msgstr "Pelityylin muokkaukset:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201 msgid "Weapon & item mutators:" msgstr "Aseiden ja esineiden muokkaukset:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204 msgid "Grappling hook" msgstr "Köysi" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223 msgid "Weapon arenas:" msgstr "Tietyn aseen taistelukenttä" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226 msgid "Regular (no arena)" msgstr "Perinteinen" -#: 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 "laserilla" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255 msgid "Special arenas:" msgstr "Erikoistaistelukentät:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268 msgid "Most weapons" msgstr "Suurin osa aseista" @@ -1121,26 +1224,26 @@ msgid "Demo" msgstr "Demo" #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 -msgid "Record demos while playing" +msgid "Automatically record demos while playing" msgstr "Tallenna demoja pelin aikana" -#: 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 "Suodatin:" -#: 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 "Tyhjennä" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45 msgid "Timedemo" msgstr "Aikademo" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48 msgid "DEMO^Play" msgstr "Pelaa" @@ -1161,6 +1264,7 @@ msgid "Pause" msgstr "Keskeytä" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 msgid "Address:" msgstr "Osoite:" @@ -1169,7 +1273,7 @@ msgid "Info..." msgstr "Tietoa..." #: 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 "Liity!" @@ -1177,307 +1281,495 @@ msgstr "Liity!" msgid "Server Information" msgstr "Palvelimen tiedot" -#: 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 vapaata pelaajapaikkaa" +msgid "%d/%d" +msgstr "%d/%d" + +#: 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 "Perusasetus" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 #, c-format -msgid "%d modified settings" +msgid "%d modified" msgstr "%d muokattua asetusta" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 -msgid "Official settings" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 +msgid "Official" msgstr "Viralliset asetukset" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197 -msgid "N/A (can't connect)" -msgstr "N/A (ei voida yhdistää)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208 +msgid "N/A (auth library missing, can't connect)" +msgstr "Ei saatavilla (valtuutuskirjastot puuttuvat, ei voida yhdistää)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205 -msgid "not supported (can't connect)" -msgstr "ei tuettu (ei voida yhdistää)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:210 +msgid "N/A (auth library missing)" +msgstr "Ei saatavilla (valtuutuskirjastot puuttuvat)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207 -msgid "not supported (won't encrypt)" -msgstr "ei tuettu (salaus ei onnistu)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216 +msgid "Not supported (can't connect)" +msgstr "Ei tuettu (ei voida yhdistää)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211 -msgid "supported (will encrypt)" -msgstr "tuettu (salaus onnistuu)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218 +msgid "Not supported (won't encrypt)" +msgstr "Ei tuettu (salaus ei onnistu)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213 -msgid "supported (won't encrypt)" -msgstr "tuettu (salaus ei onnistu)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222 +msgid "Supported (will encrypt)" +msgstr "Tuettu (salaus onnistuu)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217 -msgid "requested (will encrypt)" -msgstr "pyydetty (salaus onnistuu)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224 +msgid "Supported (won't encrypt)" +msgstr "Tuettu (salaus ei onnistu)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219 -msgid "requested (won't encrypt)" -msgstr "pyydetty (salaus ei onnistu)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228 +msgid "Requested (will encrypt)" +msgstr "Pyydetty (salaus onnistuu)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223 -msgid "required (can't connect)" -msgstr "vaadittu (ei voida yhdistää)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230 +msgid "Requested (won't encrypt)" +msgstr "Pyydetty (salaus ei onnistu)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225 -msgid "required (will encrypt)" -msgstr "vaadittu (salaus onnistuu)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234 +msgid "Required (can't connect)" +msgstr "Vaadittu (ei voida yhdistää)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269 -msgid "Players:" -msgstr "Pelaajat:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236 +msgid "Required (will encrypt)" +msgstr "Vaadittu (salaus onnistuu)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254 -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38 -msgid "Type:" -msgstr "Tyyppi:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:256 +msgid "Hostname:" +msgstr "Palvelimen nimi" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270 +msgid "Gametype:" +msgstr "Pelityyppi" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275 msgid "Map:" msgstr "Kartta:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264 -msgid "Gameplay:" -msgstr "Pelitila:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274 -msgid "Bots:" -msgstr "Botit:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280 msgid "Mod:" msgstr "Modi:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285 msgid "Version:" msgstr "Versio:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289 -msgid "Ping:" -msgstr "Viive:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290 +msgid "Settings:" +msgstr "Asetukset" -#: 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 "Pelaajat:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301 -msgid "Key:" -msgstr "Avain:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302 +msgid "Bots:" +msgstr "Botit:" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307 +msgid "Free slots:" +msgstr "Vapaat paikat:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313 msgid "Encryption:" msgstr "Salaus:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318 +msgid "ID:" +msgstr "Tunnus:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323 +msgid "Key:" +msgstr "Avain:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60 +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19 msgid "Model:" msgstr "Hahmo:" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 -msgid "Field of view:" -msgstr "Näkökenttä:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92 -msgid "View bobbing:" -msgstr "Näytä huojunta:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96 -msgid "Zoom factor:" -msgstr "Tarkennuskerroin:" +msgid "No crosshair" +msgstr "Ei tähtäintä:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100 -msgid "Zoom speed:" -msgstr "Tarkennuksen nopeus:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90 +msgid "Per weapon crosshair" +msgstr "Asekohtainen tähtäin" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:103 -msgid "Weapon settings..." -msgstr "Aseiden asetukset..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93 +msgid "Custom crosshair" +msgstr "Muokattu tähtäin:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110 -msgid "Crosshair:" -msgstr "Tähtäin:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:111 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 -msgid "Per weapon" -msgstr "Asekohtainen" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112 msgid "Crosshair size:" msgstr "Tähtäimen suuruus:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:134 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117 msgid "Crosshair alpha:" msgstr "Tähtäimen alpha:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:138 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123 msgid "Crosshair color:" msgstr "Tähtäimen väri:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125 +msgid "Per weapon" +msgstr "Asekohtainen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127 msgid "By health" msgstr "Elämän mukaan" -#: 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 "Omavalintainen" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148 -msgid "Enable center dot" -msgstr "Ota tähtäin käyttöön" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 +msgid "Other crosshair settings" +msgstr "Muut tähtäimen asetukset" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151 -msgid "Size:" -msgstr "Koko:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6 +msgid "Model settings" +msgstr "Hahmon asetukset" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158 -msgid "Hit test:" -msgstr "Osumatesti:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6 +msgid "View settings" +msgstr "Näkymän asetukset" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 -msgid "HTST^None" -msgstr "HTST^Ei mitään." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 +msgid "Weapon settings" +msgstr "Aseiden asetukset" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6 +msgid "HUD settings" +msgstr "Käyttöliittymän asetukset" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 +#: 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 "Ota heti käyttöön" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160 -msgid "TrueAim" -msgstr "TrueAim" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6 +msgid "Crosshair settings" +msgstr "Tähtäimen asetukset:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161 -msgid "Enemies" -msgstr "Viholliset" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28 +msgid "Enable center crosshair dot" +msgstr "Käytä keskitettyä pistettä tähtäimessä" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164 -msgid "Waypoints setup..." -msgstr "Välimatkojen asetukset..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31 +msgid "Dot size:" +msgstr "Pisteen koko:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36 +msgid "Dot alpha:" +msgstr "Pisteen läpinäkyvyys:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41 +msgid "Dot color:" +msgstr "Pisteen väri:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43 +msgid "Use normal crosshair color" +msgstr "Käytä normaalin tähtäimen väriä:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54 +msgid "Crosshair animations:" +msgstr "Tähtäimen animaatiot:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57 +msgid "Smooth effects of crosshairs" +msgstr "Pehmennä tähtäimen efektejä" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61 +msgid "Use rings to indicate weapon status" +msgstr "Ympyrät näyttävät aseen tila" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67 +msgid "Hit testing:" +msgstr "Osumatesti:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69 +msgid "HTTST^Disabled" +msgstr "HTTST^Pois päältä" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70 +msgid "HTTST^TrueAim" +msgstr "HTTST^TrueAim" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71 +msgid "HTTST^Enemies" +msgstr "HTTST^Viholliset" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76 +msgid "Blur crosshair if the shot is obstructed" +msgstr "Sumenna tähtäin jos aseen ja kohteen välissä on este" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81 +msgid "Animate when hitting an enemy" +msgstr "Animoi osutessa viholliseen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85 +msgid "Animate when picking up an item" +msgstr "Animoi poimitessa esineen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40 +msgid "Damage:" +msgstr "Veriroiskeet:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43 +msgid "Overlay:" +msgstr "Päällys:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47 +msgid "Factor:" +msgstr "Tarkennuskerroin:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:52 +msgid "Fade rate:" +msgstr "Sisääntulon häivennyksen kesto" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:58 +msgid "Waypoints" +msgstr "Välietapit" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:71 +msgid "Edge offset:" +msgstr "Tönäisy reunasta:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:80 +msgid "Show names above players" +msgstr "Näytä pelaajanimet hahmojen yläpuolella" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83 +msgid "Only when near crosshair" +msgstr "Vain lähellä tähtäintä" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86 +msgid "Display health and armor" +msgstr "Näytä elämän ja panssarin arvot" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4 msgid "Enter HUD editor" msgstr "Muokkaa näkymää" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174 -msgid "Force models:" -msgstr "Pakota hahmojen ulkomuoto samanlaiseksi:" +#: 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 "Jotta käyttöliittymän editori toimisi, täytyy sinun olla pelissä." -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 -msgid "MDL^None" -msgstr "MDL^Ei mitään." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30 +msgid "Do you wish to start a local game to set up the HUD?" +msgstr "" +"Haluatko aloittaa paikallisen pelin (LAN) muokatakseesi käyttöliittymää?" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176 -msgid "MDL^Custom" -msgstr "MDL^Omavalintainen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33 +msgid "HDCNFRM^Yes" +msgstr "HDCNFRM^Kyllä" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177 -msgid "MDL^All" -msgstr "MDL^Kaikki" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36 +msgid "HDCNFRM^No" +msgstr "HDCNFRM^Ei" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180 -msgid "Disable gore effects" -msgstr "Ota ylimitoitettu raakuus pois päältä" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28 +msgid "Body fading:" +msgstr "Ruumiin häivytys:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31 msgid "Gibs:" msgstr "Raajat:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33 msgid "GIBS^None" msgstr "GIBS^Ei mitään" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34 msgid "GIBS^Few" msgstr "GIBS^Vähän" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35 msgid "GIBS^Many" msgstr "GIBS^Paljon" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36 msgid "GIBS^Lots" msgstr "GIBS^Runsaasti" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:191 -msgid "Damage splash:" -msgstr "Veriroiskeet" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40 +msgid "Playermodel LOD:" +msgstr "Pelaajahahmon LOD:" -#: 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 "Ota heti käyttöön" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44 +msgid "Force models:" +msgstr "Pakota hahmojen ulkomuoto samanlaiseksi:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5 -msgid "Waypoints" -msgstr "Välietapit" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45 +msgid "MDL^None" +msgstr "MDL^Ei mitään." -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23 -msgid "Show base waypoints" -msgstr "Näytä tukikohtien välimatkat" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46 +msgid "MDL^Custom" +msgstr "MDL^Omavalintainen" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25 -msgid "Waypoint scale:" -msgstr "Välietappien skaala:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47 +msgid "MDL^All" +msgstr "MDL^Kaikki" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29 -msgid "Waypoint alpha:" -msgstr "Välietappien alpha:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50 +msgid "Force player models to mine" +msgstr "Pakota hahmojen ulkomuoto samanlaiseksi:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34 -msgid "Show names:" -msgstr "Näytä nimet:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52 +msgid "Force player colors to mine" +msgstr "Pakota pelaajat samanvärisiksi" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37 -msgid "Teammates" -msgstr "Oma joukkue" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28 +msgid "Field of view:" +msgstr "Näkökenttä:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38 -msgid "All players" -msgstr "Kaikki pelaajat" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31 +msgid "Zoom:" +msgstr "Tarkennus:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 -msgid "Weapon settings" -msgstr "Aseiden asetukset" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33 +msgid "RETICLE^Fullscreen" +msgstr "RETICLE^Kokoruutu" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 -msgid "Weapon priority list:" -msgstr "Aseiden prioriteetti:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34 +msgid "RETICLE^With reticle" +msgstr "RETICLE^Ristikolla" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34 -msgid "Up" -msgstr "Ylös" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38 +msgid "ZOOM^Factor:" +msgstr "ZOOM^Kerroin:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37 -msgid "Down" -msgstr "Alas" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42 +msgid "ZOOM^Speed:" +msgstr "ZOOM^Nopeus:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 -msgid "Use priority list for weapon cycling" -msgstr "Käytä prioriteettiä aseiden vaihdossa" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52 +msgid "ZOOM^Instant" +msgstr "ZOOM^Heti" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43 -msgid "Auto switch weapons on pickup" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56 +msgid "ZOOM^Sensitivity:" +msgstr "ZOOM^Herkkyys:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59 +msgid "Velocity zoom:" +msgstr "Vauhtitarkennus:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61 +msgid "VZOOM^Disabled" +msgstr "VZOOM^Pois" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62 +msgid "VZOOM^Forward only" +msgstr "VZOOM^Vain eteenpäin" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63 +msgid "VZOOM^All directions" +msgstr "VZOOM^Kaikkiin suuntiin" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67 +msgid "VZOOM^Speed" +msgstr "VZOOM^Vauhti" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72 +msgid "Allow passing through walls while spectating" +msgstr "Salli lentäminen seinien läpi katsojana" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75 +msgid "1st person perspective" +msgstr "Ensimmäisen persoonan näkymä" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79 +msgid "Smooth the view when landing from a jump" +msgstr "Pehmennä näkymää laskeuduttaessa" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83 +msgid "Smooth the view while crouching" +msgstr "Pehmennä näkymää kun menet kyykkyyn" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87 +msgid "View waving while idle" +msgstr "Heiluta näkymää joutilaana" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91 +msgid "View bobbing while walking around" +msgstr "Heiluta näkymää kun kävelet" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96 +msgid "3rd person perspective" +msgstr "Kolmannen persoonan näkymä" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100 +msgid "Back distance" +msgstr "Etäisyys taakse:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106 +msgid "Up distance" +msgstr "Etäisyys ylös:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 +msgid "Weapon priority list:" +msgstr "Aseiden prioriteetti:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33 +msgid "Up" +msgstr "Ylös" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36 +msgid "Down" +msgstr "Alas" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 +msgid "Use priority list for weapon cycling" +msgstr "Käytä prioriteettiä aseiden vaihdossa" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43 +msgid "Auto switch weapons on pickup" msgstr "Vaihda ase automaattisesti poimimisen jälkeen" -#: 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 "Piirrä ensimmäisen persoonan asemalli" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55 -msgid "Flip view horizontally" -msgstr "Käännä näkymä horisontaalisesti" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58 +msgid "Gun model swaying" +msgstr "Aseen huojunta" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63 +msgid "Gun model bobbing" +msgstr "Aseen heilunta" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68 +msgid "VWMDL^Scale" +msgstr "VWMDL^Skaala" #: qcsrc/menu/xonotic/dialog_news.c:4 msgid "News" @@ -1491,18 +1783,146 @@ msgstr "http://www.xonotic.org/team/blog/" msgid "Quit" msgstr "Lopeta" -#: qcsrc/menu/xonotic/dialog_quit.c:17 +#: qcsrc/menu/xonotic/dialog_quit.c:18 msgid "Are you sure you want to quit?" msgstr "Haluatko aivan varmasti lopettaa pelin?" -#: qcsrc/menu/xonotic/dialog_quit.c:20 +#: qcsrc/menu/xonotic/dialog_quit.c:21 msgid "Yes" msgstr "Kyllä" -#: qcsrc/menu/xonotic/dialog_quit.c:21 +#: qcsrc/menu/xonotic/dialog_quit.c:22 msgid "No" msgstr "Ei" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4 +msgid "Sandbox Tools" +msgstr "Hiekkalaatikon työkalut" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:24 +msgid "Spawn" +msgstr "Luo" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25 +msgid "Remove *" +msgstr "Poista *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27 +msgid "Copy *" +msgstr "Kopioi *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28 +msgid "Paste" +msgstr "Liitä:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:30 +msgid "Bone:" +msgstr "Luu:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:35 +msgid "Set * as child" +msgstr "Aseta * lapseksi" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36 +msgid "Attach to *" +msgstr "Liitä *:n" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:38 +msgid "Detach from *" +msgstr "Irrota *:stä" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:41 +msgid "Visual object properties for *:" +msgstr "Esineen *:n visuaaliset ominaisuudet:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:43 +msgid "Set skin:" +msgstr "Aseta iho:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45 +msgid "Set alpha:" +msgstr "Aseta läpinäkyvyys:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48 +msgid "Set color main:" +msgstr "Aseta pääväri:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50 +msgid "Set color glow:" +msgstr "Aseta hehkumisväri:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:54 +msgid "Set frame:" +msgstr "Aseta kuvaruutu" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:58 +msgid "Physical object properties for *:" +msgstr "Esineen *:n fysikaaliset ominaisuudet:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:60 +msgid "Set material:" +msgstr "Aseta materiaali" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:66 +msgid "Set solidity:" +msgstr "Aseta kiinteyys:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67 +msgid "Non-solid" +msgstr "Ei-kiinteä" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68 +msgid "Solid" +msgstr "Kiinteä" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69 +msgid "Set physics:" +msgstr "Aseta fysiikka:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70 +msgid "Static" +msgstr "Staattinen" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71 +msgid "Movable" +msgstr "Siirrettävä" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72 +msgid "Physical" +msgstr "Fyysinen" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74 +msgid "Set scale:" +msgstr "Aseta skaala:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:76 +msgid "Set force:" +msgstr "Aseta voima:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:80 +msgid "Claim *" +msgstr "Valtaa *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:82 +msgid "* object info" +msgstr "* esineen info" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83 +msgid "* mesh info" +msgstr "* mesh info" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84 +msgid "* attachment info" +msgstr "* liitosinfo" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85 +msgid "Show help" +msgstr "Näytä apu" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86 +msgid "* is the object you are facing" +msgstr "* on esine jota katsot" + #: qcsrc/menu/xonotic/dialog_settings.c:4 msgid "Settings" msgstr "Asetukset" @@ -1528,9 +1948,9 @@ msgid "Audio" msgstr "Ääni" #: qcsrc/menu/xonotic/dialog_settings.c:22 -#: qcsrc/menu/xonotic/dialog_settings_network.c:4 -msgid "Network" -msgstr "Verkko" +#: qcsrc/menu/xonotic/dialog_settings_user.c:4 +msgid "User" +msgstr "Käyttäjä" #: qcsrc/menu/xonotic/dialog_settings.c:23 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4 @@ -1541,194 +1961,170 @@ msgstr "Sekalainen" msgid "Master:" msgstr "Pääkanava:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:33 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:35 msgid "Music:" msgstr "Musiikki:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:41 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:45 msgid "VOL^Ambient:" msgstr "VOL^Ympäristö:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:48 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:54 msgid "Info:" msgstr "Tiedoitukset:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:55 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:63 msgid "Items:" msgstr "Esineet:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:62 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:72 msgid "Pain:" msgstr "Kipu:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:69 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:81 msgid "Player:" msgstr "Pelaaja:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:76 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:90 msgid "Shots:" msgstr "Laukaukset:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:83 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:99 msgid "Voice:" msgstr "Puhe:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:91 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:109 msgid "Weapons:" msgstr "Aseet:" -#: 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 "Uusi äänenvaimennustapa" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:119 +msgid "Mute sounds when not active" +msgstr "Mykistä äänet ikkunan ollessa passiivinen" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:122 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:194 msgid "Frequency:" msgstr "Taajuus:" -#: 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 "Kanavat:" -#: 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 "Stereo" -#: 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 "Vaihda stereoäänilähteiden paikkaa" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:148 msgid "Headphone friendly mode" msgstr "Kuulokeystävällinen tila" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 -msgid "Spatial voices:" -msgstr "Tilanneäänet:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:132 -msgid "VOCS^None" -msgstr "VOCS^Ei mitään" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:133 -msgid "VOCS^Taunts" -msgstr "VOCS^Huudahdukset" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 -msgid "VOCS^All" -msgstr "VOCS^Kaikki" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 -msgid "Taunt range:" -msgstr "Huudahduksen kantama" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:140 -msgid "RNG^Very short" -msgstr "RNG^Hyvin lyhyt" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:141 -msgid "RNG^Short" -msgstr "RNG^Lyhyt" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:142 -msgid "RNG^Normal" -msgstr "RNG^Normaali" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:143 -msgid "RNG^Long" -msgstr "RNG^Pitkä" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 +msgid "Hit indication sound" +msgstr "Osumailmaisimen ääni" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:144 -msgid "RNG^Full" -msgstr "RNG^Täysi" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:172 +msgid "Chat message sound" +msgstr "Keskustelun piippausääni" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:151 -msgid "Automatic taunts" -msgstr "Automaattiset huudahdukset" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:174 +msgid "Menu sounds" +msgstr "Valikon äänet" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:160 -msgid "Time warning:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:177 +msgid "Time announcer:" msgstr "Aikavaroitus:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:162 -msgid "WRN^None" -msgstr "WRN^Ei mitään" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:179 +msgid "WRN^Disabled" +msgstr "WRN^Pois päältä" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:163 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:180 msgid "1 minute" msgstr "1 minuutti" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:164 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:181 msgid "5 minutes" msgstr "5 minuuttia" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:165 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:182 msgid "WRN^Both" msgstr "WRN^Molemmat" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:168 -msgid "Hit indicator" -msgstr "Osumailmaisin" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:189 +msgid "Automatic taunts" +msgstr "Automaattiset huudahdukset" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 -msgid "Menu sounds" -msgstr "Valikon äänet" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:199 +msgid "Debug info about sounds" +msgstr "Äänten debug info" #: qcsrc/menu/xonotic/dialog_settings_effects.c:38 msgid "Quality preset:" @@ -1791,230 +2187,226 @@ msgid "DET^Insane" msgstr "DET^Sekopäinen" #: qcsrc/menu/xonotic/dialog_settings_effects.c:62 -msgid "Antialiasing:" -msgstr "Reunojenpehmennys (Antialiasing):" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:64 -msgid "AA^Disabled" -msgstr "AA^Pois päältä" - -#: 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 "Tekstuurien tarkkuus:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:73 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 msgid "RES^Leet" msgstr "RES^Leet" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:74 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 msgid "RES^Lowest" msgstr "RES^Matalin" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:75 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:67 +msgid "RES^Very low" +msgstr "RES^Hyvin matala" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:68 msgid "RES^Low" msgstr "RES^Matala" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:76 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:69 msgid "RES^Normal" msgstr "RES^Normaali" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:77 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 msgid "RES^Good" msgstr "RES^Hyvä" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:78 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:71 msgid "RES^Best" msgstr "RES^Paras" -#: 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 "Vältä häviöllistä tekstuurien pakkaamista" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 -msgid "Anisotropy:" -msgstr "Anisotropia:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:93 +msgid "Use lightmaps" +msgstr "Käytä valaistuksia" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:102 -msgid "ANISO^Disabled" -msgstr "ANISO^Pois päältä" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:94 +msgid "Deluxe mapping" +msgstr "Pikselikohtainen valaistus" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:105 -msgid "8x" -msgstr "8x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:96 +msgid "Gloss" +msgstr "Kiilto" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 +msgid "Particles quality:" +msgstr "Partikkeleiden laatu:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:103 +msgid "Particles distance:" +msgstr "Partikkeleiden etäisyys:" #: qcsrc/menu/xonotic/dialog_settings_effects.c:106 -msgid "16x" -msgstr "16x" +msgid "Damage effects:" +msgstr "Vahinkoefektit:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 -msgid "Particle quality:" -msgstr "Kappaleiden laatu:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:108 +msgid "DMGPRTCLS^Disabled" +msgstr "DMGPRTCLS^Pois" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:109 +msgid "DMGPRTCLS^Skeletal" +msgstr "DMGPRTCLS^Luusto" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:113 -msgid "Particle distance:" -msgstr "Kappaleiden etäisyys:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 +msgid "DMGPRTCLS^All" +msgstr "DMGPRTCLS^Kaikki" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:117 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:114 msgid "Decals" msgstr "Siirtokuvat" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:118 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:115 msgid "Decals on models" msgstr "Hahmojen siirtokuvat" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:122 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:119 msgid "Distance:" msgstr "Etäisyys:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:128 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:125 msgid "Time:" msgstr "Kesto:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 -msgid "Use lightmaps" -msgstr "Käytä valaistuksia" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:135 -msgid "Deluxe mapping" -msgstr "Pikselikohtainen valaistus" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:137 -msgid "Gloss" -msgstr "Kiilto" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:140 -msgid "Offset mapping" -msgstr "Korosta tekstuurien kuhmuja" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 -msgid "Relief mapping" -msgstr "Tehokas tekstuurien kuhmujen korostus" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:145 -msgid "Reflections:" -msgstr "Heijastukset:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:148 -msgid "Blurred" -msgstr "Sumea" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 -msgid "REFL^Good" -msgstr "REFL^Hyvä" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:150 -msgid "Sharp" -msgstr "Terävä" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:131 +msgid "Coronas" +msgstr "Valokehät" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 -msgid "Show surfaces" -msgstr "Näytä pinnat" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:132 +msgid "Use Occlusion Queries" +msgstr "Käytä Occlusion Queryä" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 msgid "No dynamic lighting" msgstr "Ei dynaamista valaistusta" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 -msgid "Flash blend approximation" -msgstr "Yksinkertaiset valot" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:136 +msgid "Fake corona lighting" +msgstr "Valaistuksen valokehä" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:161 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:138 msgid "Realtime dynamic lighting" msgstr "Reaaliaikainen dynaaminen valaitus" -#: 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 "Varjot" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:165 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 msgid "Realtime world lighting" msgstr "Reaaliaikainen ympäristön valaistus" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:170 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:147 msgid "Use normal maps" msgstr "Käytä tekstuurien suunnattua varjostamista" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:172 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 msgid "Soft shadows" msgstr "Pehmeät varjot" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:175 -msgid "Coronas" -msgstr "Valokehät" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:153 +msgid "Show surfaces" +msgstr "Näytä pinnat" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:176 -msgid "Use Occlusion Queries" -msgstr "Käytä Occlusion Queryä" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 +msgid "Offset mapping" +msgstr "Korosta tekstuurien kuhmuja" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +msgid "Relief mapping" +msgstr "Tehokas tekstuurien kuhmujen korostus" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 +msgid "LOD" +msgstr "Yksityiskohtaisuus" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:178 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 msgid "Bloom" msgstr "Hehku" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:180 -msgid "High Dynamic Range (HDR)" -msgstr "HDR" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:164 +msgid "Reflections:" +msgstr "Heijastukset:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:167 +msgid "Blurred" +msgstr "Sumea" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:168 +msgid "REFL^Good" +msgstr "REFL^Hyvä" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:169 +msgid "Sharp" +msgstr "Terävä" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:184 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:174 msgid "Motion blur:" msgstr "Liikesumeus:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:189 -msgid "Blur and sharpen postprocessing" -msgstr "Sumenna ja terävöitä jälkikäsittelyä" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:179 +msgid "Extra postprocessing effects" +msgstr "Ylimääräiset jälkikäsittelyefektit" #: qcsrc/menu/xonotic/dialog_settings_input.c:26 msgid "Key bindings:" msgstr "Näppäimet:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:31 +#: qcsrc/menu/xonotic/dialog_settings_input.c:30 msgid "Change key..." msgstr "Vaihda näppäin..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:35 +#: qcsrc/menu/xonotic/dialog_settings_input.c:34 msgid "Edit..." msgstr "Muokkaa..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:46 -msgid "Sensitivity:" -msgstr "Herkkyys:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:45 +msgid "Pressing \"enter console\" key also closes it" +msgstr "\"avaa komentorivi\" myös sulkee komentorivin" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:47 +msgid "Automatically repeat jumping if holding jump" +msgstr "Hyppää automaattisesti uudestaan pitämällä hyppynappi painettuna" #: qcsrc/menu/xonotic/dialog_settings_input.c:51 -msgid "UI mouse speed:" -msgstr "Käyttöliittymän hiiren nopeus:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:53 +#: qcsrc/menu/xonotic/dialog_settings_input.c:56 +msgid "Use joystick input" +msgstr "Käytä peliohjainta" -#: qcsrc/menu/xonotic/dialog_settings_input.c:55 -msgid "Mouse filter" -msgstr "Hiiren suodatin" +#: qcsrc/menu/xonotic/dialog_settings_input.c:61 +msgid "Mouse:" +msgstr "Hiiri:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:57 -msgid "Invert mouse" -msgstr "Käännä hiiren suunta" +#: qcsrc/menu/xonotic/dialog_settings_input.c:64 +msgid "Sensitivity:" +msgstr "Herkkyys:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:60 -#: qcsrc/menu/xonotic/dialog_settings_input.c:62 -msgid "Use joystick input" -msgstr "Käytä peliohjainta" +#: qcsrc/menu/xonotic/dialog_settings_input.c:68 +msgid "Smooth aiming" +msgstr "Tähtäyksen pehmennys" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:71 +msgid "Invert aiming" +msgstr "Käännä hiiren suunta" -#: 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 +msgid "Disable system mouse acceleration" msgstr "Laita käyttöjärjestelmän hiiren kiihtyvyys pois päältä" -#: qcsrc/menu/xonotic/dialog_settings_input.c:69 -msgid "\"enter console\" also closes" -msgstr "\"avaa komentorivi\" myös sulkee komentorivin" +#: qcsrc/menu/xonotic/dialog_settings_input.c:85 +msgid "Enable built in mouse acceleration" +msgstr "Laita käyttöjärjestelmän hiiren kiihtyvyys päälle" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5 msgid "User defined key bind" @@ -2037,96 +2429,261 @@ msgid "Cancel" msgstr "Peruuta" #: qcsrc/menu/xonotic/dialog_settings_misc.c:26 -msgid "Menu skins:" -msgstr "Päävalikon ulkoasu:" +msgid "Network:" +msgstr "Verkko:" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:47 -msgid "Show current time" -msgstr "Näytä nykyinen kellonaika" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:31 +msgid "56k" +msgstr "56k" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:49 -msgid "Show current date" -msgstr "Näytä nykyinen päivämäärä" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:32 +msgid "ISDN" +msgstr "ISDN" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:51 -msgid "Show frames per second" -msgstr "Näytä ruudunpäivitysnopeus (FPS)" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:33 +msgid "Slow ADSL" +msgstr "Hidas ASL" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:53 -msgid "Minimize input latency" -msgstr "Minimoi syötteen viive" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:34 +msgid "Fast ADSL" +msgstr "Nopea ADSL" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 -msgid "Advanced settings" -msgstr "Edistyneet asetukset" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 +msgid "Broadband" +msgstr "Laajakaista" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23 -msgid "Cvar filter:" -msgstr "Cvar suodatin" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:39 +msgid "Input packets/s:" +msgstr "Vastaanottopaketit /s:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34 -msgid "Setting:" -msgstr "Asetus:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:45 +msgid "Local latency:" +msgstr "Paikallinen viive" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42 -msgid "Value:" -msgstr "Arvo:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:50 +msgid "Client UDP port:" +msgstr "Asiakkaan UDP portti" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56 -msgid "Description:" -msgstr "Kuvaus:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:55 +msgid "Show netgraph" +msgstr "Näytä verkkograafi" -#: qcsrc/menu/xonotic/dialog_settings_network.c:26 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:59 msgid "Client-side movement prediction" msgstr "Asiakasohjelman liikkeen ennustus" -#: qcsrc/menu/xonotic/dialog_settings_network.c:30 -msgid "Show netgraph" -msgstr "Näytä verkkograafi" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +msgid "Movement error compensation" +msgstr "Liikkeen virhekompensaatio" -#: qcsrc/menu/xonotic/dialog_settings_network.c:33 -msgid "Network speed:" -msgstr "Verkon nopeus:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:66 +msgid "Downloads:" +msgstr "Lataukset:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:35 -msgid "56k" -msgstr "56k" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:69 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:81 +msgid "Maximum:" +msgstr "Maksimi:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:36 -msgid "ISDN" -msgstr "ISDN" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:73 +msgid "Speed (kB/s):" +msgstr "Nopeus (kb/s)" -#: qcsrc/menu/xonotic/dialog_settings_network.c:37 -msgid "Slow ADSL" -msgstr "Hidas ASL" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:78 +msgid "Framerate:" +msgstr "Ruudunpäivitysnopeus:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:38 -msgid "Fast ADSL" -msgstr "Nopea ADSL" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:83 +msgid "MAXFPS^5 fps" +msgstr "MAXFPS^5 fps " -#: qcsrc/menu/xonotic/dialog_settings_network.c:39 -msgid "Broadband" -msgstr "Laajakaista" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:84 +msgid "MAXFPS^10 fps" +msgstr "MAXFPS^10 fps " -#: qcsrc/menu/xonotic/dialog_settings_network.c:42 -msgid "Input packets/s:" -msgstr "Vastaanottopaketit /s:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:85 +msgid "MAXFPS^20 fps" +msgstr "MAXFPS^20 fps " -#: qcsrc/menu/xonotic/dialog_settings_network.c:46 -msgid "HTTP downloads:" -msgstr "HTTP lataukset:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:86 +msgid "MAXFPS^30 fps" +msgstr "MAXFPS^30 fps " -#: qcsrc/menu/xonotic/dialog_settings_network.c:49 -msgid "Downloads:" -msgstr "Lataukset:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:87 +msgid "MAXFPS^40 fps" +msgstr "MAXFPS^40 fps " -#: qcsrc/menu/xonotic/dialog_settings_network.c:53 -msgid "Speed (kB/s):" -msgstr "Nopeus (kb/s)" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:88 +msgid "MAXFPS^50 fps" +msgstr "MAXFPS^50 fps " -#: qcsrc/menu/xonotic/dialog_settings_network.c:57 -msgid "Client UDP port:" -msgstr "Asiakkaan UDP portti" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:89 +msgid "MAXFPS^60 fps" +msgstr "MAXFPS^60 fps " + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:90 +msgid "MAXFPS^70 fps" +msgstr "MAXFPS^70 fps " + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:91 +msgid "MAXFPS^100 fps" +msgstr "MAXFPS^100 fps " + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:92 +msgid "MAXFPS^125 fps" +msgstr "MAXFPS^125 fps " + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:93 +msgid "MAXFPS^200 fps" +msgstr "MAXFPS^200 fps " + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:94 +msgid "MAXFPS^Unlimited" +msgstr "MAXFPS^Rajaton " + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:98 +msgid "Target:" +msgstr "Kohde:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:100 +msgid "TRGT^Disabled" +msgstr "TRGT^Pois päältä" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:101 +msgid "TRGT^30 fps" +msgstr "TRGT^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:102 +msgid "TRGT^40 fps" +msgstr "TRGT^40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:103 +msgid "TRGT^50 fps" +msgstr "TRGT^50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:104 +msgid "TRGT^60 fps" +msgstr "TRGT^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:105 +msgid "TRGT^100 fps" +msgstr "TRGT^100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:106 +msgid "TRGT^125 fps" +msgstr "TRGT^125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:107 +msgid "TRGT^200 fps" +msgstr "TRGT^200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:111 +msgid "Idle limit:" +msgstr "Aikaraja" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:113 +msgid "IDLFPS^10 fps" +msgstr "IDLFPS^10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:114 +msgid "IDLFPS^20 fps" +msgstr "IDLFPS^20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:115 +msgid "IDLFPS^30 fps" +msgstr "IDLFPS^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:116 +msgid "IDLFPS^60 fps" +msgstr "IDLFPS^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:117 +msgid "IDLFPS^Unlimited" +msgstr "IDLFPS^Rajaton" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:122 +msgid "Show frames per second" +msgstr "Näytä ruudunpäivitysnopeus (FPS)" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:125 +msgid "Save processing time for other apps" +msgstr "Jätä laskenta-aikaa muille sovelluksille" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:129 +msgid "Menu tooltips:" +msgstr "Päävalikon työkaluvihjeet:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:131 +msgid "TLTIP^Disabled" +msgstr "TLTIP^Pois päältä" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:132 +msgid "TLTIP^Standard" +msgstr "TLTIP^Vakio" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:133 +msgid "TLTIP^Advanced" +msgstr "TLTIP^Kehittynyt" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:137 +msgid "Show current time" +msgstr "Näytä nykyinen kellonaika" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:139 +msgid "Show current date" +msgstr "Näytä nykyinen päivämäärä" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:141 +msgid "Enable developer mode" +msgstr "Ota kehittäjätila käyttöön" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 +msgid "Advanced settings" +msgstr "Edistyneet asetukset" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31 +msgid "Cvar filter:" +msgstr "Cvar suodatin" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44 +msgid "Setting:" +msgstr "Asetus:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:48 +msgid "Type:" +msgstr "Tyyppi:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:52 +msgid "Value:" +msgstr "Arvo:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:68 +msgid "Description:" +msgstr "Kuvaus:" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:27 +msgid "Menu skins:" +msgstr "Päävalikon ulkoasu:" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:31 +msgid "Set skin" +msgstr "Aseta ulkoasu:" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:74 +msgid "Set language" +msgstr "Tekstin kieli:" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:79 +msgid "Disable gore effects and harsh language" +msgstr "Ota ylimitoitettu raakuus ja karski kieli pois käytöstä" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:82 +msgid "Allow player statistics to track your client" +msgstr "Salli pelaajatilastojen seuraavan peliasennustasi" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:84 +msgid "Allow player statistics to use your nickname" +msgstr "Salli pelaajatilastojen käyttävän pelinimeäsi" #: qcsrc/menu/xonotic/dialog_settings_video.c:26 msgid "Resolution:" @@ -2176,103 +2733,173 @@ msgstr "SZ^Massiivinen" msgid "Color depth:" msgstr "Värisävy:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:44 +msgid "16bit" +msgstr "16 bittinen" + #: qcsrc/menu/xonotic/dialog_settings_video.c:45 +msgid "32bit" +msgstr "32 bittinen" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:48 msgid "Full screen" msgstr "Kokoruutu" -#: qcsrc/menu/xonotic/dialog_settings_video.c:46 +#: qcsrc/menu/xonotic/dialog_settings_video.c:49 msgid "Vertical Synchronization" msgstr "Pystytahdistus (VSYNC)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:49 -msgid "Use OpenGL 2.0 shaders (GLSL)" -msgstr "Käytä OpenGL 2.0 shaders-varjostuksia (GLSL)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:53 +msgid "Anisotropy:" +msgstr "Anisotropia:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:52 -msgid "Use GLSL to handle color control" -msgstr "Käytä GLSL:ää värien hallinnassa" +#: qcsrc/menu/xonotic/dialog_settings_video.c:55 +msgid "ANISO^Disabled" +msgstr "ANISO^Pois päältä" #: qcsrc/menu/xonotic/dialog_settings_video.c:56 -msgid "Vertex Buffer Objects (VBOs)" -msgstr "Vertex Buffer Object (VBO)" +#: 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 "VBO^Pois" +msgid "16x" +msgstr "16x" -#: qcsrc/menu/xonotic/dialog_settings_video.c:60 -msgid "Vertices, some Tris (compatible)" -msgstr "Verteksit, vähän kolmioita (yhteensopivin)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:62 +msgid "Antialiasing:" +msgstr "Reunojenpehmennys (Antialiasing):" -#: qcsrc/menu/xonotic/dialog_settings_video.c:63 -msgid "Vertices" -msgstr "Verteksit" +#: qcsrc/menu/xonotic/dialog_settings_video.c:65 +msgid "AA^Disabled" +msgstr "AA^Pois päältä" -#: qcsrc/menu/xonotic/dialog_settings_video.c:64 -msgid "Vertices and Triangles" -msgstr "Verteksit ja kolmiot" +#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +msgid "High-quality frame buffer" +msgstr "Korkeanlaatuinen kehyspuskuri" -#: qcsrc/menu/xonotic/dialog_settings_video.c:67 +#: qcsrc/menu/xonotic/dialog_settings_video.c:76 msgid "Depth first:" msgstr "Syvyyssuuntainen renderöinti:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:69 +#: qcsrc/menu/xonotic/dialog_settings_video.c:78 msgid "DF^Disabled" msgstr "DF^Pois" -#: qcsrc/menu/xonotic/dialog_settings_video.c:70 +#: qcsrc/menu/xonotic/dialog_settings_video.c:79 msgid "DF^World" msgstr "DF^Maailma" -#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +#: qcsrc/menu/xonotic/dialog_settings_video.c:80 msgid "DF^All" msgstr "DF^Kaikki" -#: qcsrc/menu/xonotic/dialog_settings_video.c:75 -msgid "Disable multithreaded OpenGL" -msgstr "Ota monisäkeinen OpenGL pois päältä" +#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +msgid "Vertex Buffer Objects (VBOs)" +msgstr "Vertex Buffer Object (VBO)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:77 -msgid "Wait for GPU to finish each frame" -msgstr "Anna näytönohjaimen viimeistellä jokainen ruutu" +#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +msgid "VBO^Off" +msgstr "VBO^Pois" -#: qcsrc/menu/xonotic/dialog_settings_video.c:80 +#: qcsrc/menu/xonotic/dialog_settings_video.c:87 +msgid "Vertices, some Tris (compatible)" +msgstr "Verteksit, vähän kolmioita (yhteensopivin)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:90 +msgid "Vertices" +msgstr "Verteksit" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +msgid "Vertices and Triangles" +msgstr "Verteksit ja kolmiot" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:94 msgid "Brightness:" msgstr "Kirkkaus:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +#: qcsrc/menu/xonotic/dialog_settings_video.c:97 msgid "Contrast:" msgstr "Kontrasti:" -#: 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 "Kontrastin lisäys:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:96 +#: qcsrc/menu/xonotic/dialog_settings_video.c:110 msgid "Saturation:" msgstr "Kylläisyys:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:102 +#: qcsrc/menu/xonotic/dialog_settings_video.c:116 msgid "LIT^Ambient:" msgstr "LIT^Ympäristö:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:105 +#: qcsrc/menu/xonotic/dialog_settings_video.c:119 msgid "Intensity:" msgstr "Intensiivisyys:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:123 +msgid "Use OpenGL 2.0 shaders (GLSL)" +msgstr "Käytä OpenGL 2.0 shaders-varjostuksia (GLSL)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:125 +msgid "Use GLSL to handle color control" +msgstr "Käytä GLSL:ää värien hallinnassa" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:128 +msgid "Wait for GPU to finish each frame" +msgstr "Anna näytönohjaimen viimeistellä jokainen ruutu" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:132 +msgid "Psycho coloring (easter egg)" +msgstr "Psyko-väritys (easter egg)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:135 +msgid "Trippy vertices (easter egg)" +msgstr "Oudot kärjet (easter egg)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:138 +msgid "Flip view horizontally" +msgstr "Käännä näkymä horisontaalisesti" + #: qcsrc/menu/xonotic/dialog_singleplayer.c:4 msgid "Singleplayer" msgstr "Yksinpeli" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:127 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:116 msgid "Instant action! (random map with bots)" msgstr "Suoraan taisteluun! (satunnainen kartta bottien kera)" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:148 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:137 +msgid "Campaign Difficulty:" +msgstr "Kampanjan Vaikeusaste:" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:138 +msgid "CSKL^Easy" +msgstr "CSKL^Helppo" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:139 +msgid "CSKL^Medium" +msgstr "CSKL^Keskikokoinen" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:140 +msgid "CSKL^Hard" +msgstr "CSKL^Vaikea" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:142 msgid "Start Singleplayer!" msgstr "Aloita yksinpeli!" @@ -2308,23 +2935,23 @@ msgstr "pinkki" msgid "spectate" msgstr "seuraa sivusta" -#: 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 "Älä paina enää näppäintä!" -#: 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 "" "Höh? Tätä ei voida pelata (m on NULL). Uudelleensuodatetaan jottei vastaava " "enää toistuisi, anteeksi häiriö.\n" -#: qcsrc/menu/xonotic/maplist.c:286 +#: qcsrc/menu/xonotic/maplist.c:290 #, c-format msgid "%s's Xonotic Server" msgstr "%s Xonotic-palvelin" -#: 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" @@ -2332,7 +2959,11 @@ msgstr "" "Höh? Tätä ei voida pelata (epäkelpo pelityyppi). Uudelleensuodatetaan jottei " "vastaava enää toistuisi.\n" -#: qcsrc/menu/xonotic/playermodel.c:174 +#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128 +msgid "spectator" +msgstr "katsoja" + +#: qcsrc/menu/xonotic/playermodel.c:177 msgid "<no model found>" msgstr "<mallia ei löytynyt>" @@ -2344,23 +2975,23 @@ msgstr "Poista" msgid "Bookmark" msgstr "Kirjanmerkki" -#: qcsrc/menu/xonotic/serverlist.c:527 +#: qcsrc/menu/xonotic/serverlist.c:548 msgid "Ping" msgstr "Viive" -#: qcsrc/menu/xonotic/serverlist.c:528 +#: qcsrc/menu/xonotic/serverlist.c:549 msgid "Host name" msgstr "Palvelimen nimi" -#: qcsrc/menu/xonotic/serverlist.c:529 +#: qcsrc/menu/xonotic/serverlist.c:550 msgid "Map" msgstr "Kartta" -#: qcsrc/menu/xonotic/serverlist.c:530 +#: qcsrc/menu/xonotic/serverlist.c:551 msgid "Type" msgstr "Tyyppi" -#: qcsrc/menu/xonotic/serverlist.c:531 +#: qcsrc/menu/xonotic/serverlist.c:552 msgid "Players" msgstr "Pelaajat" @@ -2390,25 +3021,25 @@ msgstr "%s dB" 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 "Vastaanotettiin epäkelpo HTTP datapyyntö: %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 "virhe vastaanottaessa päivitystiedotetta: tilanne %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 "virhe: vastaanotettiin HTML päivitystiedotteen asemesta\n" -#: qcsrc/menu/xonotic/util.qc:295 +#: qcsrc/menu/xonotic/util.qc:301 msgid "error: received carriage returns from update notification server\n" msgstr "virhe: vastaanotettiin tyhjää dataa päivitystiedotepalvelimelta\n" -#: qcsrc/menu/xonotic/util.qc:316 +#: qcsrc/menu/xonotic/util.qc:322 #, c-format msgid "" "Update can be downloaded at:\n" @@ -2417,22 +3048,22 @@ msgstr "" "Päivitys on ladattavissa:\n" "%s\n" -#: qcsrc/menu/xonotic/util.qc:337 +#: qcsrc/menu/xonotic/util.qc:351 msgid "Autogenerating mapinfo for newly added maps..." msgstr "" "Luodaan automaattisesti karttatietoja vastikään lisätyille kartoille..." -#: qcsrc/menu/xonotic/util.qc:367 +#: qcsrc/menu/xonotic/util.qc:381 #, c-format msgid "^1%s TEST BUILD" msgstr "^1%s TESTIVERSIO" -#: qcsrc/menu/xonotic/util.qc:432 +#: qcsrc/menu/xonotic/util.qc:439 #, c-format msgid "Update to %s now!" msgstr "Päivitä versioon %s nyt!" -#: 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" @@ -2440,444 +3071,358 @@ msgstr "" "^1VIRHE: Tekstuurien pakkaus vaaditaan mutta ei ole tuettuna.\n" "^1Grafiikkavirheitä odotettavissa.\n" -#: qcsrc/menu/xonotic/util.qc:523 -msgid "Arena" -msgstr "Areena (Arena)" +#: qcsrc/menu/xonotic/util.qc:643 +msgid "Use default" +msgstr "Käytä perusasetusta" -#: qcsrc/menu/xonotic/util.qc:524 -msgid "Assault" -msgstr "Rynnäkkö (Assault)" +#: qcsrc/menu/xonotic/util.qc:663 +msgid "Team Color:" +msgstr "Joukkueen väri" -#: qcsrc/menu/xonotic/util.qc:525 -msgid "Capture The Flag" -msgstr "Lipunryöstö (CTF)" +#: qcsrc/menu/xonotic/util.qh:50 +msgid "Enable panel" +msgstr "Ota paneeli käyttöön" -#: qcsrc/menu/xonotic/util.qc:526 -msgid "Clan Arena" -msgstr "Klaaniareena (Clan Arena)" +#: weapons.qc.tmp:1 +msgid "Rifle" +msgstr "Rifle" -#: qcsrc/menu/xonotic/util.qc:527 -msgid "Deathmatch" -msgstr "Mättö (Deathmatch)" +#: weapons.qc.tmp:2 +msgid "Machine Gun" +msgstr "Machine Gun" -#: qcsrc/menu/xonotic/util.qc:528 -msgid "Domination" -msgstr "Hallinta (Domination)" +#: weapons.qc.tmp:3 +msgid "Rocket Launcher" +msgstr "Rocket Launcher" -#: qcsrc/menu/xonotic/util.qc:529 -msgid "Freeze Tag" -msgstr "Pakkashippa (Freeze Tag)" +#: weapons.qc.tmp:4 +msgid "Port-O-Launch" +msgstr "Port-O-Launch" -#: qcsrc/menu/xonotic/util.qc:530 -msgid "Keepaway" -msgstr "Pakomatka (Keepaway)" +#: weapons.qc.tmp:5 +msgid "Grappling Hook" +msgstr "Grabbling Hook" -#: qcsrc/menu/xonotic/util.qc:531 -msgid "Key Hunt" -msgstr "Avaimenetsintä (Key Hunt)" +#: weapons.qc.tmp:6 +msgid "Electro" +msgstr "Electro" -#: qcsrc/menu/xonotic/util.qc:532 -msgid "Last Man Standing" -msgstr "Viimeiseen mieheen (Last Man Standing)" +#: weapons.qc.tmp:7 +msgid "Laser" +msgstr "Laser" -#: qcsrc/menu/xonotic/util.qc:533 -msgid "Nexball" -msgstr "Nexpallo (Nexball)" +#: weapons.qc.tmp:8 +msgid "Shotgun" +msgstr "Shotgun" -#: qcsrc/menu/xonotic/util.qc:534 -msgid "Onslaught" -msgstr "Suurtaistelu (Onslaught)" +#: weapons.qc.tmp:9 +#, c-format +msgid "@!#%'n Tuba" +msgstr "@!#% tuuba" -#: qcsrc/menu/xonotic/util.qc:535 -msgid "Race" -msgstr "Kilpailu (RACE)" +#: weapons.qc.tmp:10 +msgid "MinstaNex" +msgstr "MinstaNex" -#: qcsrc/menu/xonotic/util.qc:536 -msgid "Race CTS" -msgstr "Kilpailu CTS (RACE CTS)" +#: weapons.qc.tmp:11 +msgid "Crylink" +msgstr "Crylink" -#: qcsrc/menu/xonotic/util.qc:537 -msgid "Runematch" -msgstr "Riimu-ottelu (Runematch)" +#: weapons.qc.tmp:12 +msgid "Heavy Laser Assault Cannon" +msgstr "HLAC" -#: qcsrc/menu/xonotic/util.qc:538 -msgid "Team Deathmatch" -msgstr "Joukkuemättö (Team Deatchmatch)" +#: weapons.qc.tmp:13 +msgid "Mortar" +msgstr "Mortar" -#: qcsrc/menu/xonotic/util.qc:557 -#, c-format -msgid "@!#%'n Tuba Throwing" -msgstr "@!#% tuubanheitto!" +#: 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 "Perusasetus" +#: weapons.qc.tmp:15 +msgid "T.A.G. Seeker" +msgstr "T.A.G. Seeker" -#: qcsrc/menu/xonotic/util.qc:588 -msgid "Use default" -msgstr "Käytä perusasetusta" +#: weapons.qc.tmp:16 +msgid "Fireball" +msgstr "Fireball" -#: qcsrc/menu/xonotic/util.qc:608 -msgid "Team Color:" -msgstr "Joukkueen väri" +#: weapons.qc.tmp:17 +msgid "Mine Layer" +msgstr "Mine Layer" -#: qcsrc/menu/xonotic/util.qh:47 -msgid "Enable panel" -msgstr "Ota paneeli käyttöön" +#: weapons.qc.tmp:18 +msgid "Nex" +msgstr "Nex" -#: qcsrc/server/w_crylink.qc:2 -msgid "Crylink" -msgstr "Crylink" +#~ msgid "%d/%d, %d free player slots" +#~ msgstr "%d/%d, %d vapaata pelaajapaikkaa" -#: qcsrc/server/w_crylink.qc:666 -#, c-format -msgid "%s succeeded at self-destructing themself with the Crylink" -msgstr "%s hautoi itsetuhoisia ajatuksia Crylink kädessä" +#~ msgid "Gameplay:" +#~ msgstr "Pelitila:" -#: qcsrc/server/w_crylink.qc:671 -#, c-format -msgid "%s could not hide from %s's Crylink" -msgstr "%s ei kyennyt pakenemaan pelaajan %s Crylinkkiä" +#~ msgid "Ping:" +#~ msgstr "Viive:" -#: qcsrc/server/w_crylink.qc:673 -#, c-format -msgid "%s was too close to %s's Crylink" -msgstr "%s oli liian lähellä pelaajan %s ampumarataa" +#~ msgid "CA:" +#~ msgstr "CA:" -#: qcsrc/server/w_crylink.qc:675 -#, c-format -msgid "%s took a close look at %s's Crylink" -msgstr "%s pääsi tutustumaan lähemmin pelaajan %s kauniiseen Crylinkkiin" +#~ msgid "View bobbing:" +#~ msgstr "Näytä huojunta:" -#: qcsrc/server/w_electro.qc:2 -msgid "Electro" -msgstr "Electro" +#~ msgid "Zoom speed:" +#~ msgstr "Tarkennuksen nopeus:" -#: qcsrc/server/w_electro.qc:574 -#, c-format -msgid "%s could not remember where they put plasma" -msgstr "%s ei sattunut muistamaan minne se plasma oikein kuuluikaan" +#~ msgid "Weapon settings..." +#~ msgstr "Aseiden asetukset..." -#: qcsrc/server/w_electro.qc:576 -#, c-format -msgid "%s played with plasma" -msgstr "%s leikki plasmalla, ei hyvä" +#~ msgid "Size:" +#~ msgstr "Koko:" -#: qcsrc/server/w_electro.qc:583 -#, c-format -msgid "%s just noticed %s's blue ball" -msgstr "%s näki pelaajan %s sinisen pallon" +#~ msgid "HTST^None" +#~ msgstr "HTST^Ei mitään." -#: qcsrc/server/w_electro.qc:585 -#, c-format -msgid "%s got in touch with %s's blue ball" -msgstr "%s pääsi tutustumaan pelaajan %s siniseen palloon" +#~ msgid "Waypoints setup..." +#~ msgstr "Välimatkojen asetukset..." -#: qcsrc/server/w_electro.qc:590 -#, c-format -msgid "%s felt the electrifying air of %s's combo" -msgstr "%s tunsi sähköä ilmassa pelaajan %s tulituksen jälkeen" +#~ msgid "Waypoint scale:" +#~ msgstr "Välietappien skaala:" -#: qcsrc/server/w_electro.qc:592 -#, c-format -msgid "%s got too close to %s's blue beam" -msgstr "%s joutui liian lähelle pelaajan %s sinistä sädettä" +#~ msgid "Show names:" +#~ msgstr "Näytä nimet:" -#: qcsrc/server/w_electro.qc:594 -#, c-format -msgid "%s was blasted by %s's blue beam" -msgstr "%s posahti pelaajan %s siniseen säteeseen" +#~ msgid "Teammates" +#~ msgstr "Oma joukkue" -#: qcsrc/server/w_fireball.qc:2 -msgid "Fireball" -msgstr "Fireball" +#~ msgid "All players" +#~ msgstr "Kaikki pelaajat" -#: qcsrc/server/w_fireball.qc:417 -#, c-format -msgid "%s forgot about some firemine" -msgstr "%s unohti tulimiinansa" +#~ msgid "Spatial voices:" +#~ msgstr "Tilanneäänet:" -#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240 -#, c-format -msgid "%s should have used a smaller gun" -msgstr "%s olisi pitänyt käyttää pienempää asetta" +#~ msgid "VOCS^None" +#~ msgstr "VOCS^Ei mitään" -#: qcsrc/server/w_fireball.qc:426 -#, c-format -msgid "%s tried to catch %s's firemine" -msgstr "%s koetti napata pelaajan %s tulimiinan" +#~ msgid "VOCS^Taunts" +#~ msgstr "VOCS^Huudahdukset" -#: qcsrc/server/w_fireball.qc:428 -#, c-format -msgid "%s fatefully ignored %s's firemine" -msgstr "%s kohtalokkaasti tutustui pelaajan %s tulimiinaan" +#~ msgid "VOCS^All" +#~ msgstr "VOCS^Kaikki" -#: qcsrc/server/w_fireball.qc:435 -#, c-format -msgid "%s could not hide from %s's fireball" -msgstr "%s ei kyennyt pakenemaan pelaajan %s tulipalloa" +#~ msgid "Taunt range:" +#~ msgstr "Huudahduksen kantama" -#: qcsrc/server/w_fireball.qc:437 -#, c-format -msgid "%s saw the pretty lights of %s's fireball" -msgstr "&s näki kauniita valoja pelaajan %s tulipallosta" +#~ msgid "RNG^Very short" +#~ msgstr "RNG^Hyvin lyhyt" -#: qcsrc/server/w_fireball.qc:440 -#, c-format -msgid "%s got too close to %s's fireball" -msgstr "%s joutui turhan lähelle pelaajan %s tulipalloa" +#~ msgid "RNG^Short" +#~ msgstr "RNG^Lyhyt" -#: qcsrc/server/w_fireball.qc:442 -#, c-format -msgid "%s tasted %s's fireball" -msgstr "%s maistoi pelaajan %s tulipalloa" +#~ msgid "RNG^Normal" +#~ msgstr "RNG^Normaali" -#: qcsrc/server/w_grenadelauncher.qc:2 -msgid "Mortar" -msgstr "Mortar" +#~ msgid "RNG^Long" +#~ msgstr "RNG^Pitkä" -#: qcsrc/server/w_grenadelauncher.qc:383 -#, c-format -msgid "%s tried out his own grenade" -msgstr "%s testasi räjähtääkö oma kranaatti" +#~ msgid "RNG^Full" +#~ msgstr "RNG^Täysi" -#: qcsrc/server/w_grenadelauncher.qc:385 -#, c-format -msgid "%s detonated" -msgstr "%s pössähti" +#~ msgid "WRN^None" +#~ msgstr "WRN^Ei mitään" -#: qcsrc/server/w_grenadelauncher.qc:391 -#, c-format -msgid "%s didn't see %s's grenade" -msgstr "%s ei nähnyt pelaajan %s kranaattia" +#~ msgid "Flash blend approximation" +#~ msgstr "Yksinkertaiset valot" -#: qcsrc/server/w_grenadelauncher.qc:393 -#, c-format -msgid "%s almost dodged %s's grenade" -msgstr "%s väisti melkein pelaajan %s kranaatin" +#~ msgid "High Dynamic Range (HDR)" +#~ msgstr "HDR" -#: qcsrc/server/w_grenadelauncher.qc:395 -#, c-format -msgid "%s ate %s's grenade" -msgstr "%s söi pelaajan %s kranaatin" +#~ msgid "Blur and sharpen postprocessing" +#~ msgstr "Sumenna ja terävöitä jälkikäsittelyä" -#: qcsrc/server/w_hagar.qc:2 -msgid "Hagar" -msgstr "Hagar" +#~ msgid "UI mouse speed:" +#~ msgstr "Käyttöliittymän hiiren nopeus:" -#: qcsrc/server/w_hagar.qc:395 qcsrc/server/w_seeker.qc:655 -#, c-format -msgid "%s played with tiny rockets" -msgstr "%s leikki pienien rakettien kanssa" +#~ msgid "Mouse filter" +#~ msgstr "Hiiren suodatin" -#: qcsrc/server/w_hagar.qc:399 -#, c-format -msgid "%s hoped %s's missiles wouldn't bounce" -msgstr "%s toivoi ettei pelaajan %s raketit olisi kimmonneet" +#~ msgid "Minimize input latency" +#~ msgstr "Minimoi syötteen viive" -#: qcsrc/server/w_hagar.qc:401 qcsrc/server/w_seeker.qc:661 -#, c-format -msgid "%s was pummeled by %s" -msgstr "%s joutui pelaajan %s nuijimaksi" +#~ msgid "Network speed:" +#~ msgstr "Verkon nopeus:" -#: qcsrc/server/w_hlac.qc:2 -msgid "Heavy Laser Assault Cannon" -msgstr "HLAC" +#~ msgid "HTTP downloads:" +#~ msgstr "HTTP lataukset:" -#: qcsrc/server/w_hlac.qc:242 -#, c-format -msgid "%s was cut down by %s" -msgstr "%s joutui pelaajan %s niittämäksi" +#~ msgid "Disable multithreaded OpenGL" +#~ msgstr "Ota monisäkeinen OpenGL pois päältä" -#: qcsrc/server/w_hook.qc:2 -msgid "Grappling Hook" -msgstr "Grabbling Hook" +#~ msgid "%s succeeded at self-destructing themself with the Crylink" +#~ msgstr "%s hautoi itsetuhoisia ajatuksia Crylink kädessä" -#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296 -#, c-format -msgid "%s did the impossible" -msgstr "%s teki mahdottomat" +#~ msgid "%s could not hide from %s's Crylink" +#~ msgstr "%s ei kyennyt pakenemaan pelaajan %s Crylinkkiä" -#: qcsrc/server/w_hook.qc:268 -#, c-format -msgid "%s has run into %s's gravity bomb" -msgstr "%s juoksi pelaajan %s pommiin" +#~ msgid "%s was too close to %s's Crylink" +#~ msgstr "%s oli liian lähellä pelaajan %s ampumarataa" -#: qcsrc/server/w_laser.qc:2 -msgid "Laser" -msgstr "Laser" +#~ msgid "%s took a close look at %s's Crylink" +#~ msgstr "%s pääsi tutustumaan lähemmin pelaajan %s kauniiseen Crylinkkiin" -#: qcsrc/server/w_laser.qc:311 -#, c-format -msgid "%s lasered themself to hell" -msgstr "%s lähetti itsensä laserilla helvettiin" +#~ msgid "%s could not remember where they put plasma" +#~ msgstr "%s ei sattunut muistamaan minne se plasma oikein kuuluikaan" -#: qcsrc/server/w_laser.qc:315 -#, c-format -msgid "%s was cut in half by %s's gauntlet" -msgstr "%s leikkaantui kahtia pelaajan %s taisteluhansikkaaseen" +#~ msgid "%s played with plasma" +#~ msgstr "%s leikki plasmalla, ei hyvä" -#: qcsrc/server/w_laser.qc:317 -#, c-format -msgid "%s was lasered to death by %s" -msgstr "%s kuoli pelaajan %s laseriin" +#~ msgid "%s just noticed %s's blue ball" +#~ msgstr "%s näki pelaajan %s sinisen pallon" -#: qcsrc/server/w_minelayer.qc:2 -msgid "Mine Layer" -msgstr "Mine Layer" +#~ msgid "%s got in touch with %s's blue ball" +#~ msgstr "%s pääsi tutustumaan pelaajan %s siniseen palloon" -#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501 -#, c-format -msgid "%s exploded" -msgstr "%s räjähti" +#~ msgid "%s felt the electrifying air of %s's combo" +#~ msgstr "%s tunsi sähköä ilmassa pelaajan %s tulituksen jälkeen" -#: qcsrc/server/w_minelayer.qc:527 -#, c-format -msgid "%s got too close to %s's mine" -msgstr "%s joutui liian lähelle pelaajan %s miinaa" +#~ msgid "%s got too close to %s's blue beam" +#~ msgstr "%s joutui liian lähelle pelaajan %s sinistä sädettä" -#: qcsrc/server/w_minelayer.qc:529 -#, c-format -msgid "%s almost dodged %s's mine" -msgstr "%s miltein väisti pelaajan %s miinan" +#~ msgid "%s was blasted by %s's blue beam" +#~ msgstr "%s posahti pelaajan %s siniseen säteeseen" -#: qcsrc/server/w_minelayer.qc:531 -#, c-format -msgid "%s stepped on %s's mine" -msgstr "%s astui pelaajan %s miinaan" +#~ msgid "%s forgot about some firemine" +#~ msgstr "%s unohti tulimiinansa" -#: qcsrc/server/w_minstanex.qc:2 -msgid "MinstaNex" -msgstr "MinstaNex" +#~ msgid "%s should have used a smaller gun" +#~ msgstr "%s olisi pitänyt käyttää pienempää asetta" -#: 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 kokee portaalit" +#~ msgid "%s tried to catch %s's firemine" +#~ msgstr "%s koetti napata pelaajan %s tulimiinan" -#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:255 -#, c-format -msgid "%s has been vaporized by %s" -msgstr "%s höyrystyi pelaajan %s toimesta" +#~ msgid "%s fatefully ignored %s's firemine" +#~ msgstr "%s kohtalokkaasti tutustui pelaajan %s tulimiinaan" -#: qcsrc/server/w_nex.qc:2 -msgid "Nex" -msgstr "Nex" +#~ msgid "%s could not hide from %s's fireball" +#~ msgstr "%s ei kyennyt pakenemaan pelaajan %s tulipalloa" -#: qcsrc/server/w_porto.qc:2 -msgid "Port-O-Launch" -msgstr "Port-O-Launch" +#~ msgid "%s saw the pretty lights of %s's fireball" +#~ msgstr "&s näki kauniita valoja pelaajan %s tulipallosta" -#: qcsrc/server/w_porto.qc:298 -#, c-format -msgid "%s felt %s doing the impossible to him" -msgstr "%s tunsi kuinka pelaaja %s teki hänelle mahdottoman tempun" +#~ msgid "%s got too close to %s's fireball" +#~ msgstr "%s joutui turhan lähelle pelaajan %s tulipalloa" -#: qcsrc/server/w_rifle.qc:2 -msgid "Rifle" -msgstr "Rifle" +#~ msgid "%s tasted %s's fireball" +#~ msgstr "%s maistoi pelaajan %s tulipalloa" -#: qcsrc/server/w_rifle.qc:233 -#, c-format -msgid "%s shot themself automatically" -msgstr "%s ampui itsensä täysin omatoimisesti" +#~ msgid "%s tried out his own grenade" +#~ msgstr "%s testasi räjähtääkö oma kranaatti" -#: qcsrc/server/w_rifle.qc:235 -#, c-format -msgid "%s sniped themself somehow" -msgstr "%s onnistui jotenkin ampumaan omaan jalkaansa" +#~ msgid "%s detonated" +#~ msgstr "%s pössähti" -#: qcsrc/server/w_rifle.qc:242 -#, c-format -msgid "%s failed to hide from %s's bullet hail" -msgstr "%s ei kyennyt pakenemaan pelaajan %s luotisadetta" +#~ msgid "%s didn't see %s's grenade" +#~ msgstr "%s ei nähnyt pelaajan %s kranaattia" -#: qcsrc/server/w_rifle.qc:244 -#, c-format -msgid "%s died in %s's bullet hail" -msgstr "%s kuoli pelaajan %s luotisateeseen" +#~ msgid "%s almost dodged %s's grenade" +#~ msgstr "%s väisti melkein pelaajan %s kranaatin" -#: qcsrc/server/w_rifle.qc:251 -#, c-format -msgid "%s failed to hide from %s's rifle" -msgstr "%s ei kyennyt piiloutumaan pelaajan %s kivääriä" +#~ msgid "%s ate %s's grenade" +#~ msgstr "%s söi pelaajan %s kranaatin" -#: qcsrc/server/w_rifle.qc:256 -#, c-format -msgid "%s got hit in the head by %s" -msgstr "%s sai päähänsä reiän pelaajan %s toimesta" +#~ msgid "%s played with tiny rockets" +#~ msgstr "%s leikki pienien rakettien kanssa" -#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321 -#, c-format -msgid "%s was sniped by %s" -msgstr "%s ammuttiin alas, kuolonlaukauksen tarjosi %s" +#~ msgid "%s hoped %s's missiles wouldn't bounce" +#~ msgstr "%s toivoi ettei pelaajan %s raketit olisi kimmonneet" -#: qcsrc/server/w_rocketlauncher.qc:2 -msgid "Rocket Launcher" -msgstr "Rocket Launcher" +#~ msgid "%s was pummeled by %s" +#~ msgstr "%s joutui pelaajan %s nuijimaksi" -#: qcsrc/server/w_rocketlauncher.qc:505 -#, c-format -msgid "%s got too close to %s's rocket" -msgstr "%s joutui liian lähelle pelaajan %s rakettia" +#~ msgid "%s was cut down by %s" +#~ msgstr "%s joutui pelaajan %s niittämäksi" -#: qcsrc/server/w_rocketlauncher.qc:507 -#, c-format -msgid "%s almost dodged %s's rocket" -msgstr "%s miltein väisti pelaajan %s raketin" +#~ msgid "%s did the impossible" +#~ msgstr "%s teki mahdottomat" -#: qcsrc/server/w_rocketlauncher.qc:509 -#, c-format -msgid "%s ate %s's rocket" -msgstr "%s söi pelaajan %s raketin" +#~ msgid "%s has run into %s's gravity bomb" +#~ msgstr "%s juoksi pelaajan %s pommiin" -#: qcsrc/server/w_seeker.qc:2 -msgid "T.A.G. Seeker" -msgstr "T.A.G. Seeker" +#~ msgid "%s lasered themself to hell" +#~ msgstr "%s lähetti itsensä laserilla helvettiin" -#: qcsrc/server/w_seeker.qc:659 -#, c-format -msgid "%s was tagged by %s" -msgstr "%s joutui pelaajan %s leimaamaksi ja tuhoamaksi" +#~ msgid "%s was cut in half by %s's gauntlet" +#~ msgstr "%s leikkaantui kahtia pelaajan %s taisteluhansikkaaseen" -#: qcsrc/server/w_shotgun.qc:2 -msgid "Shotgun" -msgstr "Shotgun" +#~ msgid "%s was lasered to death by %s" +#~ msgstr "%s kuoli pelaajan %s laseriin" -#: qcsrc/server/w_shotgun.qc:219 -#, c-format -msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" -msgstr "%2$s ^7murjoi pelaajaa %1$s ^2haulikon tylpällä päällä" +#~ msgid "%s exploded" +#~ msgstr "%s räjähti" -#: qcsrc/server/w_shotgun.qc:221 -#, c-format -msgid "%s was gunned by %s" -msgstr "%s ammuttiin alas pelaajan %s toimesta" +#~ msgid "%s got too close to %s's mine" +#~ msgstr "%s joutui liian lähelle pelaajan %s miinaa" -#: qcsrc/server/w_tuba.qc:2 -#, c-format -msgid "@!#%'n Tuba" -msgstr "@!#% tuuba" +#~ msgid "%s almost dodged %s's mine" +#~ msgstr "%s miltein väisti pelaajan %s miinan" -#: qcsrc/server/w_tuba.qc:252 -#, c-format -msgid "%s hurt his own ears with the @!#%%'n Tuba" -msgstr "%s tärykalvot räjähti, kun hän soitteli @!#%% tuubaa" +#~ msgid "%s stepped on %s's mine" +#~ msgstr "%s astui pelaajan %s miinaan" -#: qcsrc/server/w_tuba.qc:256 -#, c-format -msgid "%s died of %s's great playing on the @!#%%'n Tuba" -msgstr "" -"%s kuoli ihastuksesta kuullessaan pelaajan %s kaunista @!#%% tuubansoittoa" +#~ msgid "%s is now thinking with portals" +#~ msgstr "%s kokee portaalit" -#: qcsrc/server/w_uzi.qc:2 -msgid "Machine Gun" -msgstr "Machine Gun" +#~ msgid "%s has been vaporized by %s" +#~ msgstr "%s höyrystyi pelaajan %s toimesta" -#: qcsrc/server/w_uzi.qc:323 -#, c-format -msgid "%s was riddled full of holes by %s" -msgstr "%s sai muutaman uuden ilmanvaihtoreiän, kun %s tarjosi niitä" +#~ msgid "%s felt %s doing the impossible to him" +#~ msgstr "%s tunsi kuinka pelaaja %s teki hänelle mahdottoman tempun" + +#~ msgid "%s shot themself automatically" +#~ msgstr "%s ampui itsensä täysin omatoimisesti" + +#~ msgid "%s sniped themself somehow" +#~ msgstr "%s onnistui jotenkin ampumaan omaan jalkaansa" + +#~ msgid "%s failed to hide from %s's bullet hail" +#~ msgstr "%s ei kyennyt pakenemaan pelaajan %s luotisadetta" + +#~ msgid "%s died in %s's bullet hail" +#~ msgstr "%s kuoli pelaajan %s luotisateeseen" + +#~ msgid "%s failed to hide from %s's rifle" +#~ msgstr "%s ei kyennyt piiloutumaan pelaajan %s kivääriä" + +#~ msgid "%s got hit in the head by %s" +#~ msgstr "%s sai päähänsä reiän pelaajan %s toimesta" + +#~ msgid "%s was sniped by %s" +#~ msgstr "%s ammuttiin alas, kuolonlaukauksen tarjosi %s" + +#~ msgid "%s got too close to %s's rocket" +#~ msgstr "%s joutui liian lähelle pelaajan %s rakettia" + +#~ msgid "%s almost dodged %s's rocket" +#~ msgstr "%s miltein väisti pelaajan %s raketin" + +#~ msgid "%s ate %s's rocket" +#~ msgstr "%s söi pelaajan %s raketin" + +#~ msgid "%s was tagged by %s" +#~ msgstr "%s joutui pelaajan %s leimaamaksi ja tuhoamaksi" + +#~ msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" +#~ msgstr "%2$s ^7murjoi pelaajaa %1$s ^2haulikon tylpällä päällä" + +#~ msgid "%s was gunned by %s" +#~ msgstr "%s ammuttiin alas pelaajan %s toimesta" + +#~ msgid "%s hurt his own ears with the @!#%%'n Tuba" +#~ msgstr "%s tärykalvot räjähti, kun hän soitteli @!#%% tuubaa" + +#~ msgid "%s died of %s's great playing on the @!#%%'n Tuba" +#~ msgstr "" +#~ "%s kuoli ihastuksesta kuullessaan pelaajan %s kaunista @!#%% tuubansoittoa" + +#~ msgid "%s was riddled full of holes by %s" +#~ msgstr "%s sai muutaman uuden ilmanvaihtoreiän, kun %s tarjosi niitä" diff --git a/menu.dat.fr.po b/menu.dat.fr.po index 461ce8b40..dfe2169a4 100644 --- a/menu.dat.fr.po +++ b/menu.dat.fr.po @@ -1,16 +1,16 @@ # Xonotic French Translation. -# Copyright (C) 2011 +# Copyright (C) 2012 # This file is distributed under the same license as the PACKAGE package. # -# Calinou <hugohachel@gmail.com>, 2011. # Maxime Paradis <taximus.micro@gmail.com>, 2011. +# Calinou <calinou9999@gmail.com>, 2012. msgid "" msgstr "" -"Project-Id-Version: Xonotic 0.1preview\n" +"Project-Id-Version: Xonotic 0.5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-02 07:51+0200\n" -"PO-Revision-Date: 2011-08-23 18:51-0400\n" -"Last-Translator: \n" +"POT-Creation-Date: 2012-01-26 12:24+0100\n" +"PO-Revision-Date: 2012-02-23 11:20+0100\n" +"Last-Translator: Calinou <hugohachel@gmail.com>\n" "Language-Team: \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -19,34 +19,103 @@ msgstr "" "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 +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 " @@ -77,17 +146,17 @@ msgstr "%d (%s)" 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" @@ -118,10 +187,14 @@ msgstr "Crédits" #: 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" @@ -130,7 +203,7 @@ 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 " @@ -140,18 +213,36 @@ msgstr "" "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 "" +"Autoriser les statistiques de joueur à utiliser votre pseudonyme sur stats." +"xonotic.org ?" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:81 +msgid "ALWU2N^Yes" +msgstr "ALWU2N^Oui" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:82 +msgid "ALWU2N^No" +msgstr "ALWU2N^Non" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:83 +msgid "ALWU2N^Undecided" +msgstr "ALWU2N^Non décidé" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:87 msgid "Save settings" msgstr "Sauvegarder" @@ -210,7 +301,7 @@ msgid "Text alignment:" 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" @@ -354,12 +445,12 @@ msgid "Status bar" 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" @@ -376,6 +467,7 @@ msgid "Flip speed/acceleration positions" 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:" @@ -467,8 +559,8 @@ msgstr "Mini-carte:" #: 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é:" @@ -497,6 +589,7 @@ msgid "North" msgstr "Nord" #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61 msgid "Scale:" msgstr "Échelle:" @@ -573,7 +666,6 @@ msgid "Fade out after:" 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" @@ -607,34 +699,38 @@ msgid "Weapon icons:" msgstr "Icônes d'armes:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45 +msgid "Show only owned weapons" +msgstr "Ne montrer que les armes possédées" + +#: 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:" @@ -646,24 +742,24 @@ msgstr "Configuration Interface" 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:" @@ -672,11 +768,11 @@ 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:" @@ -750,127 +846,123 @@ msgstr "Paramètres Joueur" 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:" @@ -974,28 +1066,28 @@ msgstr "Objets présents" 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" @@ -1017,108 +1109,121 @@ msgid "%s Arena" 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 "Projectiles Invincibles" + +#: 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 "Pas de bonus" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102 +msgid "Powerups" +msgstr "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" @@ -1127,26 +1232,26 @@ msgid "Demo" msgstr "Vidéo" #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 -msgid "Record demos while playing" +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" @@ -1167,6 +1272,7 @@ msgid "Pause" msgstr "Pause" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 msgid "Address:" msgstr "Adresse:" @@ -1175,7 +1281,7 @@ msgid "Info..." 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 !" @@ -1183,289 +1289,469 @@ 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 "%d/%d" + +#: 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:172 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 #, c-format -msgid "%d modified settings" -msgstr "paramètres modifiés: %d" +msgid "%d modified" +msgstr "%d modifié" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 -msgid "Official settings" -msgstr "Paramètres Officiels" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 +msgid "Official" +msgstr "Officiel" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197 -msgid "N/A (can't connect)" -msgstr "N/A (ne peut pas se connecter)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208 +msgid "N/A (auth library missing, can't connect)" +msgstr "N/A (librairie d'authentification manquante, ne peut pas se connecter)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205 -msgid "not supported (can't connect)" -msgstr "non supporté (ne peut pas se connecter)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:210 +msgid "N/A (auth library missing)" +msgstr "N/A (librairie d'authentification manquante)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207 -msgid "not supported (won't encrypt)" -msgstr "non supporté (pas de cryptage)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216 +msgid "Not supported (can't connect)" +msgstr "Non supporté (ne peut pas se connecter)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211 -msgid "supported (will encrypt)" -msgstr "supporté (cryptage)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218 +msgid "Not supported (won't encrypt)" +msgstr "Non supporté (pas de chiffrement)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213 -msgid "supported (won't encrypt)" -msgstr "supporté (pas de cryptage)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222 +msgid "Supported (will encrypt)" +msgstr "Supporté (chiffrement)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217 -msgid "requested (will encrypt)" -msgstr "demandé (cryptage)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224 +msgid "Supported (won't encrypt)" +msgstr "Supporté (pas de chiffrement)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219 -msgid "requested (won't encrypt)" -msgstr "demandé (pas de cryptage)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228 +msgid "Requested (will encrypt)" +msgstr "Demandé (chiffrement)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223 -msgid "required (can't connect)" -msgstr "nécessaire (ne peut pas se connecter)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230 +msgid "Requested (won't encrypt)" +msgstr "Demandé (pas de cryptage)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225 -msgid "required (will encrypt)" -msgstr "nécessaire (cryptage)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234 +msgid "Required (can't connect)" +msgstr "Nécessaire (ne peut pas se connecter)" -#: 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:236 +msgid "Required (will encrypt)" +msgstr "Nécessaire (chiffrement)" -#: 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:256 +msgid "Hostname:" +msgstr "Nom d'Hôte:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270 +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:" +msgstr "Version :" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289 -msgid "Ping:" -msgstr "Latence:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290 +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 -msgid "Encryption:" -msgstr "Cryptage:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63 -msgid "Model:" -msgstr "Personnage:" +msgid "Free slots:" +msgstr "Places libres :" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 -msgid "Field of view:" -msgstr "Champ de vision:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313 +msgid "Encryption:" +msgstr "Chiffrement :" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92 -msgid "View bobbing:" -msgstr "Caméra marche:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318 +msgid "ID:" +msgstr "ID :" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96 -msgid "Zoom factor:" -msgstr "Facteur de Zoom:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323 +msgid "Key:" +msgstr "Clé :" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100 -msgid "Zoom speed:" -msgstr "Vitesse de Zoom:" +#: 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:103 -msgid "Weapon settings..." -msgstr "Paramètres armes..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 +msgid "No crosshair" +msgstr "Pas de viseur" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110 -msgid "Crosshair:" -msgstr "Viseur:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90 +msgid "Per weapon crosshair" +msgstr "Viseur par arme" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:111 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 -msgid "Per weapon" -msgstr "Par arme" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93 +msgid "Custom crosshair" +msgstr "Viseur perso." -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112 msgid "Crosshair size:" -msgstr "Taille viseur:" +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:" +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:" +msgstr "Couleur viseur :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125 +msgid "Per weapon" +msgstr "Par arme" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140 +#: 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" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 +msgid "Other crosshair settings" +msgstr "Autres paramètres viseur" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6 +msgid "Model settings" +msgstr "Paramètres modèle" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6 +msgid "View settings" +msgstr "Voir les paramètres" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 +#: 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 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6 +msgid "HUD settings" +msgstr "Paramètres interface" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 +#: 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_crosshair.c:6 +msgid "Crosshair settings" +msgstr "Paramètres viseur" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28 +msgid "Enable center crosshair dot" msgstr "Activer point central" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151 -msgid "Size:" -msgstr "Taille:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31 +msgid "Dot size:" +msgstr "Taille du point :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36 +msgid "Dot alpha:" +msgstr "Opacité point :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41 +msgid "Dot color:" +msgstr "Couleur du point :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43 +msgid "Use normal crosshair color" +msgstr "Utiliser couleur viseur normale" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158 -msgid "Hit test:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54 +msgid "Crosshair animations:" +msgstr "Animations viseur :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57 +msgid "Smooth effects of crosshairs" +msgstr "Adoucir les effets des viseurs" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61 +msgid "Use rings to indicate weapon status" +msgstr "Util. des anneaux pour statut des armes" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67 +msgid "Hit testing:" msgstr "Détection toucher:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 -msgid "HTST^None" -msgstr "Aucun" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69 +msgid "HTTST^Disabled" +msgstr "HTTST^Désactivé" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160 -msgid "TrueAim" -msgstr "TrueAim" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70 +msgid "HTTST^TrueAim" +msgstr "HTTST^TrueAim" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161 -msgid "Enemies" -msgstr "Ennemis" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71 +msgid "HTTST^Enemies" +msgstr "HTTST^Ennemis" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164 -msgid "Waypoints setup..." -msgstr "Paramètres Waypoints..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76 +msgid "Blur crosshair if the shot is obstructed" +msgstr "Flouter le viseur si le tir est obstrué" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81 +msgid "Animate when hitting an enemy" +msgstr "Animer quand un enemi est touché" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85 +msgid "Animate when picking up an item" +msgstr "Animer quand un objet est collecté" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40 +msgid "Damage:" +msgstr "Dégâts :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43 +msgid "Overlay:" +msgstr "Overlay :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47 +msgid "Factor:" +msgstr "Facteur :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:52 +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 "Décalage :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:80 +msgid "Show names above players" +msgstr "Montrer les noms des joueurs" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83 +msgid "Only when near crosshair" +msgstr "Seulement quand près du viseur" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86 +msgid "Display health and armor" +msgstr "Afficher 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.c:174 -msgid "Force models:" -msgstr "Forcer personnages:" +#: 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 "" +"Pour que l'éditeur d'interface foncctionne, il faut rejoindre une partie." -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 -msgid "MDL^None" -msgstr "Aucun" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30 +msgid "Do you wish to start a local game to set up the HUD?" +msgstr "Voulez-vous démarrer une partie locale pour configurer l'interface ?" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176 -msgid "MDL^Custom" -msgstr "Personnalisé" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33 +msgid "HDCNFRM^Yes" +msgstr "HDCNFRM^Oui" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177 -msgid "MDL^All" -msgstr "Tout" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36 +msgid "HDCNFRM^No" +msgstr "HDCNFRM^Non" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180 -msgid "Disable gore effects" -msgstr "Désactiver effets gore" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28 +msgid "Body fading:" +msgstr "Temps d'effacement:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31 msgid "Gibs:" -msgstr "Gibs:" +msgstr "Gibs :" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33 msgid "GIBS^None" -msgstr "Aucun" +msgstr "GIBS^Aucun" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34 msgid "GIBS^Few" -msgstr "Quelques" +msgstr "GIBS^Quelques" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35 msgid "GIBS^Many" -msgstr "Plusieurs" +msgstr "GIBS^Plusieurs" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36 msgid "GIBS^Lots" -msgstr "Beaucoup" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:191 -msgid "Damage splash:" -msgstr "Effet santé faible:" - -#: 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" +msgstr "GIBS^Beaucoup" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5 -msgid "Waypoints" -msgstr "Waypoints" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40 +msgid "Playermodel LOD:" +msgstr "Qualité modèles personnages :" -#: 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_model.c:44 +msgid "Force models:" +msgstr "Forcer personnages :" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25 -msgid "Waypoint scale:" -msgstr "Taille des Waypoints:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45 +msgid "MDL^None" +msgstr "MDL^Aucun" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29 -msgid "Waypoint alpha:" -msgstr "Opacité Waypoints:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46 +msgid "MDL^Custom" +msgstr "MDL^Personnalisé" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34 -msgid "Show names:" -msgstr "Montrer les noms:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47 +msgid "MDL^All" +msgstr "MDL^Tout" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37 -msgid "Teammates" -msgstr "Équipiers" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50 +msgid "Force player models to mine" +msgstr "Forcer personnages de joueurs vers le mien" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38 -msgid "All players" -msgstr "Tous les joueurs" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52 +msgid "Force player colors to mine" +msgstr "Forcer couleurs de joueurs vers les miennes" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 -msgid "Weapon settings" -msgstr "Paramètres d'armes" +#: 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 +msgid "Zoom:" +msgstr "Zoom :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33 +msgid "RETICLE^Fullscreen" +msgstr "RETICLE^Plein écran" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34 +msgid "RETICLE^With reticle" +msgstr "RETICLE^Avec réticule" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38 +msgid "ZOOM^Factor:" +msgstr "ZOOM^Facteur :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42 +msgid "ZOOM^Speed:" +msgstr "ZOOM^Vitesse :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52 +msgid "ZOOM^Instant" +msgstr "ZOOM^Instantané" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56 +msgid "ZOOM^Sensitivity:" +msgstr "ZOOM^Sensibilité :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59 +msgid "Velocity zoom:" +msgstr "Vitesse zoom :" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61 +msgid "VZOOM^Disabled" +msgstr "VZOOM^Désactivé" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62 +msgid "VZOOM^Forward only" +msgstr "VZOOM^Seulement en avant" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63 +msgid "VZOOM^All directions" +msgstr "VZOOM^Toutes directions" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67 +msgid "VZOOM^Speed" +msgstr "VZOOM^Vitesse" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72 +msgid "Allow passing through walls while spectating" +msgstr "Autoriser la caméra spectateur à passer à travers les murs" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75 +msgid "1st person perspective" +msgstr "Perspective 1ère personne" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79 +msgid "Smooth the view when landing from a jump" +msgstr "Effet d'aterrissage des sauts" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83 +msgid "Smooth the view while crouching" +msgstr "Adoucir les transitions debout-accroupi" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87 +msgid "View waving while idle" +msgstr "Faire tanguer la vue à l'arrêt" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91 +msgid "View bobbing while walking around" +msgstr "Faire tanguer la vue en marchant" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96 +msgid "3rd person perspective" +msgstr "Perspective 3ème personne" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100 +msgid "Back distance" +msgstr "Distance max. particules:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106 +msgid "Up distance" +msgstr "Distance max.:" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 msgid "Weapon priority list:" -msgstr "Liste de priorité armes:" +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" @@ -1477,13 +1763,21 @@ msgstr "Utiliser la liste de priorité pour changer les armes" 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 "Faire tanguer l'arme en marchant" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63 +msgid "Gun model bobbing" +msgstr "<modèle non trouvé>" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68 +msgid "VWMDL^Scale" +msgstr "WVMDL^Taille" #: qcsrc/menu/xonotic/dialog_news.c:4 msgid "News" @@ -1497,18 +1791,146 @@ msgstr "http://www.xonotic.org/team/blog/" 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 "Outils Sandbox" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:24 +msgid "Spawn" +msgstr "Spawn" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25 +msgid "Remove *" +msgstr "Supprimer *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27 +msgid "Copy *" +msgstr "Copier *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28 +msgid "Paste" +msgstr "Coller" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:30 +msgid "Bone:" +msgstr "Os :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:35 +msgid "Set * as child" +msgstr "Définir * comme enfant" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36 +msgid "Attach to *" +msgstr "Attacher à *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:38 +msgid "Detach from *" +msgstr "Détacher depuis *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:41 +msgid "Visual object properties for *:" +msgstr "Propriétes visuelles de l'objet * :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:43 +msgid "Set skin:" +msgstr "Définir texture :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45 +msgid "Set alpha:" +msgstr "Définir opacité :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48 +msgid "Set color main:" +msgstr "Définir couleur principale :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50 +msgid "Set color glow:" +msgstr "Définir couleur fluo :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:54 +msgid "Set frame:" +msgstr "Définir trame :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:58 +msgid "Physical object properties for *:" +msgstr "Propriétes physiques de l'objet * :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:60 +msgid "Set material:" +msgstr "Définir matériau :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:66 +msgid "Set solidity:" +msgstr "Définir solidité :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67 +msgid "Non-solid" +msgstr "Non-solide" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68 +msgid "Solid" +msgstr "Solide" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69 +msgid "Set physics:" +msgstr "Définir physiques :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70 +msgid "Static" +msgstr "Statique" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71 +msgid "Movable" +msgstr "Bougeable" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72 +msgid "Physical" +msgstr "Physique" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74 +msgid "Set scale:" +msgstr "Définir taille :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:76 +msgid "Set force:" +msgstr "Définir force :" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:80 +msgid "Claim *" +msgstr "Prendre *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:82 +msgid "* object info" +msgstr "Info objet de *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83 +msgid "* mesh info" +msgstr "Info Mesh de *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84 +msgid "* attachment info" +msgstr "Info attachement de *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85 +msgid "Show help" +msgstr "Montrer l'aide" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86 +msgid "* is the object you are facing" +msgstr "* est l'objet que vous pointez" + #: qcsrc/menu/xonotic/dialog_settings.c:4 msgid "Settings" msgstr "Préférences" @@ -1534,9 +1956,9 @@ msgid "Audio" 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 "Utilisateur" #: qcsrc/menu/xonotic/dialog_settings.c:23 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4 @@ -1545,494 +1967,466 @@ msgstr "Autres" #: qcsrc/menu/xonotic/dialog_settings_audio.c:27 msgid "Master:" -msgstr "Général:" +msgstr "Général :" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:33 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:35 msgid "Music:" -msgstr "Musique:" +msgstr "Musique :" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:41 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:45 msgid "VOL^Ambient:" -msgstr "Ambiance:" +msgstr "VOL^Ambiance :" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:48 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:54 msgid "Info:" -msgstr "Information:" +msgstr "Information :" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:55 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:63 msgid "Items:" -msgstr "Objets:" +msgstr "Objets :" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:62 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:72 msgid "Pain:" -msgstr "Douleur:" +msgstr "Douleur :" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:69 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:81 msgid "Player:" -msgstr "Joueur:" +msgstr "Joueur :" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:76 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:90 msgid "Shots:" -msgstr "Tirs:" +msgstr "Tirs :" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:83 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:99 msgid "Voice:" -msgstr "Voix:" +msgstr "Voix :" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:91 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:109 msgid "Weapons:" -msgstr "Armes:" +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 "Atténuation de son améliorée" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:119 +msgid "Mute sounds when not active" +msgstr "Silencer le jeu quand non-actif" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:122 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:194 msgid "Frequency:" -msgstr "Fréquence:" +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:" +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 +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 +msgid "Chat message sound" +msgstr "Sons du tchat" -#: 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:" -msgstr "Avertissement temps:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:177 +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 +msgid "WRN^Disabled" +msgstr "WRN^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" +msgstr "WRN^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 "Info de déboguage des sons" #: qcsrc/menu/xonotic/dialog_settings_effects.c:38 msgid "Quality preset:" -msgstr "Qualité effets:" +msgstr "Qualité effets :" #: qcsrc/menu/xonotic/dialog_settings_effects.c:41 msgid "PRE^OMG!" -msgstr "OMG!" +msgstr "PRE^OMG!" #: qcsrc/menu/xonotic/dialog_settings_effects.c:42 msgid "PRE^Low" -msgstr "Bas" +msgstr "PRE^Bas" #: qcsrc/menu/xonotic/dialog_settings_effects.c:43 msgid "PRE^Medium" -msgstr "Moyen" +msgstr "PRE^Moyen" #: qcsrc/menu/xonotic/dialog_settings_effects.c:44 msgid "PRE^Normal" -msgstr "Normal" +msgstr "PRE^Normal" #: qcsrc/menu/xonotic/dialog_settings_effects.c:45 msgid "PRE^High" -msgstr "Élevé" +msgstr "PRE^Élevé" #: qcsrc/menu/xonotic/dialog_settings_effects.c:46 msgid "PRE^Ultra" -msgstr "Très Élevé" +msgstr "PRE^Très Élevé" #: qcsrc/menu/xonotic/dialog_settings_effects.c:48 msgid "PRE^Ultimate" -msgstr "Ultime" +msgstr "PRE^Ultime" #: qcsrc/menu/xonotic/dialog_settings_effects.c:52 msgid "Geometry detail:" -msgstr "Détail géométrie:" +msgstr "Détail géométrie :" #: qcsrc/menu/xonotic/dialog_settings_effects.c:54 msgid "DET^Lowest" -msgstr "Très Bas" +msgstr "DET^Très Bas" #: qcsrc/menu/xonotic/dialog_settings_effects.c:55 msgid "DET^Low" -msgstr "Bas" +msgstr "DET^Bas" #: qcsrc/menu/xonotic/dialog_settings_effects.c:56 msgid "DET^Normal" -msgstr "Normal" +msgstr "DET^Normal" #: qcsrc/menu/xonotic/dialog_settings_effects.c:57 msgid "DET^Good" -msgstr "Bon" +msgstr "DET^Bon" #: qcsrc/menu/xonotic/dialog_settings_effects.c:58 msgid "DET^Best" -msgstr "Élevé" +msgstr "DET^Élevé" #: qcsrc/menu/xonotic/dialog_settings_effects.c:59 msgid "DET^Insane" -msgstr "Extrême" +msgstr "DET^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:" +msgstr "Qualité textures :" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:73 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 msgid "RES^Leet" -msgstr "Leet" +msgstr "RES^Leet" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:74 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 msgid "RES^Lowest" -msgstr "Très Bas" +msgstr "RES^Très Bas" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:67 +msgid "RES^Very low" +msgstr "RES^Bas" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:75 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:68 msgid "RES^Low" -msgstr "Bas" +msgstr "RES^Bas" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:76 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:69 msgid "RES^Normal" -msgstr "Normal" +msgstr "RES^Normal" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:77 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 msgid "RES^Good" -msgstr "Bon" +msgstr "RES^Bon" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:78 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:71 msgid "RES^Best" -msgstr "Élevé" +msgstr "RES^É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:93 +msgid "Use lightmaps" +msgstr "Utiliser les lightmaps" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:102 -msgid "ANISO^Disabled" -msgstr "Désactivé" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:94 +msgid "Deluxe mapping" +msgstr "Textures Deluxe" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:105 -msgid "8x" -msgstr "8x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:96 +msgid "Gloss" +msgstr "Brillance textures" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 +msgid "Particles quality:" +msgstr "Qualité particules :" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:103 +msgid "Particles distance:" +msgstr "Distance max. particules :" #: qcsrc/menu/xonotic/dialog_settings_effects.c:106 -msgid "16x" -msgstr "16x" +msgid "Damage effects:" +msgstr "Effets de dégâts :" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 -msgid "Particle quality:" -msgstr "Qualité particules:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:108 +msgid "DMGPRTCLS^Disabled" +msgstr "DMGPRTCLS^Désactivé" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:113 -msgid "Particle distance:" -msgstr "Distance max. particules:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:109 +msgid "DMGPRTCLS^Skeletal" +msgstr "DMGPRTCLS^Squelétal" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:117 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 +msgid "DMGPRTCLS^All" +msgstr "DMGPRTCLS^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.:" +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é" +msgstr "Temps :" -#: 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" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:136 +msgid "Fake corona lighting" msgstr "Lumières dynamiques rapides" -#: 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" +msgstr "Ombres douces" -#: 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:178 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +msgid "Relief mapping" +msgstr "Textures relief avancé" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 +msgid "LOD" +msgstr "LOD" + +#: 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 "REFL^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 "Effets de post-processing" #: qcsrc/menu/xonotic/dialog_settings_input.c:26 msgid "Key bindings:" -msgstr "Contrôles:" +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 +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 "Automatiquement continuer de sauter" #: 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 "Souris :" -#: 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 "Visée adoucie" -#: 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:71 +msgid "Invert aiming" +msgstr "Inverser souris" + +#: 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 "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 +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 "Touche d'exécution:" +msgstr "Touche d'exécution :" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:42 msgid "Command when pressed:" -msgstr "Commande quand appuyée:" +msgstr "Commande quand appuyée :" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:45 msgid "Command when released:" -msgstr "Commande quand relâchée:" +msgstr "Commande quand relâchée :" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:48 msgid "Save" @@ -2043,242 +2437,477 @@ msgid "Cancel" msgstr "Annuler" #: qcsrc/menu/xonotic/dialog_settings_misc.c:26 -msgid "Menu skins:" -msgstr "Apparences menu:" - -#: qcsrc/menu/xonotic/dialog_settings_misc.c:47 -msgid "Show current time" -msgstr "Montrer l'heure" - -#: qcsrc/menu/xonotic/dialog_settings_misc.c:49 -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_cvars.c:5 -msgid "Advanced settings" -msgstr "Paramètres avancés" - -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23 -msgid "Cvar filter:" -msgstr "Recherche de commandes:" - -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34 -msgid "Setting:" -msgstr "Paramètre:" - -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42 -msgid "Value:" -msgstr "Valeur:" - -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56 -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:" +msgid "Network:" +msgstr "Réseau :" -#: qcsrc/menu/xonotic/dialog_settings_network.c:35 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:31 msgid "56k" msgstr "56k" -#: qcsrc/menu/xonotic/dialog_settings_network.c:36 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:32 msgid "ISDN" msgstr "ISDN" -#: qcsrc/menu/xonotic/dialog_settings_network.c:37 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:33 msgid "Slow ADSL" msgstr "ADSL lent" -#: qcsrc/menu/xonotic/dialog_settings_network.c:38 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:34 msgid "Fast ADSL" msgstr "ADSL rapide" -#: qcsrc/menu/xonotic/dialog_settings_network.c:39 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 msgid "Broadband" msgstr "Câble/Fibre optique" -#: qcsrc/menu/xonotic/dialog_settings_network.c:42 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:39 msgid "Input packets/s:" -msgstr "Paquets entrants/seconde:" +msgstr "Paquets entrants/seconde :" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:45 +msgid "Local latency:" +msgstr "Latence locale :" + +#: 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_network.c:46 -msgid "HTTP downloads:" -msgstr "Téléchargements:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +msgid "Movement error compensation" +msgstr "Compensation des erreurs de mouvement" -#: qcsrc/menu/xonotic/dialog_settings_network.c:49 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:66 msgid "Downloads:" -msgstr "Téléchargements simultanés:" +msgstr "Téléchargements simult. :" -#: qcsrc/menu/xonotic/dialog_settings_network.c:53 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:69 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:81 +msgid "Maximum:" +msgstr "Maximum :" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:73 msgid "Speed (kB/s):" -msgstr "Vitesse (Ko/seconde):" +msgstr "Vitesse (Ko/s) :" -#: qcsrc/menu/xonotic/dialog_settings_network.c:57 -msgid "Client UDP port:" -msgstr "Port UDP client:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:78 +msgid "Framerate:" +msgstr "Framerate :" -#: qcsrc/menu/xonotic/dialog_settings_video.c:26 -msgid "Resolution:" -msgstr "Résolution:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:83 +msgid "MAXFPS^5 fps" +msgstr "MAXFPS^5 fps" -#: qcsrc/menu/xonotic/dialog_settings_video.c:29 -msgid "Font/UI size:" -msgstr "Taille typo:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:84 +msgid "MAXFPS^10 fps" +msgstr "MAXFPS^10 fps" -#: qcsrc/menu/xonotic/dialog_settings_video.c:31 -msgid "SZ^Unreadable" -msgstr "Illisible" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:85 +msgid "MAXFPS^20 fps" +msgstr "MAXFPS^20 fps" -#: qcsrc/menu/xonotic/dialog_settings_video.c:32 -msgid "SZ^Tiny" -msgstr "Minuscule" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:86 +msgid "MAXFPS^30 fps" +msgstr "MAXFPS^30 fps" -#: qcsrc/menu/xonotic/dialog_settings_video.c:33 -msgid "SZ^Little" -msgstr "Très Petit" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:87 +msgid "MAXFPS^40 fps" +msgstr "MAXFPS^40 fps" -#: qcsrc/menu/xonotic/dialog_settings_video.c:34 -msgid "SZ^Small" -msgstr "Petit" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:88 +msgid "MAXFPS^50 fps" +msgstr "MAXFPS^50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:89 +msgid "MAXFPS^60 fps" +msgstr "MAXFPS^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:90 +msgid "MAXFPS^70 fps" +msgstr "MAXFPS^70 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:91 +msgid "MAXFPS^100 fps" +msgstr "MAXFPS^100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:92 +msgid "MAXFPS^125 fps" +msgstr "MAXFPS^125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:93 +msgid "MAXFPS^200 fps" +msgstr "MAXFPS^200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:94 +msgid "MAXFPS^Unlimited" +msgstr "MAXFPS^Non-limité" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:98 +msgid "Target:" +msgstr "Cible :" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:100 +msgid "TRGT^Disabled" +msgstr "TRGT^Désactivé" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:101 +msgid "TRGT^30 fps" +msgstr "TRGT^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:102 +msgid "TRGT^40 fps" +msgstr "TRGT^40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:103 +msgid "TRGT^50 fps" +msgstr "TRGT^50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:104 +msgid "TRGT^60 fps" +msgstr "TRGT^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:105 +msgid "TRGT^100 fps" +msgstr "TRGT^100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:106 +msgid "TRGT^125 fps" +msgstr "TRGT^125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:107 +msgid "TRGT^200 fps" +msgstr "TRGT^200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:111 +msgid "Idle limit:" +msgstr "Framerate en Idle :" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:113 +msgid "IDLFPS^10 fps" +msgstr "IDLFPS^10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:114 +msgid "IDLFPS^20 fps" +msgstr "IDLFPS^20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:115 +msgid "IDLFPS^30 fps" +msgstr "IDLFPS^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:116 +msgid "IDLFPS^60 fps" +msgstr "IDLFPS^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:117 +msgid "IDLFPS^Unlimited" +msgstr "IDLFPS^Non-limité" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:122 +msgid "Show frames per second" +msgstr "Montrer le Framerate" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:125 +msgid "Save processing time for other apps" +msgstr "Économiser les ressources pour les autres appli." + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:129 +msgid "Menu tooltips:" +msgstr "Boîtes d'aîde :" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:131 +msgid "TLTIP^Disabled" +msgstr "TLTIP^Désactivé" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:132 +msgid "TLTIP^Standard" +msgstr "TLTIP^Standard" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:133 +msgid "TLTIP^Advanced" +msgstr "TLIP^Avancé" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:137 +msgid "Show current time" +msgstr "Montrer l'heure" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:139 +msgid "Show current date" +msgstr "Montrer la date" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:141 +msgid "Enable developer mode" +msgstr "Activer le mode dévloppeur" + +#: 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:31 +msgid "Cvar filter:" +msgstr "Recherche de commandes :" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44 +msgid "Setting:" +msgstr "Paramètre :" + +#: 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:68 +msgid "Description:" +msgstr "Description :" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:27 +msgid "Menu skins:" +msgstr "Apparences menu :" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:31 +msgid "Set skin" +msgstr "Définir apparence" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:74 +msgid "Set language" +msgstr "Définir langue" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:79 +msgid "Disable gore effects and harsh language" +msgstr "Désactiver les effets violents" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:82 +msgid "Allow player statistics to track your client" +msgstr "Autoriser les statistiques à pister votre client" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:84 +msgid "Allow player statistics to use your nickname" +msgstr "Autoriser les statistiques à utiliser votre pseudo." + +#: qcsrc/menu/xonotic/dialog_settings_video.c:26 +msgid "Resolution:" +msgstr "Résolution :" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:29 +msgid "Font/UI size:" +msgstr "Taille police :" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:31 +msgid "SZ^Unreadable" +msgstr "SZ^Illisible" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:32 +msgid "SZ^Tiny" +msgstr "SZ^Minuscule" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:33 +msgid "SZ^Little" +msgstr "SZ^Très Petit" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:34 +msgid "SZ^Small" +msgstr "SZ^Petit" #: qcsrc/menu/xonotic/dialog_settings_video.c:35 msgid "SZ^Medium" -msgstr "Moyen" +msgstr "SZ^Moyen" #: qcsrc/menu/xonotic/dialog_settings_video.c:36 msgid "SZ^Large" -msgstr "Grand" +msgstr "SZ^Grand" #: qcsrc/menu/xonotic/dialog_settings_video.c:37 msgid "SZ^Huge" -msgstr "Très Grand" +msgstr "SZ^Très Grand" #: qcsrc/menu/xonotic/dialog_settings_video.c:38 msgid "SZ^Gigantic" -msgstr "Géant" +msgstr "SZ^Géant" #: qcsrc/menu/xonotic/dialog_settings_video.c:39 msgid "SZ^Colossal" -msgstr "Gigantesque" +msgstr "SZ^Gigantesque" #: qcsrc/menu/xonotic/dialog_settings_video.c:42 msgid "Color depth:" -msgstr "Profondeur de couleurs:" +msgstr "Profondeur de couleurs :" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:44 +msgid "16bit" +msgstr "16bit" #: qcsrc/menu/xonotic/dialog_settings_video.c:45 +msgid "32bit" +msgstr "32bit" + +#: 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" +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 "ANISO^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 "AA^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 "Anticrénelage haute qualité" -#: qcsrc/menu/xonotic/dialog_settings_video.c:67 +#: qcsrc/menu/xonotic/dialog_settings_video.c:76 msgid "Depth first:" -msgstr "Profondeur d'abord:" +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é" +msgstr "DF^Désactivé" -#: qcsrc/menu/xonotic/dialog_settings_video.c:70 +#: qcsrc/menu/xonotic/dialog_settings_video.c:79 msgid "DF^World" -msgstr "Monde" +msgstr "DF^Carte" -#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +#: qcsrc/menu/xonotic/dialog_settings_video.c:80 msgid "DF^All" -msgstr "Tout" +msgstr "DF^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 "VBO^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é:" +msgstr "Luminosité :" -#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +#: qcsrc/menu/xonotic/dialog_settings_video.c:97 msgid "Contrast:" -msgstr "Contraste:" +msgstr "Contraste :" -#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +#: qcsrc/menu/xonotic/dialog_settings_video.c:100 msgid "Gamma:" -msgstr "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:" +msgstr "Bonus contraste :" -#: qcsrc/menu/xonotic/dialog_settings_video.c:96 +#: qcsrc/menu/xonotic/dialog_settings_video.c:110 msgid "Saturation:" -msgstr "Saturation:" +msgstr "Saturation :" -#: qcsrc/menu/xonotic/dialog_settings_video.c:102 +#: qcsrc/menu/xonotic/dialog_settings_video.c:116 msgid "LIT^Ambient:" -msgstr "Ambiance:" +msgstr "Ambiance :" -#: qcsrc/menu/xonotic/dialog_settings_video.c:105 +#: qcsrc/menu/xonotic/dialog_settings_video.c:119 msgid "Intensity:" -msgstr "Intensité:" +msgstr "Intensité :" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:123 +msgid "Use OpenGL 2.0 shaders (GLSL)" +msgstr "Utiliser shaders 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 "Couleurs multicolores (œuf de pâques)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:135 +msgid "Trippy vertices (easter egg)" +msgstr "Carte déformée (œuf de pâques)" + +#: 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)" +msgstr "Instant action! (map aléatoire avec robots)" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:137 +msgid "Campaign Difficulty:" +msgstr "Difficulté Campagne :" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:138 +msgid "CSKL^Easy" +msgstr "CSKL^Facile" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:148 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:139 +msgid "CSKL^Medium" +msgstr "CSKL^Moyen" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:140 +msgid "CSKL^Hard" +msgstr "CSKL^Difficile" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:142 msgid "Start Singleplayer!" msgstr "Démarrer !" @@ -2314,22 +2943,22 @@ msgstr "rose" 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" @@ -2337,9 +2966,13 @@ msgstr "" "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 +msgid "spectator" +msgstr "spectateur" + +#: qcsrc/menu/xonotic/playermodel.c:177 msgid "<no model found>" -msgstr "<modèle non trouvé>" +msgstr "<pas de modèle trouvé>" #: qcsrc/menu/xonotic/serverlist.c:185 msgid "Remove" @@ -2349,23 +2982,23 @@ msgstr "Supprimer" 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" @@ -2379,11 +3012,11 @@ msgstr "<AUTEUR>" #: qcsrc/menu/xonotic/slider_decibels.c:50 msgid "VOL^OFF" -msgstr "OFF" +msgstr "VOL^OFF" #: qcsrc/menu/xonotic/slider_decibels.c:52 msgid "VOL^MAX" -msgstr "MAX" +msgstr "VOL^MAX" #: qcsrc/menu/xonotic/slider_decibels.c:53 #, c-format @@ -2395,52 +3028,52 @@ msgstr "%s dB" 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." +"erreur: a reçu un message erroné depuis le serveur de notification 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" "%s\n" msgstr "" -"La mise à jour peut être téléchargée ici:\n" +"La mise à jour peut être téléchargée depuis :\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" +msgstr "^1VERSION 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" @@ -2448,446 +3081,360 @@ msgstr "" "^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 Sniper" -#: 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 "Lance-Grenades" -#: 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 "%d/%d, %d free player slots" +#~ msgstr "%d/%d, %d Emplacements libres" -#: 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 "Gameplay:" +#~ msgstr "Mode:" -#: 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 "Ping:" +#~ msgstr "Latence:" -#: 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 "CA:" +#~ msgstr "CA:" -#: 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 "View bobbing:" +#~ msgstr "Caméra marche:" -#: qcsrc/server/w_electro.qc:2 -msgid "Electro" -msgstr "Electro" +#~ msgid "Zoom speed:" +#~ msgstr "Vitesse de Zoom:" -#: 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 "Weapon settings..." +#~ msgstr "Paramètres armes..." -#: qcsrc/server/w_electro.qc:576 -#, c-format -msgid "%s played with plasma" -msgstr "%s a joué avec du plasma" +#~ msgid "Size:" +#~ msgstr "Taille:" -#: 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 "HTST^None" +#~ msgstr "Aucun" -#: 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 "Waypoints setup..." +#~ msgstr "Paramètres Waypoints..." -#: 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 "Waypoint scale:" +#~ msgstr "Taille des Waypoints:" -#: 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 "Show names:" +#~ msgstr "Montrer les noms:" -#: 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 "Teammates" +#~ msgstr "Équipiers" -#: qcsrc/server/w_fireball.qc:2 -msgid "Fireball" -msgstr "Boule de Feu" +#~ msgid "All players" +#~ msgstr "Tous les joueurs" -#: 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 "Spatial voices:" +#~ msgstr "Voix personnages:" -#: 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 "VOCS^None" +#~ msgstr "Aucun" -#: 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 "VOCS^Taunts" +#~ msgstr "Voix" -#: 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 "VOCS^All" +#~ msgstr "Tout" -#: 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 "Taunt range:" +#~ msgstr "Distance voix:" -#: 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 "RNG^Very short" +#~ msgstr "Très court" -#: 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 "RNG^Short" +#~ msgstr "Court" -#: 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 "RNG^Normal" +#~ msgstr "Normal" -#: qcsrc/server/w_grenadelauncher.qc:2 -msgid "Mortar" -msgstr "Mortier" +#~ msgid "RNG^Long" +#~ msgstr "Long" -#: qcsrc/server/w_grenadelauncher.qc:383 -#, c-format -msgid "%s tried out his own grenade" -msgstr "%s a mangé sa propre grenade" +#~ msgid "RNG^Full" +#~ msgstr "Tout" -#: qcsrc/server/w_grenadelauncher.qc:385 -#, c-format -msgid "%s detonated" -msgstr "%s a fait boum" +#~ msgid "WRN^None" +#~ msgstr "Aucun" -#: 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 "Flash blend approximation" +#~ msgstr "Lumières dynamiques rapides" -#: 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 "High Dynamic Range (HDR)" +#~ msgstr "High Dynamic Range (HDR)" -#: qcsrc/server/w_grenadelauncher.qc:395 -#, c-format -msgid "%s ate %s's grenade" -msgstr "%s a mangé la grenade de %s" +#~ msgid "Blur and sharpen postprocessing" +#~ msgstr "Flou et netteté post-processeur" -#: qcsrc/server/w_hagar.qc:2 -msgid "Hagar" -msgstr "Hagar" +#~ msgid "UI mouse speed:" +#~ msgstr "Vitesse souris menus:" -#: 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 "Mouse filter" +#~ msgstr "Filtre Souris" -#: 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 "Minimize input latency" +#~ msgstr "Minimiser la latence des contrôles" -#: 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 "Network speed:" +#~ msgstr "Vitesse réseau:" -#: qcsrc/server/w_hlac.qc:2 -msgid "Heavy Laser Assault Cannon" -msgstr "Canon Laser Lourd d'Assaut " +#~ msgid "HTTP downloads:" +#~ msgstr "Téléchargements:" -#: qcsrc/server/w_hlac.qc:242 -#, c-format -msgid "%s was cut down by %s" -msgstr "%s s'est fait couper par %s" +#~ msgid "Disable multithreaded OpenGL" +#~ msgstr "Désactiver OpenGL multi-coeurs" -#: qcsrc/server/w_hook.qc:2 -msgid "Grappling Hook" -msgstr "Grappin" +#~ msgid "%s succeeded at self-destructing themself with the Crylink" +#~ msgstr "%s a réussi à se suicider avec le Crylink" -#: 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 could not hide from %s's Crylink" +#~ msgstr "%s n'a pas pu se cacher du Crylink 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 was too close to %s's Crylink" +#~ msgstr "%s a été trop près du Crylink de %s" -#: qcsrc/server/w_laser.qc:2 -msgid "Laser" -msgstr "Laser" +#~ 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_laser.qc:311 -#, c-format -msgid "%s lasered themself to hell" -msgstr "%s s'est suicidé au laser" +#~ msgid "%s could not remember where they put plasma" +#~ msgstr "%s ne se souvenait pas où il a tiré du plasma" -#: 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 played with plasma" +#~ msgstr "%s a joué avec du plasma" -#: 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 just noticed %s's blue ball" +#~ msgstr "%s vient de remarquer la boule plasma de %s" -#: qcsrc/server/w_minelayer.qc:2 -msgid "Mine Layer" -msgstr "Lance-Mines" +#~ 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_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501 -#, c-format -msgid "%s exploded" -msgstr "%s a explosé" +#~ msgid "%s felt the electrifying air of %s's combo" +#~ msgstr "%s se sent électrisé par le combo 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 got too close to %s's blue beam" +#~ msgstr "%s a été trop près du rayon plasma 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 was blasted by %s's blue beam" +#~ msgstr "%s a été désintégré à cause du rayon plasma 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" +#~ msgid "%s forgot about some firemine" +#~ msgstr "%s n'a pas étudié la combustion des boules de feu" -#: qcsrc/server/w_minstanex.qc:2 -msgid "MinstaNex" -msgstr "MinstaNex" +#~ msgid "%s should have used a smaller gun" +#~ msgstr "%s aurait dû utiliser une arme plus petite" -#: 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 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_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 fatefully ignored %s's firemine" +#~ msgstr "%s a ignoré la boule de feu de %s" -#: qcsrc/server/w_nex.qc:2 -msgid "Nex" -msgstr "Nex" +#~ 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_porto.qc:2 -msgid "Port-O-Launch" -msgstr "Lance-O-Port" +#~ 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_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 got too close to %s's fireball" +#~ msgstr "%s s'est trop approché de la boule de feu de %s" -#: qcsrc/server/w_rifle.qc:2 -msgid "Rifle" -msgstr "Fusil" +#~ msgid "%s tasted %s's fireball" +#~ msgstr "%s a goûté la boule de feu de %s" -#: qcsrc/server/w_rifle.qc:233 -#, c-format -msgid "%s shot themself automatically" -msgstr "%s s'est suicidé au sniper" +#~ msgid "%s tried out his own grenade" +#~ msgstr "%s a mangé sa propre grenade" -#: 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 detonated" +#~ msgstr "%s a fait boum" -#: 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 didn't see %s's grenade" +#~ msgstr "%s n'a pas vu la grenade 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 almost dodged %s's grenade" +#~ msgstr "%s a presque réussi à esquiver la grenade 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 ate %s's grenade" +#~ msgstr "%s a mangé la grenade de %s" -#: 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 "%s played with tiny rockets" +#~ msgstr "%s a joué avec des petits missiles" -#: 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 "%s hoped %s's missiles wouldn't bounce" +#~ msgstr "%s a pensé que les petits missiles de %s ne rebondissaient pas" -#: qcsrc/server/w_rocketlauncher.qc:2 -msgid "Rocket Launcher" -msgstr "Lance-Roquettes" +#~ msgid "%s was pummeled by %s" +#~ msgstr "%s a trop mangé de mini-missiles de la part de %s" -#: 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 "%s was cut down by %s" +#~ msgstr "%s s'est fait couper par %s" -#: 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 "%s did the impossible" +#~ msgstr "%s a fait l'impossible" -#: qcsrc/server/w_rocketlauncher.qc:509 -#, c-format -msgid "%s ate %s's rocket" -msgstr "%s a mangé la roquette de %s" +#~ msgid "%s has run into %s's gravity bomb" +#~ msgstr "%s a été emprisonné par la bombe à gravité de %s" -#: qcsrc/server/w_seeker.qc:2 -msgid "T.A.G. Seeker" -msgstr "T.A.G. Chercheur" +#~ msgid "%s lasered themself to hell" +#~ msgstr "%s s'est suicidé au laser" -#: qcsrc/server/w_seeker.qc:659 -#, c-format -msgid "%s was tagged by %s" -msgstr "%s s'est fait tagguer par %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_shotgun.qc:2 -msgid "Shotgun" -msgstr "Fusil" +#~ msgid "%s was lasered to death by %s" +#~ msgstr "%s a été désintégré par le laser de %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 ^2fusil" +#~ msgid "%s exploded" +#~ msgstr "%s a explosé" -#: qcsrc/server/w_shotgun.qc:221 -#, c-format -msgid "%s was gunned by %s" -msgstr "%s s'est fait fusiller par %s" +#~ msgid "%s got too close to %s's mine" +#~ msgstr "%s s'est trop approché de la mine de %s" -#: qcsrc/server/w_tuba.qc:2 -#, c-format -msgid "@!#%'n Tuba" -msgstr "@!#% Tuba" +#~ msgid "%s almost dodged %s's mine" +#~ msgstr "%s a presque esquivé la mine de %s" -#: 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 "%s stepped on %s's mine" +#~ msgstr "%s a marché sur la mine de %s" -#: 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 "%s is now thinking with portals" +#~ msgstr "%s pense maintenant avec les portails" -#: qcsrc/server/w_uzi.qc:2 -msgid "Machine Gun" -msgstr "Mitraillette" +#~ msgid "%s has been vaporized by %s" +#~ msgstr "%s s'est fait vaporiser par %s" -#: 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 "%s felt %s doing the impossible to him" +#~ msgstr "%s a eu tort de prendre le portail de %s" + +#~ msgid "%s shot themself automatically" +#~ msgstr "%s s'est suicidé au sniper" + +#~ msgid "%s sniped themself somehow" +#~ msgstr "%s a oublié le cran de sûreté en chargeant" + +#~ 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 died in %s's bullet hail" +#~ msgstr "%s est mort de la nuée de balles de %s" + +#~ msgid "%s failed to hide from %s's rifle" +#~ msgstr "%s n'a pas réussi à se cacher du sniper de %s" + +#~ msgid "%s got hit in the head by %s" +#~ msgstr "%s s'est fait décapiter au sniper par %s" + +#~ msgid "%s was sniped by %s" +#~ msgstr "%s s'est fait descendre au sniper par %s" + +#~ msgid "%s got too close to %s's rocket" +#~ msgstr "%s s'est trop approché de la roquette de %s" + +#~ msgid "%s almost dodged %s's rocket" +#~ msgstr "%s a presque esquivé la roquette de %s" + +#~ msgid "%s ate %s's rocket" +#~ msgstr "%s a mangé la roquette de %s" + +#~ msgid "%s was tagged by %s" +#~ msgstr "%s s'est fait tagguer par %s" + +#~ msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" +#~ msgstr "%2$s ^7a baffé %1$s ^7avec un ^2fusil" + +#~ msgid "%s was gunned by %s" +#~ msgstr "%s s'est fait fusiller par %s" + +#~ msgid "%s hurt his own ears with the @!#%%'n Tuba" +#~ msgstr "%s s'est fait casser les tympans par son propre tuba" + +#~ 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 "%s was riddled full of holes by %s" +#~ msgstr "%s s'est fait trouer par %s" #~ msgid "Damage & water blur" #~ msgstr "Flou de d�g�ts:" diff --git a/menu.dat.hu.po b/menu.dat.hu.po index 7d04e238a..a7dfda904 100644 --- a/menu.dat.hu.po +++ b/menu.dat.hu.po @@ -1,52 +1,122 @@ -# 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: xaN1C4n3 <robalm@freemail.hu>, 2011.01.19 +# version 2.1 +# +# FIRST AUTHOR: xaN1C4n3 <robalm@freemail.hu>, 2011.01.19. # corrected by xaN1C4n3, 2011.12.20. # further corrected by C.Brutail, 2011.12.28. -# version 2.1 -# -#, fuzzy +# Ákos RUSZKAI, 2012. msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-02 07:51+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"POT-Creation-Date: 2012-01-26 12:24+0100\n" +"PO-Revision-Date: 2012-03-10 15:47+0100\n" +"Last-Translator: Ákos RUSZKAI\n" +"Language-Team: Hungarian <kde-l10n-hu@kde.org>\n" "Language:\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "@!#%'n Tuba Dobás" -#: qcsrc/common/mapinfo.qc:1092 qcsrc/menu/xonotic/skinlist.c:163 +#: 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 "Haláljátszma" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "Csak egy maradhat" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Aréna" + +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "Rúnameccs" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Verseny" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "Ügyességi verseny" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "Csapat[os] öldöklés " + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Zászlórablás" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Klán Aréna" + +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Uralom" + +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Kulcsvadászat" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "Ostrom" + +#: qcsrc/common/mapinfo.qh:72 +msgid "Onslaught" +msgstr "Támadás" + +#: qcsrc/common/mapinfo.qh:75 +msgid "Nexball" +msgstr "Nexball" + +#: qcsrc/common/mapinfo.qh:78 +msgid "Freeze Tag" +msgstr "Fagyasztás" + +#: qcsrc/common/mapinfo.qh:81 +msgid "Keepaway" +msgstr "Önzőség" + +#: qcsrc/menu/command/menu_cmd.qc:41 #, c-format msgid "error: status is %d\n" msgstr "Hiba: állapot %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 "Használat: menu_cmd parancs..., ahol a lehetséges parancs:\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 - újratölti az összes cvar-t az aktuális menü oldalon\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 TÁRGY - kiválaszt egy menü pontot, fő tárgynak\n" +msgstr " directmenu TÁRGY - kiválaszt egy menü pontot, fő pontként\n" -#: qcsrc/menu/gamecommand.qc:193 +#: qcsrc/menu/command/menu_cmd.qc:179 msgid "error creating curl handle\n" msgstr "Curl kezelő hibát okozott\n" -#: 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 "" " Érvénytelen parancs. A támogatott parancsok listájáért, próbáld a menu_cmd " @@ -75,17 +145,17 @@ msgstr "%d (%s)" msgid "custom" msgstr "egyéni" -#: qcsrc/menu/menu.qc:29 -#, fuzzy, c-format +#: qcsrc/menu/menu.qc:37 +#, c-format msgid "^4MQC Build information: ^1%s\n" msgstr "^4MQC Build információ: %s\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 "Szint %d: %s" @@ -116,39 +186,62 @@ msgstr "Közreműködők" #: 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 "Rendben" #: qcsrc/menu/xonotic/dialog_firstrun.c:4 msgid "Welcome" -msgstr "Üdvözlet" +msgstr "Üdvözlünk a Xonoticban!" -#: 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 " "menu system." -msgstr "Üdvözlünk a Xonotic-ban! Kérjük, a kezdéshez válaszd ki a használni kívánt nyelvet " -"és írd be a játékos nevedet! Később ezeket meg is tudod változtatni " -"a menürendszerben." - -#: qcsrc/menu/xonotic/dialog_firstrun.c:38 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 -msgid "Text language:" -msgstr "Szöveg nyelv:" +msgstr "" +"Üdvözlünk a Xonotic-ban! Kérjük, a kezdéshez válaszd ki a használni kívánt " +"nyelvet és írd be a játékos nevedet! Ezeket később meg tudod változtatni a " +"menürendszerben." -#: 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 "Név:" -#: 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 "Fordítás:" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:77 +msgid "Allow player statistics to use your nickname at stats.xonotic.org?" +msgstr "" +"Engedélyezed, hogy a statisztikáid mellett a játékosneved is megjelenjen a " +"stats.xonotic.org-on?" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:81 +msgid "ALWU2N^Yes" +msgstr "Igen" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:82 +msgid "ALWU2N^No" +msgstr "Nem" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:83 +msgid "ALWU2N^Undecided" +msgstr "Később eldöntöm" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:87 msgid "Save settings" msgstr "Beállítások mentése" @@ -175,7 +268,7 @@ msgstr "Ikon sorrend:" #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:28 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:40 msgid "Left" -msgstr "Bal" +msgstr "Balra" #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:30 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:38 @@ -184,61 +277,56 @@ msgstr "Bal" #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:30 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:41 msgid "Right" -msgstr "Jobb" +msgstr "Jobbra" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4 msgid "Centerprint" -msgstr "Közép" +msgstr "Fontos üzenetek panel" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:23 -#, fuzzy msgid "Message duration:" -msgstr "Színtelítettség:" +msgstr "Üzenetek élettartama:" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:27 -#, fuzzy msgid "Fade time:" msgstr "Bejegyzés elhalványulási ideje:" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:31 -#, fuzzy msgid "Flip messages order" msgstr "Értesítési sorrend megfordítása" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:33 -#, fuzzy msgid "Text alignment:" -msgstr "Szöveg igazítás:" +msgstr "Szöveg igazítása:" #: 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 "Közép" +msgstr "Középre" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:41 -#, fuzzy msgid "Font scale:" msgstr "Betűméret:" #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4 msgid "Chat Panel" -msgstr "Csevely Panel" +msgstr "Csevej Panel" #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:22 msgid "Chat entries:" -msgstr "Csevely bejegyzések:" +msgstr "Csevej bejegyzések:" #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:25 msgid "Chat size:" -msgstr "Csevely méret:" +msgstr "Csevej mérete:" #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:29 msgid "Chat lifetime:" -msgstr "Csevely élettartam:" +msgstr "Csevej élettartam:" #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:33 msgid "Chat beep sound" -msgstr "Csevely sípszó" +msgstr "Csevej pittyenés" #: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:4 msgid "Engine Info Panel" @@ -246,7 +334,7 @@ msgstr "Grafikus motor információs panel" #: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:22 msgid "Engine info:" -msgstr "Grafikus motor Információ:" +msgstr "Grafikus motor információ:" #: qcsrc/menu/xonotic/dialog_hudpanel_engineinfo.c:25 msgid "Use an averaging algorithm for fps" @@ -264,7 +352,7 @@ msgstr "Állapotsor engedélyezése" #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:24 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:24 msgid "Status bar alignment:" -msgstr "Állapotsor igazítás:" +msgstr "Állapotsor igazítása:" #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:32 #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:42 @@ -283,7 +371,7 @@ msgstr "Kifelé" #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:37 #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:37 msgid "Icon alignment:" -msgstr "Ikon igazítás:" +msgstr "Ikonok igazítása:" #: qcsrc/menu/xonotic/dialog_hudpanel_healtharmor.c:45 msgid "Flip health and armor positions" @@ -303,7 +391,7 @@ msgstr "Fordított igazítás" #: qcsrc/menu/xonotic/dialog_hudpanel_modicons.c:4 msgid "Mod Icons Panel" -msgstr "Mod ikonok panelje" +msgstr "Játékmód ikonok Panel" #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:4 msgid "Notification Panel" @@ -315,7 +403,7 @@ msgstr "Értesítések:" #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:25 msgid "Also print notifications to the console" -msgstr "Az értesítéseket a konzolra is kiírja" +msgstr "Az értesítéseket a konzol is kiírja" #: qcsrc/menu/xonotic/dialog_hudpanel_notification.c:28 msgid "Flip notify order" @@ -330,7 +418,6 @@ msgid "Entry fadetime:" msgstr "Bejegyzés elhalványulási ideje:" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4 -#, fuzzy msgid "Physics Panel" msgstr "Fizika Panel" @@ -341,52 +428,45 @@ msgid "Panel disabled" msgstr "Panel kikapcsolva" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23 -#, fuzzy msgid "Panel enabled" msgstr "Panel engedélyezése" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24 -#, fuzzy msgid "Panel enabled even observing" msgstr "Panel engedélyezett, még nézőként is" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25 -#, fuzzy msgid "Panel enabled only in Race/CTS" -msgstr "Panel csak Verseny/CTS-ben engedélyezett" +msgstr "Panel csak Verseny/Ügyességi v.-ben engedélyezett" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:31 -#, fuzzy msgid "Status bar" msgstr "Állapotsor" #: 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 "Balra igazít" +msgstr "Balra igazítva" #: 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 "Jobbra igazít" +msgstr "Jobbra igazítva" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35 -#, fuzzy msgid "Inward align" msgstr "Befelé" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36 -#, fuzzy msgid "Outward align" msgstr "Kifelé" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:40 -#, fuzzy msgid "Flip speed/acceleration positions" -msgstr "Sebesség/gyorsulás poziciójának cseréje" +msgstr "Sebesség/gyorsulás pozíciójának cseréje" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_settings_misc.c:29 msgid "Speed:" msgstr "Sebesség (kB/s):" @@ -419,17 +499,14 @@ msgid "knots" msgstr "csomó" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64 -#, fuzzy msgid "Show" -msgstr "Mutasd" +msgstr "Látható" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67 -#, fuzzy msgid "Top speed" msgstr "Csúcssebesség" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:73 -#, fuzzy msgid "Acceleration:" msgstr "Gyorsulás:" @@ -439,15 +516,15 @@ msgstr "Függőleges sebességet is" #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4 msgid "Powerups Panel" -msgstr "Powerupok Panel" +msgstr "Turbózó Panel" #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:45 msgid "Flip strength and shield positions" -msgstr "Erő és pajzs pozíciók felcserélése" +msgstr "Sebzésnövelő és Védelmező pozíciójának felcserélése" #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:4 msgid "Pressed Keys Panel" -msgstr "Lenyomott gombok lapja" +msgstr "Megnyomott gombok Panel" #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:22 msgid "Panel enabled when spectating" @@ -460,7 +537,7 @@ msgstr "Panel mindig látható" #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:30 msgid "Forced aspect:" -msgstr "Kényszerített nézőpont:" +msgstr "Kényszerített arány:" #: qcsrc/menu/xonotic/dialog_hudpanel_racetimer.c:4 msgid "Race Timer Panel" @@ -481,8 +558,8 @@ msgstr "Radar:" #: 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 "Átlátszóság:" @@ -511,6 +588,7 @@ msgid "North" msgstr "Észak" #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61 msgid "Scale:" msgstr "Méret:" @@ -547,7 +625,6 @@ msgid "Rankings:" msgstr "Helyezés:" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26 -#, fuzzy msgid "Off" msgstr "Kikapcsolva" @@ -565,7 +642,7 @@ msgstr "Időmérő panel" #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:22 msgid "Timer:" -msgstr "Időzítő:" +msgstr "Időmérő:" #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:25 msgid "Show elapsed time" @@ -585,10 +662,9 @@ msgstr "Fegyver panel" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:24 msgid "Fade out after:" -msgstr "Elhalványulás késleltetés:" +msgstr "Elhalványulás késleltetése:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36 msgid "Never" msgstr "Soha" @@ -614,7 +690,6 @@ msgid "Alpha" msgstr "Halványuló" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38 -#, fuzzy msgid "EF^Both" msgstr "Mindkettő" @@ -623,34 +698,38 @@ msgid "Weapon icons:" msgstr "Fegyver ikonok:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45 +msgid "Show only owned weapons" +msgstr "Csak a saját iránypontjaim megjelenítése" + +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 msgid "Show weapon ID as:" msgstr "A Fegyver ID megjelenítése mint:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49 msgid "SHOWAS^None" msgstr "Sehogy" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50 msgid "Number" msgstr "Számmal" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 msgid "Bind" msgstr "Billentyű" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54 msgid "Show Accuracy" msgstr "Pontosság mutatása" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 msgid "Show Ammo" msgstr "Lőszer mutatása" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58 msgid "Ammo bar color:" msgstr "Lőszer jelző színe:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64 msgid "Ammo bar alpha:" msgstr "Lőszer jelző átlátszósága:" @@ -662,24 +741,24 @@ msgstr "HUD panel beállítása" msgid "Panel background defaults:" msgstr "Alapértelmezett panel háttér:" -#: 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 "Háttér:" #: 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 "Letiltás" #: 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 "Szín:" -#: 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 "Keret méret:" @@ -688,11 +767,11 @@ msgstr "Keret méret:" msgid "Team color:" msgstr "Csapat szín:" -#: 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 "Csapat szín tesztelés beállítás közben" -#: 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 "Kitöltés:" @@ -766,128 +845,124 @@ msgstr "Játékos beállítások" msgid "Game type:" msgstr "Játék típusa:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46 -msgid "Match settings:" -msgstr "Meccs beállítások:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48 msgid "Time limit:" msgstr "Időhatár:" -#: 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 "Pályához tartozó alapérték használata" -#: 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 "Ponthatár:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63 msgid "Player slots:" msgstr "Maximális játékosszám" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66 msgid "Number of bots:" msgstr "Botok száma:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69 msgid "Bot skill:" msgstr "Botok szintje" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72 msgid "Botlike" msgstr "Béna" # :))) -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73 msgid "Beginner" msgstr "Kezdő" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 msgid "You will win" msgstr "Te fogsz nyerni" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 msgid "You can win" msgstr "Nyerhetsz" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 msgid "You might win" msgstr "Talán győzhetsz" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 msgid "Advanced" msgstr "Rutinos" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 msgid "Expert" msgstr "Tapasztalt" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 msgid "Pro" msgstr "Hivatásos" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 msgid "Assassin" msgstr "Gyilkológép" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 msgid "Unhuman" msgstr "Embertelen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 msgid "Godlike" msgstr "MAGA AZ ISTEN" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:88 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87 msgid "Mutators..." msgstr "Módosítók..." -#: 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 "Haladó beállítások..." -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103 msgid "Map list:" msgstr "Pályalista:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109 msgid "Select all" msgstr "Az összes" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112 msgid "Select none" msgstr "Egyik sem" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118 msgid "Start Multiplayer!" msgstr "Többjátékos indítása!" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153 msgid "Capture limit:" msgstr "Zászlórablások száma:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157 msgid "Lives:" msgstr "Életek:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 msgid "Laps:" msgstr "Körök:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 msgid "Goals:" msgstr "Célok:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163 msgid "Frag limit:" msgstr "Gyilok határérték:" @@ -905,7 +980,7 @@ msgstr "Nézők engedélyezése" #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:31 msgid "Spawn shield:" -msgstr "Páncél megjelenés:" +msgstr "Védelmező megjelenése:" #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:36 msgid "Game speed:" @@ -991,31 +1066,30 @@ msgstr "Minden tárgy elhelyezése" msgid "MinstaGib only" msgstr "Csak MinstaGib" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81 msgid "Title:" msgstr "Cím:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87 msgid "Author:" msgstr "Szerző:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93 msgid "Features:" msgstr "Jellemzők:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98 msgid "Game types:" msgstr "Játék típusok:" -#: 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 "Bezár" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124 msgid "MAP^Play" -msgstr "Indítás" +msgstr "Pálya indítása" #: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:7 msgid "Mutators" @@ -1035,139 +1109,151 @@ msgid "%s Arena" msgstr "%s Aréna" #: 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 "Félreugrás" #: 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 "Rakéta repülés" -#: 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 "Sérthetetlen lövedékek" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:272 msgid "No start weapons" msgstr "Nincs kezdő fegyver" -#: 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 "Alacsony gravitáció" -#: 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 "Álcázott" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86 msgid "Hook" msgstr "Kampó" -#: 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 "Sebzés csak levegőben" -#: 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 "Vámpír" -#: 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 "Fegyverek maradnak" -#: 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 "Vérveszteség" -#: 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" +msgstr "Háti rakéta" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100 +msgid "No powerups" +msgstr "Nincsenek Turbózók" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102 +msgid "Powerups" +msgstr "Powerup Panel" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104 msgid "MUT^None" msgstr "Nincs" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170 msgid "Gameplay mutators:" msgstr "Játékmenet módosítók:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201 msgid "Weapon & item mutators:" msgstr "Fegyver és tárgy módosítók:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204 msgid "Grappling hook" msgstr "Vonóhorog" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223 msgid "Weapon arenas:" msgstr "Fegyver Arénák:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226 msgid "Regular (no arena)" msgstr "Hagyományos (nincs módosítás)" -#: 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 "lézerrel" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255 msgid "Special arenas:" msgstr "Különleges Arénák:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268 msgid "Most weapons" -msgstr "A legtöbb fegyver" +msgstr "Minden fegyver" #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:4 msgid "Demo" msgstr "Demók" #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 -msgid "Record demos while playing" +msgid "Automatically record demos while playing" msgstr "Játék közben demók rögzítése" -#: 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 "Szűrés:" -#: 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 "Törlés" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45 msgid "Timedemo" msgstr "Időmérés" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48 msgid "DEMO^Play" -msgstr "Lejátszás" +msgstr "Visszajátszás" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4 msgid "Join" @@ -1179,22 +1265,23 @@ msgstr "SRVS^Üres" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40 msgid "SRVS^Full" -msgstr "SRVS^Teli" +msgstr "SRVS^Megtelt" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44 msgid "Pause" msgstr "Szünet" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 msgid "Address:" msgstr "Cím:" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:67 msgid "Info..." -msgstr "Infó..." +msgstr "További infó" #: 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 "Csatlakozok!" @@ -1202,294 +1289,468 @@ msgstr "Csatlakozok!" msgid "Server Information" msgstr "Szerver információ" -#: 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 szabad férőhely" +msgid "%d/%d" +msgstr "%d/%d" + +#: 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 "Alapértelmezett" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 #, c-format -msgid "%d modified settings" +msgid "%d modified" msgstr "%d módosított beállítások" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 -msgid "Official settings" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 +msgid "Official" msgstr "Hivatalos beállítások" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197 -msgid "N/A (can't connect)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208 +msgid "N/A (auth library missing, can't connect)" msgstr "N/A (nem tudok csatlakozni)" -#: 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 "N/A (titkosítási függvénytár hiányzik) " + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216 +msgid "Not supported (can't connect)" msgstr "nem támogatott (nem tudok csatlakozni)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207 -msgid "not supported (won't encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218 +msgid "Not supported (won't encrypt)" msgstr "nem támogatott (nem titkosított)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211 -msgid "supported (will encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222 +msgid "Supported (will encrypt)" msgstr "támogatott (titkosított)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213 -msgid "supported (won't encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224 +msgid "Supported (won't encrypt)" msgstr "támogatott (nem titkosított)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217 -msgid "requested (will encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228 +msgid "Requested (will encrypt)" msgstr "kért (titkosított)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219 -msgid "requested (won't encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230 +msgid "Requested (won't encrypt)" msgstr "kért (nem titkosított)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223 -msgid "required (can't connect)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234 +msgid "Required (can't connect)" msgstr "szükséges (nem tudok csatlakozni)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225 -msgid "required (will encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236 +msgid "Required (will encrypt)" msgstr "szükséges (titkosított)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269 -msgid "Players:" -msgstr "Játékosok:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:256 +msgid "Hostname:" +msgstr "Szerver neve:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254 -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38 -msgid "Type:" -msgstr "Típus:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270 +msgid "Gametype:" +msgstr "Játék típusa:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275 msgid "Map:" msgstr "Pálya:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264 -msgid "Gameplay:" -msgstr "Játékmenet:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274 -msgid "Bots:" -msgstr "Botok:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280 msgid "Mod:" msgstr "Mod:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285 msgid "Version:" msgstr "Verzió:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289 -msgid "Ping:" -msgstr "Ping:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290 +msgid "Settings:" +msgstr "Beállítások:" -#: 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 "Játékosok:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301 -msgid "Key:" -msgstr "Kulcs:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302 +msgid "Bots:" +msgstr "Botok:" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307 +msgid "Free slots:" +msgstr "Szabad férőhelyek:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313 msgid "Encryption:" msgstr "Titkosítás:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318 +msgid "ID:" +msgstr "ID:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323 +msgid "Key:" +msgstr "Kulcs:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60 +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19 msgid "Model:" msgstr "Modell:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:87 -msgid "Force player models to mine" -msgstr "Ellenség modelljeinek kényszerítése az enyémmel megegyezőre" - #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 -msgid "Field of view:" -msgstr "Látómező:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92 -msgid "View bobbing:" -msgstr "Fej biccenés:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96 -msgid "Zoom factor:" -msgstr "Nagyítási szorzó:" +msgid "No crosshair" +msgstr "Nincs célkereszt" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100 -msgid "Zoom speed:" -msgstr "Nagyítás sebessége:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90 +msgid "Per weapon crosshair" +msgstr "Fegyverenkénti célkereszt" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:103 -msgid "Weapon settings..." -msgstr "Fegyverzet beállítások..." - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110 -msgid "Crosshair:" -msgstr "Célkereszt:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:111 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 -msgid "Per weapon" -msgstr "Fegyverenként" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93 +msgid "Custom crosshair" +msgstr "Egyéni célkereszt" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112 msgid "Crosshair size:" msgstr "Célkereszt mérete:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:134 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117 msgid "Crosshair alpha:" msgstr "Célkereszt átlátszósága:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:138 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123 msgid "Crosshair color:" msgstr "Célkereszt színe:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125 +msgid "Per weapon" +msgstr "Fegyverenként" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127 msgid "By health" msgstr "Életerőtől függ" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:143 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:131 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47 msgid "Custom" msgstr "Egyéni" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148 -msgid "Enable center dot" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 +msgid "Other crosshair settings" +msgstr "További célkereszt beállítások" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6 +msgid "Model settings" +msgstr "Játékosmodell beállítások" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6 +msgid "View settings" +msgstr "Nézet beállítások" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 +msgid "Weapon settings" +msgstr "Fegyver beállítások" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6 +msgid "HUD settings" +msgstr "HUD beállítások" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 +#: 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 "Azonnali alkalmazás" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6 +msgid "Crosshair settings" +msgstr "Célkereszt beállítások" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28 +msgid "Enable center crosshair dot" msgstr "Középső pont engedélyezése" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151 -msgid "Size:" -msgstr "Méret:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31 +msgid "Dot size:" +msgstr "Pont mérete:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36 +msgid "Dot alpha:" +msgstr "Pont átlátszósága:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41 +msgid "Dot color:" +msgstr "Pont színe:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158 -msgid "Hit test:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43 +msgid "Use normal crosshair color" +msgstr "Célkereszt normális színének használata" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54 +msgid "Crosshair animations:" +msgstr "Célkereszt animációk:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57 +msgid "Smooth effects of crosshairs" +msgstr "Célkereszt animációk simítása" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61 +msgid "Use rings to indicate weapon status" +msgstr "Fegyverállapot-jelző gyűrű a célkereszt körül" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67 +msgid "Hit testing:" msgstr "Találat ellenőrzés:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 -msgid "HTST^None" -msgstr "HTST^Nincs" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69 +msgid "HTTST^Disabled" +msgstr "AA^Letiltva" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160 -msgid "TrueAim" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70 +msgid "HTTST^TrueAim" msgstr "Valós célzás" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161 -msgid "Enemies" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71 +msgid "HTTST^Enemies" msgstr "Ellenségek" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164 -msgid "Waypoints setup..." -msgstr "Iránypontok beállítása..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76 +msgid "Blur crosshair if the shot is obstructed" +msgstr "Célkereszt elmosása, ha a lövés elakadna valamiben" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81 +msgid "Animate when hitting an enemy" +msgstr "Animáció találat esetén" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85 +msgid "Animate when picking up an item" +msgstr "Animáció tárgyfelvétel esetén" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40 +msgid "Damage:" +msgstr "Sérülési effekt:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43 +msgid "Overlay:" +msgstr "Telítettség:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47 +msgid "Factor:" +msgstr "Szorzó:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:52 +msgid "Fade rate:" +msgstr "Elhalványulási sebesség:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:58 +msgid "Waypoints" +msgstr "Iránypontok" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:71 +msgid "Edge offset:" +msgstr "Eltolás:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:80 +msgid "Show names above players" +msgstr "Játékosok nevének megjelenítése" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83 +msgid "Only when near crosshair" +msgstr "Csak a célkereszt közelében lévő játékosokét" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86 +msgid "Display health and armor" +msgstr "Életerő és páncél jelzése" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4 msgid "Enter HUD editor" msgstr "Belépés a HUD szerkesztőbe" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174 -msgid "Force models:" -msgstr "Modellek kényszerítése:" +#: 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 "Ahhoz, hogy beléphess a HUD szerkesztőbe, játékban kell lenned." -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 -msgid "MDL^None" -msgstr "MDL^Nincs" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30 +msgid "Do you wish to start a local game to set up the HUD?" +msgstr "Elindítod a speciális HUD szerkesztő pályát?" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176 -msgid "MDL^Custom" -msgstr "MDL^Egyéni" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33 +msgid "HDCNFRM^Yes" +msgstr "Igen" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177 -msgid "MDL^All" -msgstr "MDL^Mind" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36 +msgid "HDCNFRM^No" +msgstr "Nem" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180 -msgid "Disable gore effects" -msgstr "Véres hatások letiltása" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28 +msgid "Body fading:" +msgstr "Holttestek elhalványulása" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31 msgid "Gibs:" msgstr "Húscafatok:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33 msgid "GIBS^None" msgstr "GIBS^Nincs" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34 msgid "GIBS^Few" msgstr "GIBS^Kevés" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35 msgid "GIBS^Many" msgstr "GIBS^Sok" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36 msgid "GIBS^Lots" msgstr "GIBS^Rengeteg" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:191 -msgid "Damage splash:" -msgstr "Sérülési rázkódás:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40 +msgid "Playermodel LOD:" +msgstr "Játékos modell LOD:" -#: 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 "Azonnali alkalmazás" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44 +msgid "Force models:" +msgstr "Modellek kényszerítése:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5 -msgid "Waypoints" -msgstr "Iránypontok" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45 +msgid "MDL^None" +msgstr "MDL^Egyiket se" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23 -msgid "Show base waypoints" -msgstr "Bázis-iránypontok mutatása" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46 +msgid "MDL^Custom" +msgstr "MDL^Egyéni" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25 -msgid "Waypoint scale:" -msgstr "Iránypontok mérete:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47 +msgid "MDL^All" +msgstr "MDL^Mindet" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29 -msgid "Waypoint alpha:" -msgstr "Iránypontok átlátszósága:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50 +msgid "Force player models to mine" +msgstr "Ellenség modelljeinek kényszerítése az enyémmel megegyezőre" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34 -msgid "Show names:" -msgstr "Nevek mutatása:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52 +msgid "Force player colors to mine" +msgstr "Ellenség színeinek kényszerítése az enyémmel megegyezőre" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37 -msgid "Teammates" -msgstr "Csapattársak" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28 +msgid "Field of view:" +msgstr "Látómező:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38 -msgid "All players" -msgstr "Minden játékos" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31 +msgid "Zoom:" +msgstr "Nagyítási mód:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 -msgid "Weapon settings" -msgstr "Fegyver beállítások" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33 +msgid "RETICLE^Fullscreen" +msgstr "Teljes képernyő" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34 +msgid "RETICLE^With reticle" +msgstr "Távcsőkeret mutatása" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38 +msgid "ZOOM^Factor:" +msgstr "Szorzó:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42 +msgid "ZOOM^Speed:" +msgstr "Sebesség:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52 +msgid "ZOOM^Instant" +msgstr "Azonnal" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56 +msgid "ZOOM^Sensitivity:" +msgstr "Egér érzékenység:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59 +msgid "Velocity zoom:" +msgstr "Nagyítás simítása:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61 +msgid "VZOOM^Disabled" +msgstr "Letiltva" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62 +msgid "VZOOM^Forward only" +msgstr "Csak nagyításra" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63 +msgid "VZOOM^All directions" +msgstr "Nagyításra és kicsinyítésre is" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67 +msgid "VZOOM^Speed" +msgstr "Sebesség:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72 +msgid "Allow passing through walls while spectating" +msgstr "Nézőként a falakon való áthaladás engedélyezése" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75 +msgid "1st person perspective" +msgstr "Első személy nézet" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79 +msgid "Smooth the view when landing from a jump" +msgstr "Finom rugózás landoláskor" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83 +msgid "Smooth the view while crouching" +msgstr "Finom guggolás" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87 +msgid "View waving while idle" +msgstr "Ingadozás egy helyben ácsorgáskor" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91 +msgid "View bobbing while walking around" +msgstr "Fej biccentés futás közben" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96 +msgid "3rd person perspective" +msgstr "Harmadik személy nézet" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100 +msgid "Back distance" +msgstr "Távolság hátrafelé" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106 +msgid "Up distance" +msgstr "Távolság felfelé" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 msgid "Weapon priority list:" msgstr "Fegyver elsőbbségi lista:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33 msgid "Up" msgstr "Fel" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36 msgid "Down" msgstr "Le" @@ -1501,13 +1762,21 @@ msgstr "Az elsőbbségi listát használom a fegyverváltáshoz" msgid "Auto switch weapons on pickup" msgstr "Automatikus váltás a felvett fegyverre" -#: 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 "Kézben tartott fegyver kirajzolása" +msgstr "Kézben tartott fegyver megjelenítése" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55 -msgid "Flip view horizontally" -msgstr "A képernyő vízszintes tükrözése" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58 +msgid "Gun model swaying" +msgstr "Fegyver hintáztatása" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63 +msgid "Gun model bobbing" +msgstr "Fegyver biccentése" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68 +msgid "VWMDL^Scale" +msgstr "Fegyvermodell mérete" #: qcsrc/menu/xonotic/dialog_news.c:4 msgid "News" @@ -1521,18 +1790,146 @@ msgstr "http://www.xonotic.org/team/blog/" msgid "Quit" msgstr "Kilépés" -#: qcsrc/menu/xonotic/dialog_quit.c:17 +#: qcsrc/menu/xonotic/dialog_quit.c:18 msgid "Are you sure you want to quit?" msgstr "Biztos ki szeretnél lépni?" -#: qcsrc/menu/xonotic/dialog_quit.c:20 +#: qcsrc/menu/xonotic/dialog_quit.c:21 msgid "Yes" msgstr "Igen" -#: qcsrc/menu/xonotic/dialog_quit.c:21 +#: qcsrc/menu/xonotic/dialog_quit.c:22 msgid "No" msgstr "Nem" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4 +msgid "Sandbox Tools" +msgstr "Homokozó eszköztár" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:24 +msgid "Spawn" +msgstr "Megjelenítés" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25 +msgid "Remove *" +msgstr "Eltávolítás" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27 +msgid "Copy *" +msgstr "Másolás" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28 +msgid "Paste" +msgstr "Beillesztés" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:30 +msgid "Bone:" +msgstr "Csont:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:35 +msgid "Set * as child" +msgstr "* hozzárendelése" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36 +msgid "Attach to *" +msgstr "Hozzárendelés *-hoz" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:38 +msgid "Detach from *" +msgstr "Leválasztás * -ról" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:41 +msgid "Visual object properties for *:" +msgstr "Vizuális tulajdonságok:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:43 +msgid "Set skin:" +msgstr "Bőr:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45 +msgid "Set alpha:" +msgstr "Átlátszóság:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48 +msgid "Set color main:" +msgstr "Elsődleges szín:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50 +msgid "Set color glow:" +msgstr "Világító szín:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:54 +msgid "Set frame:" +msgstr "Póz:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:58 +msgid "Physical object properties for *:" +msgstr "Fizikai tulajdonságok:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:60 +msgid "Set material:" +msgstr "Anyagjellemzők:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:66 +msgid "Set solidity:" +msgstr "Szilárdság:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67 +msgid "Non-solid" +msgstr "Áthatolható" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68 +msgid "Solid" +msgstr "Szilárd:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69 +msgid "Set physics:" +msgstr "Fizika:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70 +msgid "Static" +msgstr "Statikus" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71 +msgid "Movable" +msgstr "Mozgatható" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72 +msgid "Physical" +msgstr "Fizikai" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74 +msgid "Set scale:" +msgstr "Méret:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:76 +msgid "Set force:" +msgstr "Erő:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:80 +msgid "Claim *" +msgstr "* birtokba vétele" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:82 +msgid "* object info" +msgstr "* objektum információi" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83 +msgid "* mesh info" +msgstr "* alakzat információi" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84 +msgid "* attachment info" +msgstr "* csatolmány információi" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85 +msgid "Show help" +msgstr "Súgó" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86 +msgid "* is the object you are facing" +msgstr "A * az az objektum, amelyre nézel" + #: qcsrc/menu/xonotic/dialog_settings.c:4 msgid "Settings" msgstr "Beállítások" @@ -1550,7 +1947,7 @@ msgstr "Videó" #: qcsrc/menu/xonotic/dialog_settings.c:20 #: qcsrc/menu/xonotic/dialog_settings_effects.c:4 msgid "Effects" -msgstr "Hatások" +msgstr "Effektek" #: qcsrc/menu/xonotic/dialog_settings.c:21 #: qcsrc/menu/xonotic/dialog_settings_audio.c:4 @@ -1558,9 +1955,9 @@ msgid "Audio" msgstr "Hang" #: qcsrc/menu/xonotic/dialog_settings.c:22 -#: qcsrc/menu/xonotic/dialog_settings_network.c:4 -msgid "Network" -msgstr "Hálózat" +#: qcsrc/menu/xonotic/dialog_settings_user.c:4 +msgid "User" +msgstr "Felhasználó" #: qcsrc/menu/xonotic/dialog_settings.c:23 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4 @@ -1571,194 +1968,170 @@ msgstr "Egyéb" msgid "Master:" msgstr "Általános:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:33 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:35 msgid "Music:" msgstr "Zene:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:41 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:45 msgid "VOL^Ambient:" msgstr "VOL^Háttérzajok:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:48 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:54 msgid "Info:" msgstr "Információ:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:55 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:63 msgid "Items:" msgstr "Tárgyak:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:62 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:72 msgid "Pain:" msgstr "Fájdalom:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:69 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:81 msgid "Player:" msgstr "Játékosok:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:76 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:90 msgid "Shots:" msgstr "Lövések:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:83 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:99 msgid "Voice:" msgstr "Beszéd:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:91 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:109 msgid "Weapons:" msgstr "Fegyverek:" -#: 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 "Hangok valósághű csillapítása" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:119 +msgid "Mute sounds when not active" +msgstr "Elnémítás, ha nem a játék az aktív ablak" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:122 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:194 msgid "Frequency:" msgstr "Frekvencia:" -#: 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 "Csatornák:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:112 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:136 msgid "Mono" msgstr "Monó" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:113 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 msgid "Stereo" msgstr "Sztereó" -#: 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 "Sztereó felcserélése" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:148 msgid "Headphone friendly mode" msgstr "Fejhallgató barát mód" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 -msgid "Spatial voices:" -msgstr "Utasítások:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:132 -msgid "VOCS^None" -msgstr "VOCS^Nincs" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:133 -msgid "VOCS^Taunts" -msgstr "VOCS^Gúnyolódás" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 -msgid "VOCS^All" -msgstr "VOCS^Minden" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 -msgid "Taunt range:" -msgstr "Gúnyolódások hallhatósága:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:140 -msgid "RNG^Very short" -msgstr "RNG^Közvetlen közelről" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:141 -msgid "RNG^Short" -msgstr "RNG^Közelről" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:142 -msgid "RNG^Normal" -msgstr "RNG^Normál" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:143 -msgid "RNG^Long" -msgstr "RNG^Távolról is" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 +msgid "Hit indication sound" +msgstr "Találat jelző" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:144 -msgid "RNG^Full" -msgstr "RNG^Teljes pályán" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:172 +msgid "Chat message sound" +msgstr "Csevej pittyenés" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:151 -msgid "Automatic taunts" -msgstr "Automatikus gúnyolódás" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:174 +msgid "Menu sounds" +msgstr "Menü hangok" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:160 -msgid "Time warning:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:177 +msgid "Time announcer:" msgstr "Időre figyelmeztetés:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:162 -msgid "WRN^None" -msgstr "Kikapcsolva" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:179 +msgid "WRN^Disabled" +msgstr "AA^Letiltva" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:163 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:180 msgid "1 minute" msgstr "1 perc" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:164 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:181 msgid "5 minutes" msgstr "5 perc" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:165 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:182 msgid "WRN^Both" msgstr "Mindkettő" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:168 -msgid "Hit indicator" -msgstr "Találat jelző" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:189 +msgid "Automatic taunts" +msgstr "Automatikus gúnyolódás" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 -msgid "Menu sounds" -msgstr "Menü hangok" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:199 +msgid "Debug info about sounds" +msgstr "Hangok hibakeresési információi" #: qcsrc/menu/xonotic/dialog_settings_effects.c:38 msgid "Quality preset:" @@ -1821,230 +2194,226 @@ msgid "DET^Insane" msgstr "DET^Nagyon magas" #: qcsrc/menu/xonotic/dialog_settings_effects.c:62 -msgid "Antialiasing:" -msgstr "Élsimítás:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:64 -msgid "AA^Disabled" -msgstr "AA^Letiltva" - -#: 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 "Textúra felbontás:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:73 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 msgid "RES^Leet" msgstr "RES^Semmi" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:74 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 msgid "RES^Lowest" msgstr "RES^Legalacsonyabb" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:75 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:67 +msgid "RES^Very low" +msgstr "RES^Nagyon alacsony" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:68 msgid "RES^Low" msgstr "RES^Alacsony" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:76 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:69 msgid "RES^Normal" msgstr "RES^Normál" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:77 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 msgid "RES^Good" msgstr "RES^Jó" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:78 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:71 msgid "RES^Best" msgstr "RES^Legjobb" -#: 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 "Veszteséges textúra tömörítés kikapcsolása" +msgstr "Veszteséges textúra tömörítés mellőzése" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 -msgid "Anisotropy:" -msgstr "Anizotrópia:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:102 -msgid "ANISO^Disabled" -msgstr "ANISO^Letiltva" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:93 +msgid "Use lightmaps" +msgstr "Fénytérképek használata" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:105 -msgid "8x" -msgstr "8x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:94 +msgid "Deluxe mapping" +msgstr "Deluxe mapping" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 -msgid "16x" -msgstr "16x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:96 +msgid "Gloss" +msgstr "Csillogás" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 -msgid "Particle quality:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 +msgid "Particles quality:" msgstr "Részecskék minősége:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:113 -msgid "Particle distance:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:103 +msgid "Particles distance:" msgstr "Részecskék megjelenítése:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:117 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 +msgid "Damage effects:" +msgstr "Sebzési effektek:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:108 +msgid "DMGPRTCLS^Disabled" +msgstr "Letiltva" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:109 +msgid "DMGPRTCLS^Skeletal" +msgstr "Testrészenként" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 +msgid "DMGPRTCLS^All" +msgstr "MDL^Mind" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:114 msgid "Decals" msgstr "Vér- és égésnyomok" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:118 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:115 msgid "Decals on models" msgstr "Foltok a modelleken" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:122 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:119 msgid "Distance:" msgstr "Megjelenítés távolsága:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:128 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:125 msgid "Time:" msgstr "Eltűnés ideje" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 -msgid "Use lightmaps" -msgstr "Fénytérképek használata" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:135 -msgid "Deluxe mapping" -msgstr "Deluxe mapping" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:137 -msgid "Gloss" -msgstr "Csillogás" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:140 -msgid "Offset mapping" -msgstr "Offset mapping" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 -msgid "Relief mapping" -msgstr "Relief mapping" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:145 -msgid "Reflections:" -msgstr "Tükröződés:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:148 -msgid "Blurred" -msgstr "Homályos" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 -msgid "REFL^Good" -msgstr "Refl^Jó" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:150 -msgid "Sharp" -msgstr "Éles" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:131 +msgid "Coronas" +msgstr "Fényudvarok" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 -msgid "Show surfaces" -msgstr "Felületek megjelenítése" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:132 +msgid "Use Occlusion Queries" +msgstr "Láthatósági ellenőrzés" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 msgid "No dynamic lighting" msgstr "Nincsenek dinamikus fények" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 -msgid "Flash blend approximation" -msgstr "Elnagyolt villanások" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:136 +msgid "Fake corona lighting" +msgstr "Hamis fényudvarok" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:161 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:138 msgid "Realtime dynamic lighting" msgstr "Valós idejű dinamikus fények" -#: 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 "Árnyékok" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:165 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 msgid "Realtime world lighting" msgstr "Valósidejű világ fények" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:170 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:147 msgid "Use normal maps" msgstr "Normal map használata" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:172 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 msgid "Soft shadows" msgstr "Lágy árnyékok" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:175 -msgid "Coronas" -msgstr "Fényudvarok" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:153 +msgid "Show surfaces" +msgstr "Felületek megjelenítése" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:176 -msgid "Use Occlusion Queries" -msgstr "Láthatósági ellenőrzés" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 +msgid "Offset mapping" +msgstr "Offset mapping" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:178 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +msgid "Relief mapping" +msgstr "Relief mapping" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 +msgid "LOD" +msgstr "LOD" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 msgid "Bloom" msgstr "Ragyogás" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:180 -msgid "High Dynamic Range (HDR)" -msgstr "Magas dinamika tartomány (HDR)" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:164 +msgid "Reflections:" +msgstr "Tükröződés:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:167 +msgid "Blurred" +msgstr "Homályos" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:168 +msgid "REFL^Good" +msgstr "Refl^Jó" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:169 +msgid "Sharp" +msgstr "Éles" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:184 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:174 msgid "Motion blur:" msgstr "Mozgási elmosódás:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:189 -msgid "Blur and sharpen postprocessing" -msgstr "Elmosás és élesítés" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:179 +msgid "Extra postprocessing effects" +msgstr "Extra utófeldolgozási effektek" #: qcsrc/menu/xonotic/dialog_settings_input.c:26 msgid "Key bindings:" msgstr "Billentyűzet-kiosztás:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:31 +#: qcsrc/menu/xonotic/dialog_settings_input.c:30 msgid "Change key..." msgstr "Megváltoztatás..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:35 +#: qcsrc/menu/xonotic/dialog_settings_input.c:34 msgid "Edit..." msgstr "Szerkesztés..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:46 -msgid "Sensitivity:" -msgstr "Érzékenység:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:45 +msgid "Pressing \"enter console\" key also closes it" +msgstr "\"belépés a konzolba\" bezárásra is alkalmas" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:47 +msgid "Automatically repeat jumping if holding jump" +msgstr "Automatikus ugrás az \"ugrás\" billentyű lenyomva tartásakor" #: qcsrc/menu/xonotic/dialog_settings_input.c:51 -msgid "UI mouse speed:" -msgstr "Menü egér sebessége:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:53 +#: qcsrc/menu/xonotic/dialog_settings_input.c:56 +msgid "Use joystick input" +msgstr "Botkormány bemenet használata" -#: qcsrc/menu/xonotic/dialog_settings_input.c:55 -msgid "Mouse filter" -msgstr "Egérmozgás simítása" +#: qcsrc/menu/xonotic/dialog_settings_input.c:61 +msgid "Mouse:" +msgstr "Egér:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:57 -msgid "Invert mouse" -msgstr "Fordított egérmozgás" +#: qcsrc/menu/xonotic/dialog_settings_input.c:64 +msgid "Sensitivity:" +msgstr "Érzékenység:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:60 -#: qcsrc/menu/xonotic/dialog_settings_input.c:62 -msgid "Use joystick input" -msgstr "Botkormány bemenet használata" +#: qcsrc/menu/xonotic/dialog_settings_input.c:68 +msgid "Smooth aiming" +msgstr "Egér mozgásának simítása" -#: 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:71 +msgid "Invert aiming" +msgstr "Fordított egérmozgás" + +#: 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 "OS egér gyorsítás kikapcsolása" -#: qcsrc/menu/xonotic/dialog_settings_input.c:69 -msgid "\"enter console\" also closes" -msgstr "\"belépés a konzolba\" zár is" +#: qcsrc/menu/xonotic/dialog_settings_input.c:85 +msgid "Enable built in mouse acceleration" +msgstr "Beépített egér gyorsítás engedélyezése" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5 msgid "User defined key bind" @@ -2067,96 +2436,261 @@ msgid "Cancel" msgstr "Mégsem" #: qcsrc/menu/xonotic/dialog_settings_misc.c:26 -msgid "Menu skins:" -msgstr "Menü felületek:" +msgid "Network:" +msgstr "Hálózati kapcsolat típusa:" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:47 +#: 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 "Lassú ADSL" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:34 +msgid "Fast ADSL" +msgstr "Gyors ADSL" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 +msgid "Broadband" +msgstr "Szélessávú" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:39 +msgid "Input packets/s:" +msgstr "Bemeneti csomagok/s:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:45 +msgid "Local latency:" +msgstr "Helyi késleltetés:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:50 +msgid "Client UDP port:" +msgstr "Kliens UDP port:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:55 +msgid "Show netgraph" +msgstr "Hálózati forgalom megjelenítése" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:59 +msgid "Client-side movement prediction" +msgstr "Kliensoldali mozgásbecslés" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +msgid "Movement error compensation" +msgstr "Mozgási hibák javítása" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:66 +msgid "Downloads:" +msgstr "Letöltések:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:69 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:81 +msgid "Maximum:" +msgstr "Maximum:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:73 +msgid "Speed (kB/s):" +msgstr "Sebesség (kB/s):" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:78 +msgid "Framerate:" +msgstr "Képfrissítés sebessége:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:83 +msgid "MAXFPS^5 fps" +msgstr "MAXFPS^5 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:84 +msgid "MAXFPS^10 fps" +msgstr "MAXFPS^10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:85 +msgid "MAXFPS^20 fps" +msgstr "MAXFPS^20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:86 +msgid "MAXFPS^30 fps" +msgstr "MAXFPS^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:87 +msgid "MAXFPS^40 fps" +msgstr "MAXFPS^40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:88 +msgid "MAXFPS^50 fps" +msgstr "MAXFPS^50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:89 +msgid "MAXFPS^60 fps" +msgstr "MAXFPS^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:90 +msgid "MAXFPS^70 fps" +msgstr "MAXFPS^70 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:91 +msgid "MAXFPS^100 fps" +msgstr "MAXFPS^100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:92 +msgid "MAXFPS^125 fps" +msgstr "MAXFPS^125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:93 +msgid "MAXFPS^200 fps" +msgstr "MAXFPS^200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:94 +msgid "MAXFPS^Unlimited" +msgstr "MAXFPS^Korlátlan" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:98 +msgid "Target:" +msgstr "Cél érték:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:100 +msgid "TRGT^Disabled" +msgstr "TRGT^Letiltva" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:101 +msgid "TRGT^30 fps" +msgstr "TRGT^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:102 +msgid "TRGT^40 fps" +msgstr "TRGT^40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:103 +msgid "TRGT^50 fps" +msgstr "TRGT^50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:104 +msgid "TRGT^60 fps" +msgstr "TRGT^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:105 +msgid "TRGT^100 fps" +msgstr "TRGT^100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:106 +msgid "TRGT^125 fps" +msgstr "TRGT^125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:107 +msgid "TRGT^200 fps" +msgstr "TRGT^200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:111 +msgid "Idle limit:" +msgstr "Tétlenség esetén:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:113 +msgid "IDLFPS^10 fps" +msgstr "IDLFPS^10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:114 +msgid "IDLFPS^20 fps" +msgstr "IDLFPS^20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:115 +msgid "IDLFPS^30 fps" +msgstr "IDLFPS^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:116 +msgid "IDLFPS^60 fps" +msgstr "IDLFPS^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:117 +msgid "IDLFPS^Unlimited" +msgstr "IDLFPS^Korlátlan" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:122 +msgid "Show frames per second" +msgstr "A képkocka/másodperc megjelenítése" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:125 +msgid "Save processing time for other apps" +msgstr "Feldolgozási adatok elmentése más programok számára" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:129 +msgid "Menu tooltips:" +msgstr "Menü tippek:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:131 +msgid "TLTIP^Disabled" +msgstr "TLTIP^Letiltva" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:132 +msgid "TLTIP^Standard" +msgstr "TLTIP^Normál" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:133 +msgid "TLTIP^Advanced" +msgstr "TLTIP^Részletes" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:137 msgid "Show current time" msgstr "Jelenlegi idő mutatása" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:49 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:139 msgid "Show current date" msgstr "Mai dátum mutatása" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:51 -msgid "Show frames per second" -msgstr "A képkocka/másodperc mutatása" - -#: qcsrc/menu/xonotic/dialog_settings_misc.c:53 -msgid "Minimize input latency" -msgstr "Bemeneti késleltetés minimalizása" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:141 +msgid "Enable developer mode" +msgstr "Fejlesztői mód engedélyezése" #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 msgid "Advanced settings" msgstr "Haladó beállítások" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31 msgid "Cvar filter:" msgstr "Cvar szűrés:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44 msgid "Setting:" msgstr "Beállítás:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:48 +msgid "Type:" +msgstr "Típus:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:52 msgid "Value:" msgstr "Érték:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:68 msgid "Description:" msgstr "Leírás:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:26 -msgid "Client-side movement prediction" -msgstr "Kliens-oldali mozgásbecslés" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:30 -msgid "Show netgraph" -msgstr "Hálózat forgalom megjelenítése" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:33 -msgid "Network speed:" -msgstr "Hálózat sebessége:" - -#: 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 "Lassú ADSL" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:38 -msgid "Fast ADSL" -msgstr "Gyors ADSL" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:39 -msgid "Broadband" -msgstr "Szélessávú" +#: qcsrc/menu/xonotic/dialog_settings_user.c:27 +msgid "Menu skins:" +msgstr "Menü felületek:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:42 -msgid "Input packets/s:" -msgstr "Bemeneti csomagok/s:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:31 +msgid "Set skin" +msgstr "Felület beállítása:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:46 -msgid "HTTP downloads:" -msgstr "HTTP letöltéseket:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:74 +msgid "Set language" +msgstr "Nyelv beállítása" -#: qcsrc/menu/xonotic/dialog_settings_network.c:49 -msgid "Downloads:" -msgstr "Letöltések:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:79 +msgid "Disable gore effects and harsh language" +msgstr "Véres hatások letiltása" -#: qcsrc/menu/xonotic/dialog_settings_network.c:53 -msgid "Speed (kB/s):" -msgstr "Sebesség (kB/s):" +#: qcsrc/menu/xonotic/dialog_settings_user.c:82 +msgid "Allow player statistics to track your client" +msgstr "Játékos statisztika küldésének engedélyezése" -#: qcsrc/menu/xonotic/dialog_settings_network.c:57 -msgid "Client UDP port:" -msgstr "Kliens UDP port:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:84 +msgid "Allow player statistics to use your nickname" +msgstr "Játékosnév megjelenítésének engedélyezése a statisztikákban" #: qcsrc/menu/xonotic/dialog_settings_video.c:26 msgid "Resolution:" @@ -2164,7 +2698,7 @@ msgstr "Felbontás:" #: qcsrc/menu/xonotic/dialog_settings_video.c:29 msgid "Font/UI size:" -msgstr "Betük/Menü mérete:" +msgstr "Betűk/Menü mérete:" #: qcsrc/menu/xonotic/dialog_settings_video.c:31 msgid "SZ^Unreadable" @@ -2206,103 +2740,173 @@ msgstr "SZ^Óriási" msgid "Color depth:" msgstr "Színmélység:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:44 +msgid "16bit" +msgstr "16bit" + #: qcsrc/menu/xonotic/dialog_settings_video.c:45 +msgid "32bit" +msgstr "32bit" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:48 msgid "Full screen" msgstr "Teljes képernyő" -#: qcsrc/menu/xonotic/dialog_settings_video.c:46 +#: qcsrc/menu/xonotic/dialog_settings_video.c:49 msgid "Vertical Synchronization" -msgstr "Szinkonizálás a képernyő frissítéshez" +msgstr "Szinkronizálás a képernyő frissítéshez" -#: qcsrc/menu/xonotic/dialog_settings_video.c:49 -msgid "Use OpenGL 2.0 shaders (GLSL)" -msgstr "OpenGL 2.0 shaderek (GLSL) használata" +#: qcsrc/menu/xonotic/dialog_settings_video.c:53 +msgid "Anisotropy:" +msgstr "Anizotrópia:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:52 -msgid "Use GLSL to handle color control" -msgstr "GLSL használata a színvezérlés kezeléséhez" +#: qcsrc/menu/xonotic/dialog_settings_video.c:55 +msgid "ANISO^Disabled" +msgstr "ANISO^Letiltva" #: qcsrc/menu/xonotic/dialog_settings_video.c:56 -msgid "Vertex Buffer Objects (VBOs)" -msgstr "Vertex Buffer Objects (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 "VBO^Off" +msgid "16x" +msgstr "16x" -#: qcsrc/menu/xonotic/dialog_settings_video.c:60 -msgid "Vertices, some Tris (compatible)" -msgstr "Csúcspontok, néhány háromszög (kompatibilis)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:62 +msgid "Antialiasing:" +msgstr "Élsimítás:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:63 -msgid "Vertices" -msgstr "Csúcspontok" +#: qcsrc/menu/xonotic/dialog_settings_video.c:65 +msgid "AA^Disabled" +msgstr "AA^Letiltva" -#: qcsrc/menu/xonotic/dialog_settings_video.c:64 -msgid "Vertices and Triangles" -msgstr "Csúcspontok és háromszögek" +#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +msgid "High-quality frame buffer" +msgstr "Jó minőségű Framebuffer engedélyezése" -#: qcsrc/menu/xonotic/dialog_settings_video.c:67 +#: qcsrc/menu/xonotic/dialog_settings_video.c:76 msgid "Depth first:" msgstr "Mélység először:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:69 +#: qcsrc/menu/xonotic/dialog_settings_video.c:78 msgid "DF^Disabled" msgstr "Kikapcsolva" -#: qcsrc/menu/xonotic/dialog_settings_video.c:70 +#: qcsrc/menu/xonotic/dialog_settings_video.c:79 msgid "DF^World" -msgstr "Világ" +msgstr "DF^Világ" -#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +#: qcsrc/menu/xonotic/dialog_settings_video.c:80 msgid "DF^All" -msgstr "Minden" +msgstr "DF^Minden" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +msgid "Vertex Buffer Objects (VBOs)" +msgstr "Vertex Buffer Objektumok (VBO)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:75 -msgid "Disable multithreaded OpenGL" -msgstr "Többszálú OpenGL letiltása" +#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +msgid "VBO^Off" +msgstr "VBO^Letiltva" -#: qcsrc/menu/xonotic/dialog_settings_video.c:77 -msgid "Wait for GPU to finish each frame" -msgstr "Várakozás a GPU-ra minden képkockánál" +#: qcsrc/menu/xonotic/dialog_settings_video.c:87 +msgid "Vertices, some Tris (compatible)" +msgstr "Csúcspontok, néhány háromszög (kompatibilis)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:80 +#: qcsrc/menu/xonotic/dialog_settings_video.c:90 +msgid "Vertices" +msgstr "Csúcspontok" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +msgid "Vertices and Triangles" +msgstr "Csúcspontok és háromszögek" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:94 msgid "Brightness:" msgstr "Fényerő:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +#: qcsrc/menu/xonotic/dialog_settings_video.c:97 msgid "Contrast:" msgstr "Kontraszt:" -#: 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 "Kontraszt növelés:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:96 +#: qcsrc/menu/xonotic/dialog_settings_video.c:110 msgid "Saturation:" msgstr "Színtelítettség:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:102 +#: qcsrc/menu/xonotic/dialog_settings_video.c:116 msgid "LIT^Ambient:" msgstr "Környezet:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:105 +#: qcsrc/menu/xonotic/dialog_settings_video.c:119 msgid "Intensity:" msgstr "Erősség:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:123 +msgid "Use OpenGL 2.0 shaders (GLSL)" +msgstr "OpenGL 2.0 shaderek (GLSL) használata" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:125 +msgid "Use GLSL to handle color control" +msgstr "GLSL használata a színvezérlés kezeléséhez" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:128 +msgid "Wait for GPU to finish each frame" +msgstr "Várakozás a GPU-ra minden képkockánál" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:132 +msgid "Psycho coloring (easter egg)" +msgstr "Pszichedelikus fények (csak a poén kedvéért)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:135 +msgid "Trippy vertices (easter egg)" +msgstr "Mint aki be van rúgva (csak a poén kedvéért)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:138 +msgid "Flip view horizontally" +msgstr "A képernyő vízszintes tükrözése" + #: qcsrc/menu/xonotic/dialog_singleplayer.c:4 msgid "Singleplayer" msgstr "Egyjátékos mód" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:127 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:116 msgid "Instant action! (random map with bots)" msgstr "Azonnali játék (véletlenszerű pálya botokkal)" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:148 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:137 +msgid "Campaign Difficulty:" +msgstr "Nehézségi fokozat:" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:138 +msgid "CSKL^Easy" +msgstr "CSKL^Könnyű" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:139 +msgid "CSKL^Medium" +msgstr "CSKL^Középszint" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:140 +msgid "CSKL^Hard" +msgstr "CSKL^Nehéz" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:142 msgid "Start Singleplayer!" msgstr "Egyjátékos mód indítása" @@ -2338,23 +2942,23 @@ msgstr "Rózsaszín" msgid "spectate" msgstr "Nézőként csatlakozok" -#: 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 "Ne nyomd meg újra ezt a gombot!" -#: 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 "" "Jajj? Ezzel nem lehet játszani (m is NULL). Állítsd át a szűrést, hogy ne " "ismétlődjön meg!\n" -#: qcsrc/menu/xonotic/maplist.c:286 +#: qcsrc/menu/xonotic/maplist.c:290 #, c-format msgid "%s's Xonotic Server" msgstr "%s Xonotic szervere" -#: 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" @@ -2363,7 +2967,11 @@ msgstr "" "szűrést, hogy ne ismétlődjön meg!\n" "." -#: qcsrc/menu/xonotic/playermodel.c:174 +#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128 +msgid "spectator" +msgstr "Nézőként csatlakozok" + +#: qcsrc/menu/xonotic/playermodel.c:177 msgid "<no model found>" msgstr "<modell nem található>" @@ -2375,23 +2983,23 @@ msgstr "Eltávolítás" msgid "Bookmark" msgstr "Könyvjelző" -#: qcsrc/menu/xonotic/serverlist.c:527 +#: qcsrc/menu/xonotic/serverlist.c:548 msgid "Ping" msgstr "Ping" -#: qcsrc/menu/xonotic/serverlist.c:528 +#: qcsrc/menu/xonotic/serverlist.c:549 msgid "Host name" -msgstr "Gazda név" +msgstr "Szerver név" -#: qcsrc/menu/xonotic/serverlist.c:529 +#: qcsrc/menu/xonotic/serverlist.c:550 msgid "Map" msgstr "Pálya" -#: qcsrc/menu/xonotic/serverlist.c:530 +#: qcsrc/menu/xonotic/serverlist.c:551 msgid "Type" msgstr "Típus" -#: qcsrc/menu/xonotic/serverlist.c:531 +#: qcsrc/menu/xonotic/serverlist.c:552 msgid "Players" msgstr "Játékosok" @@ -2421,25 +3029,25 @@ msgstr "%s dB" 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 "Érvénytelen HTTP adatkérés érkezett id %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 "Frissítési értesítési hiba: az állapota %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 "Hiba: frissítési értesítés helyett egy HTML-t kapott\n" -#: qcsrc/menu/xonotic/util.qc:295 +#: qcsrc/menu/xonotic/util.qc:301 msgid "error: received carriage returns from update notification server\n" msgstr "Hiba: a frissítés értesítő szerverről egy 'kocsi vissza'-t kapott\n" -#: qcsrc/menu/xonotic/util.qc:316 +#: qcsrc/menu/xonotic/util.qc:322 #, c-format msgid "" "Update can be downloaded at:\n" @@ -2448,21 +3056,21 @@ msgstr "" "Frissítés letölthető: \n" "%s -ről\n" -#: qcsrc/menu/xonotic/util.qc:337 +#: qcsrc/menu/xonotic/util.qc:351 msgid "Autogenerating mapinfo for newly added maps..." msgstr "MapInfo készítése az újonnan hozzáadott pályákhoz..." -#: qcsrc/menu/xonotic/util.qc:367 +#: qcsrc/menu/xonotic/util.qc:381 #, c-format msgid "^1%s TEST BUILD" msgstr "^1%s TEST BUILD" -#: qcsrc/menu/xonotic/util.qc:432 +#: qcsrc/menu/xonotic/util.qc:439 #, c-format msgid "Update to %s now!" -msgstr "Most frissítsd %s-re/ra!" +msgstr "Frissítés %s-re/ra!" -#: 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" @@ -2470,482 +3078,389 @@ msgstr "" "^1Hiba: textúra tömörítés szükséges, de nem támogatott.\n" "^1Gondok lehetnek a megjelenítéssel.\n" -#: qcsrc/menu/xonotic/util.qc:523 -msgid "Arena" -msgstr "Aréna" +#: qcsrc/menu/xonotic/util.qc:643 +msgid "Use default" +msgstr "Alapértékek használata" -#: qcsrc/menu/xonotic/util.qc:524 -msgid "Assault" -msgstr "Ostrom" +#: qcsrc/menu/xonotic/util.qc:663 +msgid "Team Color:" +msgstr "Csapat színe:" -#: qcsrc/menu/xonotic/util.qc:525 -msgid "Capture The Flag" -msgstr "Zászlórablás" +#: qcsrc/menu/xonotic/util.qh:50 +msgid "Enable panel" +msgstr "Panel engedélyezése" -#: qcsrc/menu/xonotic/util.qc:526 -msgid "Clan Arena" -msgstr "Klán Aréna" +#: weapons.qc.tmp:1 +msgid "Rifle" +msgstr "Vadászpuskauska" -#: qcsrc/menu/xonotic/util.qc:527 -msgid "Deathmatch" -msgstr "Haláljátszma" +#: weapons.qc.tmp:2 +msgid "Machine Gun" +msgstr "Gépfegyver" -#: qcsrc/menu/xonotic/util.qc:528 -msgid "Domination" -msgstr "Uralom" +#: weapons.qc.tmp:3 +msgid "Rocket Launcher" +msgstr "Rakétavető" -#: qcsrc/menu/xonotic/util.qc:529 -msgid "Freeze Tag" -msgstr "Fagyasztás" +#: weapons.qc.tmp:4 +msgid "Port-O-Launch" +msgstr "Port-O-Launch" -#: qcsrc/menu/xonotic/util.qc:530 -msgid "Keepaway" -msgstr "Önzőség" +#: weapons.qc.tmp:5 +msgid "Grappling Hook" +msgstr "Vonóhorog" -#: qcsrc/menu/xonotic/util.qc:531 -msgid "Key Hunt" -msgstr "Kulcsvadászat" +#: weapons.qc.tmp:6 +msgid "Electro" +msgstr "Electro" -#: qcsrc/menu/xonotic/util.qc:532 -msgid "Last Man Standing" -msgstr "Csak egy maradhat" +#: weapons.qc.tmp:7 +msgid "Laser" +msgstr "Lézer" -#: qcsrc/menu/xonotic/util.qc:533 -msgid "Nexball" -msgstr "Nexball" +#: weapons.qc.tmp:8 +msgid "Shotgun" +msgstr "Puska" -#: qcsrc/menu/xonotic/util.qc:534 -msgid "Onslaught" -msgstr "Támadás" +#: weapons.qc.tmp:9 +#, c-format +msgid "@!#%'n Tuba" +msgstr "ki@!#%tt Tuba" -#: qcsrc/menu/xonotic/util.qc:535 -msgid "Race" -msgstr "Verseny" +#: weapons.qc.tmp:10 +msgid "MinstaNex" +msgstr "MinstaGib" -#: qcsrc/menu/xonotic/util.qc:536 -msgid "Race CTS" -msgstr "Ügyességi verseny" +#: weapons.qc.tmp:11 +msgid "Crylink" +msgstr "Crylink" -#: qcsrc/menu/xonotic/util.qc:537 -msgid "Runematch" -msgstr "Rúnameccs" +#: weapons.qc.tmp:12 +msgid "Heavy Laser Assault Cannon" +msgstr "Nehéz Lézer Rohamágyú" -#: qcsrc/menu/xonotic/util.qc:538 -msgid "Team Deathmatch" -msgstr "Csapat[os] öldöklés " +#: weapons.qc.tmp:13 +msgid "Mortar" +msgstr "Gránátvető" -#: qcsrc/menu/xonotic/util.qc:557 -#, c-format -msgid "@!#%'n Tuba Throwing" -msgstr "@!#%'n Tuba Dobás" +#: 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 "Alapértelmezett" +#: weapons.qc.tmp:15 +msgid "T.A.G. Seeker" +msgstr "T.A.G. Seeker" -#: qcsrc/menu/xonotic/util.qc:588 -msgid "Use default" -msgstr "Alapértékek használata" +#: weapons.qc.tmp:16 +msgid "Fireball" +msgstr "Tűzgömb" -#: qcsrc/menu/xonotic/util.qc:608 -msgid "Team Color:" -msgstr "Csapat színe:" +#: weapons.qc.tmp:17 +msgid "Mine Layer" +msgstr "Aknavető" -#: qcsrc/menu/xonotic/util.qh:47 -msgid "Enable panel" -msgstr "Panel engedélyezése" +#: weapons.qc.tmp:18 +msgid "Nex" +msgstr "Nex" -#: qcsrc/server/w_crylink.qc:2 -msgid "Crylink" -msgstr "Crylink" +#~ msgid "Waypoint settings:" +#~ msgstr "Iránypont beállítások:" -#: qcsrc/server/w_crylink.qc:666 -#, c-format -msgid "%s succeeded at self-destructing themself with the Crylink" -msgstr "%s sikeres öngyikosságot követett el Crylinkkel" +#~ msgid "" +#~ "Please answer a few initial questions to enhance the game experience." +#~ msgstr "" +#~ "A jobb játékélmény érdekében, kérlek, válaszolj pár inditó kérdésre!" -#: qcsrc/server/w_crylink.qc:671 -#, c-format -msgid "%s could not hide from %s's Crylink" -msgstr "%s nem menekülhetett %s Crylinkje elől" +#~ msgid "Accelerometer scale:" +#~ msgstr "Gyorsulásmérő beosztás:" -#: qcsrc/server/w_crylink.qc:673 -#, c-format -msgid "%s was too close to %s's Crylink" -msgstr "%s túl közel hajolt %s Crylinkjéhez" +#~ msgid "Show accelerometer" +#~ msgstr "Gyorsulásmérő mutatása" -#: qcsrc/server/w_crylink.qc:675 -#, c-format -msgid "%s took a close look at %s's Crylink" -msgstr "%s közelebbről megleste %s Crylinkjét" +#~ msgid "qu/s (hidden)" +#~ msgstr "qu/s (rejtett)" -#: qcsrc/server/w_electro.qc:2 -msgid "Electro" -msgstr "Electro" +#~ msgid "Speedometer" +#~ msgstr "Sebességmérő" -#: qcsrc/server/w_electro.qc:574 -#, c-format -msgid "%s could not remember where they put plasma" -msgstr "%s nem tudja, hogy mire való a plazma" +#, fuzzy +#~ msgid "Powerup sharpen" +#~ msgstr "Powerup élesítés" -#: qcsrc/server/w_electro.qc:576 -#, c-format -msgid "%s played with plasma" -msgstr "%s plazmával játszadozott" +#, fuzzy +#~ msgid "Damage & water blur" +#~ msgstr "Sérülés és víz elmosás" -#: qcsrc/server/w_electro.qc:583 -#, c-format -msgid "%s just noticed %s's blue ball" -msgstr "%s csak most vette észre %s kék golyóját" +#~ msgid "%s was riddled full of holes by %s" +#~ msgstr "%s -t %s szitává lyuggatta" -#: qcsrc/server/w_electro.qc:585 -#, c-format -msgid "%s got in touch with %s's blue ball" -msgstr "%s lefejelte %s kék golyóját" +#~ msgid "%s died of %s's great playing on the @!#%%'n Tuba" +#~ msgstr "%s meghalt %s nagyszerű ki@!#%%tt Tuba játékától" -#: qcsrc/server/w_electro.qc:590 -#, c-format -msgid "%s felt the electrifying air of %s's combo" -msgstr "%s felvillanyozódott %s kombójától" +#~ msgid "%s hurt his own ears with the @!#%%'n Tuba" +#~ msgstr "%s se bírta tovább a ki@!#%%tt Tuba hangját" -#: qcsrc/server/w_electro.qc:592 -#, c-format -msgid "%s got too close to %s's blue beam" -msgstr "%s túl közel került %s kék sugarához" +#~ msgid "%s was gunned by %s" +#~ msgstr "%s-t lelőtte %s" -#: qcsrc/server/w_electro.qc:594 -#, c-format -msgid "%s was blasted by %s's blue beam" -msgstr "%s megsemmisült %s kék sugarától" +#~ msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" +#~ msgstr "" +#~ "%2$s ^7úgy elverte %1$s -t ^7 a ^2puskályával, mintha ^7szívlapáttal " +#~ "csapta volna agyon" -#: qcsrc/server/w_fireball.qc:2 -#, fuzzy -msgid "Fireball" -msgstr "Tűzgolyó" +#~ msgid "%s was tagged by %s" +#~ msgstr "%s-t megjelölte %s" -#: qcsrc/server/w_fireball.qc:417 -#, c-format -msgid "%s forgot about some firemine" -msgstr "%s megfeledkezett pár gyújtóbombáról" +#~ msgid "%s ate %s's rocket" +#~ msgstr "%s megette %s rakétáját" -#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240 -#, c-format -msgid "%s should have used a smaller gun" -msgstr "%s játszott volna vízipisztollyal " +#~ msgid "%s almost dodged %s's rocket" +#~ msgstr "%s majdnem kicselezte %s rakétáját" -#: qcsrc/server/w_fireball.qc:426 -#, c-format -msgid "%s tried to catch %s's firemine" -msgstr "%s megpróbálta elkapni %s gyújtóbombáját" +#~ msgid "%s got too close to %s's rocket" +#~ msgstr "%s túl közel kerül %s rakétájához" -#: qcsrc/server/w_fireball.qc:428 -#, c-format -msgid "%s fatefully ignored %s's firemine" -msgstr "%s már tudja, hogy %s gyújtóbombájának figyelmen kívül hagyása végzetes." +#~ msgid "%s was sniped by %s" +#~ msgstr "%s -t levadászta %s" -#: qcsrc/server/w_fireball.qc:435 -#, c-format -msgid "%s could not hide from %s's fireball" -msgstr "%s nem tudott elbújni %s tűzgolyójától" +#~ msgid "%s got hit in the head by %s" +#~ msgstr "%s -t fejen találta %s" -#: qcsrc/server/w_fireball.qc:437 -#, c-format -msgid "%s saw the pretty lights of %s's fireball" -msgstr "%s látthatta %s tűzgolyójának csinos fényeit" +#~ msgid "%s failed to hide from %s's rifle" +#~ msgstr "%s -nak nem sikerült elbújnia %s puskája elöl" -#: qcsrc/server/w_fireball.qc:440 -#, c-format -msgid "%s got too close to %s's fireball" -msgstr "%s túl közel merészkedett %s tűzgolyójához" +#~ msgid "%s died in %s's bullet hail" +#~ msgstr "%s meghalt %s golyózáporában" -#: qcsrc/server/w_fireball.qc:442 -#, c-format -msgid "%s tasted %s's fireball" -msgstr "%s megízlelte %s tűzgolyóját" +#~ msgid "%s failed to hide from %s's bullet hail" +#~ msgstr "%s -nak nem sikerült elbújnia %s golyózápora elől " -#: qcsrc/server/w_grenadelauncher.qc:2 -#, fuzzy -msgid "Mortar" -msgstr "Mortar" +#~ msgid "%s sniped themself somehow" +#~ msgstr "%s valahogy levadászta saját magát" -#: qcsrc/server/w_grenadelauncher.qc:383 -#, c-format -msgid "%s tried out his own grenade" -msgstr "%s kipróbálta saját gránátját" +#~ msgid "%s shot themself automatically" +#~ msgstr "%s saját magát lőtte agyon" -#: qcsrc/server/w_grenadelauncher.qc:385 -#, fuzzy, c-format -msgid "%s detonated" -msgstr "%s felrobbant" +#~ msgid "%s felt %s doing the impossible to him" +#~ msgstr "%s érezte, hogy %s lehetetlent tett vele" -#: qcsrc/server/w_grenadelauncher.qc:391 -#, c-format -msgid "%s didn't see %s's grenade" -msgstr "%s nem látta %s gránátját" +#~ msgid "%s has been vaporized by %s" +#~ msgstr "%s -t gázzá vált %s által" -#: qcsrc/server/w_grenadelauncher.qc:393 -#, c-format -msgid "%s almost dodged %s's grenade" -msgstr "%s majdnem kicselezte %s gránátját" +#~ msgid "%s is now thinking with portals" +#~ msgstr "%s most már portálokkal mereng" -#: qcsrc/server/w_grenadelauncher.qc:395 -#, c-format -msgid "%s ate %s's grenade" -msgstr "%s bekapta %s gránátját" +#~ msgid "%s stepped on %s's mine" +#~ msgstr "%s rálépett %s aknájára" -#: qcsrc/server/w_hagar.qc:2 -msgid "Hagar" -msgstr "Hagar" +#~ msgid "%s almost dodged %s's mine" +#~ msgstr "%s majdnem elkerülte %s aknáját" -#: qcsrc/server/w_hagar.qc:395 qcsrc/server/w_seeker.qc:655 -#, c-format -msgid "%s played with tiny rockets" -msgstr "%s kis rakétákkal játszott" +#~ msgid "%s got too close to %s's mine" +#~ msgstr "%s túl közel került %s aknájához" -#: qcsrc/server/w_hagar.qc:399 -#, c-format -msgid "%s hoped %s's missiles wouldn't bounce" -msgstr "%s remélte, hogy %s rakétája nem éri el" +#~ msgid "%s exploded" +#~ msgstr "%s felrobbant" -#: qcsrc/server/w_hagar.qc:401 qcsrc/server/w_seeker.qc:661 -#, c-format -msgid "%s was pummeled by %s" -msgstr "%s -t ledarálta %s Hagarja" +#~ msgid "%s was lasered to death by %s" +#~ msgstr "%s meghalt %s lézere által" -#: qcsrc/server/w_hlac.qc:2 -msgid "Heavy Laser Assault Cannon" -msgstr "Nehéz Lézer Roham Ágyú" +#~ msgid "%s was cut in half by %s's gauntlet" +#~ msgstr "%s -t félbevágta %s kesztyűje" -#: qcsrc/server/w_hlac.qc:242 -#, c-format -msgid "%s was cut down by %s" -msgstr "%s -t feldarabolta %s" +#~ msgid "%s lasered themself to hell" +#~ msgstr "%s magán lézershowja rosszul sült el" -#: qcsrc/server/w_hook.qc:2 -#, fuzzy -msgid "Grappling Hook" -msgstr "Vonóhorog" +#~ msgid "%s has run into %s's gravity bomb" +#~ msgstr "%s beleszalad %s gravitációs bombájába" -#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296 -#, c-format -msgid "%s did the impossible" -msgstr "%s megcsinálta a lehetetlent" +#~ msgid "%s did the impossible" +#~ msgstr "%s megcsinálta a lehetetlent" -#: qcsrc/server/w_hook.qc:268 -#, c-format -msgid "%s has run into %s's gravity bomb" -msgstr "%s beleszalad %s gravitációs bombájába" +#~ msgid "%s was cut down by %s" +#~ msgstr "%s -t feldarabolta %s" -#: qcsrc/server/w_laser.qc:2 -#, fuzzy -msgid "Laser" -msgstr "Lézer" +#~ msgid "%s was pummeled by %s" +#~ msgstr "%s -t ledarálta %s Hagarja" -#: qcsrc/server/w_laser.qc:311 -#, c-format -msgid "%s lasered themself to hell" -msgstr "%s magán lézershowja rosszul sült el" +#~ msgid "%s hoped %s's missiles wouldn't bounce" +#~ msgstr "%s remélte, hogy %s rakétája nem éri el" -#: qcsrc/server/w_laser.qc:315 -#, c-format -msgid "%s was cut in half by %s's gauntlet" -msgstr "%s -t félbevágta %s kesztyűje" +#~ msgid "%s played with tiny rockets" +#~ msgstr "%s kis rakétákkal önfelgyújtósat játszott" -#: qcsrc/server/w_laser.qc:317 -#, c-format -msgid "%s was lasered to death by %s" -msgstr "%s meghalt %s lézere által" +#~ msgid "%s ate %s's grenade" +#~ msgstr "%s bekapta %s gránátját" -#: qcsrc/server/w_minelayer.qc:2 -#, fuzzy -msgid "Mine Layer" -msgstr "Aknavető" +#~ msgid "%s almost dodged %s's grenade" +#~ msgstr "%s majdnem kicselezte %s gránátját" -#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501 -#, c-format -msgid "%s exploded" -msgstr "%s felrobbant" +#~ msgid "%s didn't see %s's grenade" +#~ msgstr "%s nem látta %s gránátját" -#: qcsrc/server/w_minelayer.qc:527 -#, c-format -msgid "%s got too close to %s's mine" -msgstr "%s túl közel került %s aknájához" +#~ msgid "%s detonated" +#~ msgstr "%s felrobbant" -#: qcsrc/server/w_minelayer.qc:529 -#, c-format -msgid "%s almost dodged %s's mine" -msgstr "%s majdnem elkerülte %s aknáját" +#~ msgid "%s tried out his own grenade" +#~ msgstr "%s kipróbálta a saját gránátját" -#: qcsrc/server/w_minelayer.qc:531 -#, c-format -msgid "%s stepped on %s's mine" -msgstr "%s rálépett %s aknájára" +#~ msgid "%s tasted %s's fireball" +#~ msgstr "%s megízlelte %s tűzgolyóját" -#: qcsrc/server/w_minstanex.qc:2 -#, fuzzy -msgid "MinstaNex" -msgstr "MinstaGib" +#~ msgid "%s got too close to %s's fireball" +#~ msgstr "%s túl közel merészkedett %s tűzgolyójához" -#: 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 most már portálokkal mereng" +#~ msgid "%s saw the pretty lights of %s's fireball" +#~ msgstr "%s látthatta %s tűzgolyójának csinos fényeit" -#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:255 -#, c-format -msgid "%s has been vaporized by %s" -msgstr "%s -t gázzá vált %s által" +#~ msgid "%s could not hide from %s's fireball" +#~ msgstr "%s nem tudott elbújni %s tűzgolyója elől" -#: qcsrc/server/w_nex.qc:2 -#, fuzzy -msgid "Nex" -msgstr "Nex" +#~ msgid "%s fatefully ignored %s's firemine" +#~ msgstr "" +#~ "%s már tudja, hogy %s gyújtóbombájának figyelmen kívül hagyása végzetes " +#~ "hibának bizonyult." -#: qcsrc/server/w_porto.qc:2 -msgid "Port-O-Launch" -msgstr "Port-O-Launch" +#~ msgid "%s tried to catch %s's firemine" +#~ msgstr "%s megpróbálta elkapni %s gyújtóbombáját" -#: qcsrc/server/w_porto.qc:298 -#, c-format -msgid "%s felt %s doing the impossible to him" -msgstr "%s érezte, hogy %s lehetetlen tett vele" +#~ msgid "%s should have used a smaller gun" +#~ msgstr "%s játszott volna inkább vízipisztollyal " -#: qcsrc/server/w_rifle.qc:2 -msgid "Rifle" -msgstr "Puska" +#~ msgid "%s forgot about some firemine" +#~ msgstr "%s megfeledkezett pár gyújtóbombáról" -#: qcsrc/server/w_rifle.qc:233 -#, c-format -msgid "%s shot themself automatically" -msgstr "%s saját magát lőtte agyon" +#~ msgid "%s was blasted by %s's blue beam" +#~ msgstr "%s megsemmisült %s kék sugarától" -#: qcsrc/server/w_rifle.qc:235 -#, c-format -msgid "%s sniped themself somehow" -msgstr "%s-t levadászta saját magát valahogy" +#~ msgid "%s got too close to %s's blue beam" +#~ msgstr "%s túl közel került %s kék sugarához" -#: qcsrc/server/w_rifle.qc:242 -#, c-format -msgid "%s failed to hide from %s's bullet hail" -msgstr "%s -nak nem sikerült elbújnia %s golyózápora elől " +#~ msgid "%s felt the electrifying air of %s's combo" +#~ msgstr "%s felvillanyozódott %s kombójától" -#: qcsrc/server/w_rifle.qc:244 -#, c-format -msgid "%s died in %s's bullet hail" -msgstr "%s meghalt %s golyózáporában" +#~ msgid "%s got in touch with %s's blue ball" +#~ msgstr "%s lefejelte %s kék golyóját" -#: qcsrc/server/w_rifle.qc:251 -#, c-format -msgid "%s failed to hide from %s's rifle" -msgstr "%s -nak nem sikerült elbújnia %s puskája elöl" +#~ msgid "%s just noticed %s's blue ball" +#~ msgstr "%s csak most vette észre %s kék golyóját" -#: qcsrc/server/w_rifle.qc:256 -#, c-format -msgid "%s got hit in the head by %s" -msgstr "%s -t fejen találta %s" +#~ msgid "%s played with plasma" +#~ msgstr "%s plazmával játszadozott" -#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321 -#, c-format -msgid "%s was sniped by %s" -msgstr "%s -t levadászta %s" +#~ msgid "%s could not remember where they put plasma" +#~ msgstr "%s nem tudja, hogy mire való a plazma" -#: qcsrc/server/w_rocketlauncher.qc:2 -msgid "Rocket Launcher" -msgstr "Rakétavető" +#~ msgid "%s took a close look at %s's Crylink" +#~ msgstr "%s közelebbről megleste %s Crylinkjét" -#: qcsrc/server/w_rocketlauncher.qc:505 -#, c-format -msgid "%s got too close to %s's rocket" -msgstr "%s túl közel kerül %s rakétájához" +#~ msgid "%s was too close to %s's Crylink" +#~ msgstr "%s túl közel hajolt %s Crylinkjéhez" -#: qcsrc/server/w_rocketlauncher.qc:507 -#, c-format -msgid "%s almost dodged %s's rocket" -msgstr "%s majdnem kicselezte %s rakétáját" +#~ msgid "%s could not hide from %s's Crylink" +#~ msgstr "%s nem menekülhetett %s Crylinkje elől" -#: qcsrc/server/w_rocketlauncher.qc:509 -#, c-format -msgid "%s ate %s's rocket" -msgstr "%s megette %s rakétáját" +#~ msgid "%s succeeded at self-destructing themself with the Crylink" +#~ msgstr "%s sikeres öngyikosságot követett el a Crylinkkel" -#: qcsrc/server/w_seeker.qc:2 -msgid "T.A.G. Seeker" -msgstr "T.A.G. Seeker" +#~ msgid "Disable multithreaded OpenGL" +#~ msgstr "Többszálú OpenGL letiltása" -#: qcsrc/server/w_seeker.qc:659 -#, c-format -msgid "%s was tagged by %s" -msgstr "%s-t megjelölte %s" +#~ msgid "HTTP downloads:" +#~ msgstr "HTTP letöltéseket:" -#: qcsrc/server/w_shotgun.qc:2 -#, fuzzy -msgid "Shotgun" -msgstr "Vadászpuska" +#~ msgid "Network speed:" +#~ msgstr "Hálózat sebessége:" -#: qcsrc/server/w_shotgun.qc:219 -#, c-format -msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" -msgstr "%2$s ^7úgy elverte %1$s -t ^7 a ^2puskályával, mintha ^7szívlapáttal csapta volna agyon" +#~ msgid "Minimize input latency" +#~ msgstr "Bemeneti késleltetés minimalizása" -#: qcsrc/server/w_shotgun.qc:221 -#, c-format -msgid "%s was gunned by %s" -msgstr "%s-t lelőtte %s" +#~ msgid "Mouse filter" +#~ msgstr "Egérmozgás simítása" -#: qcsrc/server/w_tuba.qc:2 -#, fuzzy, c-format -msgid "@!#%'n Tuba" -msgstr "@!#%'n Tuba Dobás" +#~ msgid "UI mouse speed:" +#~ msgstr "Menü egér sebessége:" -#: qcsrc/server/w_tuba.qc:252 -#, c-format -msgid "%s hurt his own ears with the @!#%%'n Tuba" -msgstr "%s se bírta tovább a @!#%%'n Tuba hangját" +#~ msgid "Blur and sharpen postprocessing" +#~ msgstr "Elmosás és élesítés" -#: qcsrc/server/w_tuba.qc:256 -#, c-format -msgid "%s died of %s's great playing on the @!#%%'n Tuba" -msgstr "%s meghalt %s nagyszerű @!#%%'n Tuba játékától" +#~ msgid "High Dynamic Range (HDR)" +#~ msgstr "Magas dinamika tartomány (HDR)" -#: qcsrc/server/w_uzi.qc:2 -msgid "Machine Gun" -msgstr "Gépfegyver" +#~ msgid "Flash blend approximation" +#~ msgstr "Elnagyolt villanások" -#: qcsrc/server/w_uzi.qc:323 -#, c-format -msgid "%s was riddled full of holes by %s" -msgstr "%s -t %s szitává lyuggatta" +#~ msgid "WRN^None" +#~ msgstr "Kikapcsolva" -#, fuzzy -#~ msgid "Damage & water blur" -#~ msgstr "Sérülés és víz elmosás" +#~ msgid "RNG^Full" +#~ msgstr "RNG^Teljes pályán" -#, fuzzy -#~ msgid "Powerup sharpen" -#~ msgstr "Powerup élesítés" +#~ msgid "RNG^Long" +#~ msgstr "RNG^Távolról is" -#~ msgid "Speedometer" -#~ msgstr "Sebességmérő" +#~ msgid "RNG^Normal" +#~ msgstr "RNG^Normál" -#~ msgid "qu/s (hidden)" -#~ msgstr "qu/s (rejtett)" +#~ msgid "RNG^Short" +#~ msgstr "RNG^Közelről" -#~ msgid "Show accelerometer" -#~ msgstr "Gyorsulásmérő mutatása" +#~ msgid "RNG^Very short" +#~ msgstr "RNG^Közvetlen közelről" -#~ msgid "Accelerometer scale:" -#~ msgstr "Gyorsulásmérő beosztás:" +#~ msgid "Taunt range:" +#~ msgstr "Gúnyolódások hallhatósága:" -#~ msgid "" -#~ "Please answer a few initial questions to enhance the game experience." -#~ msgstr "" -#~ "A jobb játékélmény érdekében, kérlek, válaszolj pár inditó kérdésre!" +#~ msgid "VOCS^All" +#~ msgstr "VOCS^Minden" -#~ msgid "Waypoint settings:" -#~ msgstr "Iránypont beállítások:" +#~ msgid "VOCS^Taunts" +#~ msgstr "VOCS^Gúnyolódás" + +#~ msgid "VOCS^None" +#~ msgstr "VOCS^Nincs" + +#~ msgid "Spatial voices:" +#~ msgstr "Utasítások:" + +#~ msgid "All players" +#~ msgstr "Minden játékos" + +#~ msgid "Teammates" +#~ msgstr "Csapattársak" + +#~ msgid "Show names:" +#~ msgstr "Nevek mutatása:" + +#~ msgid "Waypoint scale:" +#~ msgstr "Iránypontok mérete:" + +#~ msgid "Waypoints setup..." +#~ msgstr "Iránypontok beállítása..." + +#~ msgid "HTST^None" +#~ msgstr "HTST^Nincs" + +#~ msgid "Size:" +#~ msgstr "Méret:" + +#~ msgid "Weapon settings..." +#~ msgstr "Fegyverzet beállítások..." + +#~ msgid "Zoom speed:" +#~ msgstr "Nagyítás sebessége:" + +#~ msgid "View bobbing:" +#~ msgstr "Fej biccenés:" + +#~ msgid "CA:" +#~ msgstr "CA:" + +#~ msgid "Ping:" +#~ msgstr "Ping:" + +#~ msgid "Gameplay:" +#~ msgstr "Játékmenet:" -#~ msgid "%d/%d" -#~ msgstr "%d/%d" +#~ msgid "%d/%d, %d free player slots" +#~ msgstr "%d/%d, %d szabad férőhely" diff --git a/menu.dat.it.po b/menu.dat.it.po index 187fa667f..90c39edb3 100644 --- a/menu.dat.it.po +++ b/menu.dat.it.po @@ -2,14 +2,14 @@ # Copyright (C) 2011 Team Xonotic # This file is distributed under the same license as the PACKAGE package. # Felice Sallustio <fel.sallustio@gmail.com>, 2011. -# Antonio 'terencehill' Piu <piuntn@gmail.com>, 2011. +# Antonio 'terencehill' Piu <piuntn@gmail.com>, 2011,2012. # msgid "" msgstr "" -"Project-Id-Version: 0.1preview\n" +"Project-Id-Version: 0.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-02 07:51+0200\n" -"PO-Revision-Date: 2011-09-04 01:40+0100\n" +"POT-Creation-Date: 2012-01-26 12:24+0100\n" +"PO-Revision-Date: 2011-02-26 20:40+0100\n" "Last-Translator: Antonio 'terencehill' Piu <piuntn@gmail.com>\n" "Language-Team: Antonio 'terencehill' Piu <piuntn@gmail.com>\n" "Language: it\n" @@ -18,33 +18,102 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Italian\n" -#: qcsrc/common/mapinfo.qc:1092 qcsrc/menu/xonotic/skinlist.c:163 +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "@!#%'n Tuba Throwing" + +#: 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 "Deathmatch" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "Last Man Standing" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Arena" + +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "Runematch" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Corsa" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "Corsa CTS" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "Team Deathmatch" + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Cattura la bandiera (CTF)" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Clan Arena" + +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Dominazione" + +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Key Hunt" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "Assalto" + +#: 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 "Keepaway" + +#: qcsrc/menu/command/menu_cmd.qc:41 #, c-format msgid "error: status is %d\n" msgstr "errore: lo stato è impostato su %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 "Uso: menu_cmd comando..., dove i possibili comandi sono:\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 - ricarica tutte le cvar sulla corrente pagina\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 OGGETTO - seleziona un oggetto come il principale\n" -#: qcsrc/menu/gamecommand.qc:193 +#: qcsrc/menu/command/menu_cmd.qc:179 msgid "error creating curl handle\n" msgstr "error creating curl handle\n" -#: 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 "" "Comando non valido. Per una lista dei comandi supportati, prova menu_cmd " @@ -75,17 +144,17 @@ msgstr "%d (%s)" msgid "custom" msgstr "personalizzato" -#: qcsrc/menu/menu.qc:29 +#: qcsrc/menu/menu.qc:37 #, c-format msgid "^4MQC Build information: ^1%s\n" msgstr "^4MQC Build information: ^1%s\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 "Livello %d: %s" @@ -116,10 +185,14 @@ msgstr "Crediti" #: 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" @@ -128,7 +201,7 @@ msgstr "OK" msgid "Welcome" msgstr "Benvenuto" -#: 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 " @@ -138,18 +211,36 @@ msgstr "" "nome come giocatore per iniziare. Puoi cambiare queste opzioni più tardi " "tramite il menu." -#: qcsrc/menu/xonotic/dialog_firstrun.c:38 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 -msgid "Text language:" -msgstr "Lingua di testo:" - -#: 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 "Nome:" -#: 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 "Lingua di testo:" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:77 +msgid "Allow player statistics to use your nickname at stats.xonotic.org?" +msgstr "" +"Consenti alle statistiche dei giocatori di usare il tuo nome (nick) in stats." +"xonotic.org?" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:81 +msgid "ALWU2N^Yes" +msgstr "Sì" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:82 +msgid "ALWU2N^No" +msgstr "No" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:83 +msgid "ALWU2N^Undecided" +msgstr "Indeciso" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:87 msgid "Save settings" msgstr "Salva impostazioni" @@ -208,7 +299,7 @@ msgid "Text alignment:" msgstr "Allineamento testo:" #: 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 "Centro" @@ -352,12 +443,12 @@ msgid "Status bar" msgstr "Barra di stato" #: 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 "Allinea a sinistra" #: 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 "Allinea a destra" @@ -374,6 +465,7 @@ msgid "Flip speed/acceleration positions" msgstr "Inverti posizioni velocità/accelerazione" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:29 msgid "Speed:" msgstr "Velocità:" @@ -465,8 +557,8 @@ msgstr "Radar:" #: 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à:" @@ -495,6 +587,7 @@ msgid "North" msgstr "Nord" #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61 msgid "Scale:" msgstr "Scala:" @@ -571,7 +664,6 @@ msgid "Fade out after:" msgstr "Dissolvi dopo:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36 msgid "Never" msgstr "Mai" @@ -586,7 +678,7 @@ msgstr "Effetto dissolvenza:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:35 msgid "EF^None" -msgstr "EF^Nessuno" +msgstr "Nessuno" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:36 msgid "Slide" @@ -598,41 +690,45 @@ msgstr "Opacità" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38 msgid "EF^Both" -msgstr "EF^Entrambi" +msgstr "Entrambi" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:42 msgid "Weapon icons:" msgstr "Icone armi:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45 +msgid "Show only owned weapons" +msgstr "Mostra solo armi possedute" + +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 msgid "Show weapon ID as:" msgstr "Mostra ID arma come:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49 msgid "SHOWAS^None" -msgstr "SHOWAS^Nessuno" +msgstr "Nessuno" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50 msgid "Number" msgstr "Numero" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 msgid "Bind" msgstr "Tasto" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54 msgid "Show Accuracy" msgstr "Mostra precisione" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 msgid "Show Ammo" msgstr "Mostra munizioni" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58 msgid "Ammo bar color:" msgstr "Colore barra munizioni:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64 msgid "Ammo bar alpha:" msgstr "Opacità barra munizioni:" @@ -644,24 +740,24 @@ msgstr "Setup del Panel HUD" msgid "Panel background defaults:" msgstr "Predefiniti dello sfondo del pannello:" -#: 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 "Sfondo:" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:25 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:37 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:52 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:578 -#: qcsrc/menu/xonotic/util.qc:594 qcsrc/menu/xonotic/util.qc:611 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:633 +#: qcsrc/menu/xonotic/util.qc:649 qcsrc/menu/xonotic/util.qc:666 msgid "Disable" msgstr "Disabilita" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:583 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:638 msgid "Color:" msgstr "Colore:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:591 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:646 msgid "Border size:" msgstr "Dimensioni bordo:" @@ -670,11 +766,11 @@ msgstr "Dimensioni bordo:" msgid "Team color:" msgstr "Colore team:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:617 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:672 msgid "Test team color in configure mode" msgstr "Prova colore team in modalità configurazione" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:620 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:675 msgid "Padding:" msgstr "Riempimento:" @@ -684,19 +780,19 @@ msgstr "Sfondo dell'HUD:" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:70 msgid "DOCK^Disabled" -msgstr "DOCK^Disabilitato" +msgstr "Disabilitato" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:71 msgid "DOCK^Small" -msgstr "DOCK^Piccolo" +msgstr "Piccolo" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:72 msgid "DOCK^Medium" -msgstr "DOCK^Medio" +msgstr "Medio" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:73 msgid "DOCK^Large" -msgstr "DOCK^Largo" +msgstr "Largo" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:96 msgid "Grid settings:" @@ -748,127 +844,123 @@ msgstr "Setup giocatore" msgid "Game type:" msgstr "Tipo di gioco:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46 -msgid "Match settings:" -msgstr "Impostazioni partita:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48 msgid "Time limit:" msgstr "Limite di tempo:" -#: 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 "Usa le impostazioni di default della mappa" -#: 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 di punteggio:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63 msgid "Player slots:" msgstr "Posti per giocatori:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66 msgid "Number of bots:" msgstr "Numero di bot:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69 msgid "Bot skill:" msgstr "Abilità bot:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72 msgid "Botlike" msgstr "\"Come un bot\"" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73 msgid "Beginner" msgstr "Principiante" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 msgid "You will win" msgstr "Vincerai" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 msgid "You can win" msgstr "Puoi vincere" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 msgid "You might win" msgstr "Potresti vincere" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 msgid "Advanced" msgstr "Avanzato" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 msgid "Expert" msgstr "Esperto" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 msgid "Pro" msgstr "Pro" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 msgid "Assassin" msgstr "Assassino" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 msgid "Unhuman" msgstr "Inumano" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 msgid "Godlike" msgstr "\"Come un Dio\"" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:88 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87 msgid "Mutators..." msgstr "Mutatori..." -#: 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 "Impostazioni avanzate..." -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103 msgid "Map list:" msgstr "Lista delle mappe:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109 msgid "Select all" msgstr "Seleziona tutto" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112 msgid "Select none" msgstr "Deseleziona tutto" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118 msgid "Start Multiplayer!" msgstr "Inizia Multiplayer!" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153 msgid "Capture limit:" msgstr "Limite catture:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157 msgid "Lives:" msgstr "Vite:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 msgid "Laps:" msgstr "Giri:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 msgid "Goals:" msgstr "Goal:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163 msgid "Frag limit:" msgstr "Limite di frag:" @@ -972,28 +1064,28 @@ msgstr "Posizionamento oggetti completo" msgid "MinstaGib only" msgstr "Solo MinstaGib" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81 msgid "Title:" msgstr "Titolo:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87 msgid "Author:" msgstr "Autore:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93 msgid "Features:" msgstr "Caratteristiche:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98 msgid "Game types:" msgstr "Tipi di gioco:" -#: 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 "Chiudi" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124 msgid "MAP^Play" msgstr "Gioca" @@ -1015,108 +1107,121 @@ msgid "%s Arena" msgstr "Arena con %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 "Schivamento" #: 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 "Volando coi razzi" -#: 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 "Proiettili invincibili" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:272 msgid "No start weapons" msgstr "Senza armi all'inizio" -#: 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 "Bassa gravità" -#: 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 "Invisibile" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86 msgid "Hook" msgstr "Hook" -#: 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 "A mezz'aria" -#: 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 "Vampiro" -#: 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 "Armi rimangono" -#: 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 "Perdita di sangue" -#: 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 "Niente powerup" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102 +msgid "Powerups" +msgstr "Powerup" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104 msgid "MUT^None" -msgstr "MUT^Nessuno" +msgstr "Nessuno" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170 msgid "Gameplay mutators:" msgstr "Mutatori di gioco:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201 msgid "Weapon & item mutators:" msgstr "Mutatori di armi ed oggetti:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204 msgid "Grappling hook" msgstr "Grappling hook" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223 msgid "Weapon arenas:" msgstr "Arene di armi:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226 msgid "Regular (no arena)" msgstr "Regolare (no arena)" -#: 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 "con laser" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255 msgid "Special arenas:" msgstr "Arene speciali:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268 msgid "Most weapons" msgstr "Maggior parte delle armi" @@ -1125,26 +1230,26 @@ msgid "Demo" msgstr "Demo" #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 -msgid "Record demos while playing" -msgstr "Registra demo durante le partite" +msgid "Automatically record demos while playing" +msgstr "Registra automaticamente i demo durante le partite" -#: 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 "Filtro:" -#: 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 "Pulisci" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45 msgid "Timedemo" msgstr "Timedemo" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48 msgid "DEMO^Play" msgstr "Riproduci" @@ -1154,17 +1259,18 @@ msgstr "Entra" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:36 msgid "SRVS^Empty" -msgstr "SRVS^Vuoti" +msgstr "Vuoti" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:40 msgid "SRVS^Full" -msgstr "SRVS^Pieni" +msgstr "Pieni" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:44 msgid "Pause" msgstr "In pausa" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 msgid "Address:" msgstr "Indirizzo:" @@ -1173,7 +1279,7 @@ msgid "Info..." 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 "Entra!" @@ -1181,309 +1287,496 @@ msgstr "Entra!" msgid "Server Information" msgstr "Informazioni del server" -#: 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/D" +msgstr "N.D." -#: 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 slot liberi" +msgid "%d/%d" +msgstr "%d/%d" + +#: 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 "Predefinito" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 #, c-format -msgid "%d modified settings" -msgstr "%d impostazioni modificate" +msgid "%d modified" +msgstr "%d modificate" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 -msgid "Official settings" -msgstr "Impostazioni ufficiali" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 +msgid "Official" +msgstr "Ufficiali" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197 -msgid "N/A (can't connect)" -msgstr "N/D (impossibile connettersi)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208 +msgid "N/A (auth library missing, can't connect)" +msgstr "N.D. (libreria di autenticazione mancante, impossibile connettersi)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205 -msgid "not supported (can't connect)" -msgstr "non supportato (impossibile connettersi)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:210 +msgid "N/A (auth library missing)" +msgstr "N.D. (libreria di autenticazione mancante)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207 -msgid "not supported (won't encrypt)" -msgstr "non supportato (non criptato)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216 +msgid "Not supported (can't connect)" +msgstr "Non supportato (impossibile connettersi)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211 -msgid "supported (will encrypt)" -msgstr "supportato (criptato)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218 +msgid "Not supported (won't encrypt)" +msgstr "Non supportato (non criptato)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213 -msgid "supported (won't encrypt)" -msgstr "supportato (non criptato)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222 +msgid "Supported (will encrypt)" +msgstr "Supportato (criptato)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217 -msgid "requested (will encrypt)" -msgstr "richiesto (criptato)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224 +msgid "Supported (won't encrypt)" +msgstr "Supportato (non criptato)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219 -msgid "requested (won't encrypt)" -msgstr "richiesto (non criptato)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228 +msgid "Requested (will encrypt)" +msgstr "Richiesto (criptato)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223 -msgid "required (can't connect)" -msgstr "richiesto (impossibile connettersi)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230 +msgid "Requested (won't encrypt)" +msgstr "Richiesto (non criptato)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225 -msgid "required (will encrypt)" -msgstr "richiesto (criptato)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234 +msgid "Required (can't connect)" +msgstr "Richiesto (impossibile connettersi)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269 -msgid "Players:" -msgstr "Giocatori:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236 +msgid "Required (will encrypt)" +msgstr "Richiesto (criptato)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254 -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38 -msgid "Type:" -msgstr "Tipo:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:256 +msgid "Hostname:" +msgstr "Nome dell'host:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270 +msgid "Gametype:" +msgstr "Tipo di gioco:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275 msgid "Map:" msgstr "Mappa:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264 -msgid "Gameplay:" -msgstr "Gameplay:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274 -msgid "Bots:" -msgstr "Bot:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280 msgid "Mod:" msgstr "Mod:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285 msgid "Version:" msgstr "Versione:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289 -msgid "Ping:" -msgstr "Ping:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290 +msgid "Settings:" +msgstr "Impostazioni:" -#: 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 "Giocatori:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301 -msgid "Key:" -msgstr "Chiave:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302 +msgid "Bots:" +msgstr "Bot:" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307 +msgid "Free slots:" +msgstr "Posti liberi:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313 msgid "Encryption:" msgstr "Crittografia:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318 +msgid "ID:" +msgstr "ID:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323 +msgid "Key:" +msgstr "Chiave:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60 +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19 msgid "Model:" msgstr "Modello:" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 -msgid "Field of view:" -msgstr "Campo di vista:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92 -msgid "View bobbing:" -msgstr "Ondeggiamento:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96 -msgid "Zoom factor:" -msgstr "Fattore zoom:" +msgid "No crosshair" +msgstr "Niente mirino" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100 -msgid "Zoom speed:" -msgstr "Velocità zoom:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90 +msgid "Per weapon crosshair" +msgstr "Mirino per singola arma" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:103 -msgid "Weapon settings..." -msgstr "Impostazioni arma..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93 +msgid "Custom crosshair" +msgstr "Mirino personalizzato" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110 -msgid "Crosshair:" -msgstr "Mirino:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:111 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 -msgid "Per weapon" -msgstr "Per singola arma" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112 msgid "Crosshair size:" msgstr "Dimensioni mirino:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:134 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117 msgid "Crosshair alpha:" msgstr "Opacità mirino:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:138 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123 msgid "Crosshair color:" msgstr "Colore mirino:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125 +msgid "Per weapon" +msgstr "Per singola arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127 msgid "By health" msgstr "In base alla vita" -#: 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 "Personalizzato" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148 -msgid "Enable center dot" -msgstr "Abilita puntino al centro" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 +msgid "Other crosshair settings" +msgstr "Altre impostazioni mirino" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151 -msgid "Size:" -msgstr "Dimensioni:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6 +msgid "Model settings" +msgstr "Impostazioni modello" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158 -msgid "Hit test:" -msgstr "Test colpi:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6 +msgid "View settings" +msgstr "Impostazioni visuale" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 -msgid "HTST^None" -msgstr "HTST^Nessuno" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 +msgid "Weapon settings" +msgstr "Impostazioni arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6 +msgid "HUD settings" +msgstr "Impostazioni HUD" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 +#: 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 "Applica immediatamente" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6 +msgid "Crosshair settings" +msgstr "Impostazioni mirino" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28 +msgid "Enable center crosshair dot" +msgstr "Abilita punto al centro del mirino" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31 +msgid "Dot size:" +msgstr "Dimensioni punto:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36 +msgid "Dot alpha:" +msgstr "Opacità punto:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41 +msgid "Dot color:" +msgstr "Colore punto:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43 +msgid "Use normal crosshair color" +msgstr "Usa colore normale del mirino" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160 -msgid "TrueAim" -msgstr "TrueAim" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54 +msgid "Crosshair animations:" +msgstr "Animazioni mirino:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161 -msgid "Enemies" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57 +msgid "Smooth effects of crosshairs" +msgstr "Ammorbidisci gli effetti dei mirini" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61 +msgid "Use rings to indicate weapon status" +msgstr "Usa anelli per indicare lo stato dell'arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67 +msgid "Hit testing:" +msgstr "Test colpo a segno:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69 +msgid "HTTST^Disabled" +msgstr "Disabilitato" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70 +msgid "HTTST^TrueAim" +msgstr "VeraMira" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71 +msgid "HTTST^Enemies" msgstr "Nemici" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164 -msgid "Waypoints setup..." -msgstr "Setup dei waypoint..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76 +msgid "Blur crosshair if the shot is obstructed" +msgstr "Sfoca il mirino se la linea di tiro è ostruita" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81 +msgid "Animate when hitting an enemy" +msgstr "Anima colpendo un nemico" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85 +msgid "Animate when picking up an item" +msgstr "Anima raccogliendo un oggetto" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40 +msgid "Damage:" +msgstr "Danno:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43 +msgid "Overlay:" +msgstr "Copertura:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47 +msgid "Factor:" +msgstr "Fattore:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:52 +msgid "Fade rate:" +msgstr "Durata dissolvenza:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:58 +msgid "Waypoints" +msgstr "Waypoint" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:71 +msgid "Edge offset:" +msgstr "Distanza dai bordi:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:80 +msgid "Show names above players" +msgstr "Mostra nomi sopra i giocatori" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83 +msgid "Only when near crosshair" +msgstr "Solo quando vicino al mirino" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86 +msgid "Display health and armor" +msgstr "Mostra vita e armatura" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4 msgid "Enter HUD editor" msgstr "Apri HUD editor" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174 -msgid "Force models:" -msgstr "Forza modelli:" +#: 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 "Per visualizzare l'editor dell'HUD, devi prima essere in gioco." -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 -msgid "MDL^None" -msgstr "MDL^Nessuno" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30 +msgid "Do you wish to start a local game to set up the HUD?" +msgstr "Desideri avviare una partita locale per configurare l'HUD?" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176 -msgid "MDL^Custom" -msgstr "MDL^Personalizzato" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33 +msgid "HDCNFRM^Yes" +msgstr "Sì" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177 -msgid "MDL^All" -msgstr "MDL^Tutti" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36 +msgid "HDCNFRM^No" +msgstr "No" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180 -msgid "Disable gore effects" -msgstr "Disabilita effetti sangue" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28 +msgid "Body fading:" +msgstr "Dissolvenza corpi:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31 msgid "Gibs:" msgstr "Gib:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33 msgid "GIBS^None" -msgstr "GIBS^Nessuno" +msgstr "Nessuno" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34 msgid "GIBS^Few" -msgstr "GIBS^Pochi" +msgstr "Pochi" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35 msgid "GIBS^Many" -msgstr "GIBS^Molti" +msgstr "Molti" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36 msgid "GIBS^Lots" -msgstr "GIBS^Parecchi" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:191 -msgid "Damage splash:" -msgstr "Schizzo del danno:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:195 -#: qcsrc/menu/xonotic/dialog_settings_audio.c:173 -#: qcsrc/menu/xonotic/dialog_settings_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 "Applica immediatamente" +msgstr "Parecchi" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5 -msgid "Waypoints" -msgstr "Waypoint" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40 +msgid "Playermodel LOD:" +msgstr "LOD per modelli giocatore:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23 -msgid "Show base waypoints" -msgstr "Mostra i waypoint della base" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44 +msgid "Force models:" +msgstr "Forza modelli:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25 -msgid "Waypoint scale:" -msgstr "Grandezza dei waypoint:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45 +msgid "MDL^None" +msgstr "Nessuno" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29 -msgid "Waypoint alpha:" -msgstr "Opacità dei waypoint" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46 +msgid "MDL^Custom" +msgstr "Personalizzato" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34 -msgid "Show names:" -msgstr "Mostra nomi:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47 +msgid "MDL^All" +msgstr "Tutti" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37 -msgid "Teammates" -msgstr "Compagni del team" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50 +msgid "Force player models to mine" +msgstr "Forza modelli giocatori come il mio" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38 -msgid "All players" -msgstr "Tutti i giocatori" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52 +msgid "Force player colors to mine" +msgstr "Forza colori giocatori come i miei" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 -msgid "Weapon settings" -msgstr "Impostazioni arma" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28 +msgid "Field of view:" +msgstr "Campo di vista:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 -msgid "Weapon priority list:" -msgstr "Lista priorità armi:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31 +msgid "Zoom:" +msgstr "Zoom:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34 -msgid "Up" -msgstr "Su" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33 +msgid "RETICLE^Fullscreen" +msgstr "Schermo intero" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37 -msgid "Down" -msgstr "Giù" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34 +msgid "RETICLE^With reticle" +msgstr "Con reticolo" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 -msgid "Use priority list for weapon cycling" -msgstr "Usa la lista di priorità per ciclare le armi" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38 +msgid "ZOOM^Factor:" +msgstr "Fattore:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43 -msgid "Auto switch weapons on pickup" -msgstr "Cambia automaticamente armi dopo raccolta" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42 +msgid "ZOOM^Speed:" +msgstr "Velocità:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:45 -msgid "Draw 1st person weapon model" -msgstr "Mostra modello arma in 1ª persona" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52 +msgid "ZOOM^Instant" +msgstr "Istantaneo" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55 -msgid "Flip view horizontally" -msgstr "Capovolgi la vista orizzontalmente" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56 +msgid "ZOOM^Sensitivity:" +msgstr "Sensibilità:" -#: qcsrc/menu/xonotic/dialog_news.c:4 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59 +msgid "Velocity zoom:" +msgstr "Zoom della velocità:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61 +msgid "VZOOM^Disabled" +msgstr "Disabilitato" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62 +msgid "VZOOM^Forward only" +msgstr "Solo in avanti" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63 +msgid "VZOOM^All directions" +msgstr "In tutte le direzioni" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67 +msgid "VZOOM^Speed" +msgstr "Velocità" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72 +msgid "Allow passing through walls while spectating" +msgstr "Consenti di passare attraverso i muri mentre si osserva" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75 +msgid "1st person perspective" +msgstr "Prospettiva in prima persona" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79 +msgid "Smooth the view when landing from a jump" +msgstr "Ammorbidisci la visuale dopo un salto" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83 +msgid "Smooth the view while crouching" +msgstr "Ammorbidisci la visuale abbassandosi" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87 +msgid "View waving while idle" +msgstr "Vista ondeggiante quando inattivo" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91 +msgid "View bobbing while walking around" +msgstr "Movimento visuale su/giù camminando" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96 +msgid "3rd person perspective" +msgstr "Prospettiva in terza persona" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100 +msgid "Back distance" +msgstr "Distanza indietro" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106 +msgid "Up distance" +msgstr "Distanza in su" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 +msgid "Weapon priority list:" +msgstr "Lista priorità armi:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33 +msgid "Up" +msgstr "Su" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36 +msgid "Down" +msgstr "Giù" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 +msgid "Use priority list for weapon cycling" +msgstr "Usa la lista di priorità per ciclare le armi" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43 +msgid "Auto switch weapons on pickup" +msgstr "Cambia automaticamente armi dopo raccolta" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46 +msgid "Draw 1st person weapon model" +msgstr "Mostra modello arma in 1ª persona" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58 +msgid "Gun model swaying" +msgstr "Oscillazione arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63 +msgid "Gun model bobbing" +msgstr "Movimento su/giù arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68 +msgid "VWMDL^Scale" +msgstr "Scala" + +#: qcsrc/menu/xonotic/dialog_news.c:4 msgid "News" msgstr "Notizie" @@ -1495,18 +1788,146 @@ msgstr "http://www.xonotic.org/team/blog/" msgid "Quit" msgstr "Esci" -#: qcsrc/menu/xonotic/dialog_quit.c:17 +#: qcsrc/menu/xonotic/dialog_quit.c:18 msgid "Are you sure you want to quit?" msgstr "Sei sicuro di voler uscire?" -#: qcsrc/menu/xonotic/dialog_quit.c:20 +#: qcsrc/menu/xonotic/dialog_quit.c:21 msgid "Yes" msgstr "Sì" -#: qcsrc/menu/xonotic/dialog_quit.c:21 +#: qcsrc/menu/xonotic/dialog_quit.c:22 msgid "No" msgstr "No" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4 +msgid "Sandbox Tools" +msgstr "Attrezzi Sandbox" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:24 +msgid "Spawn" +msgstr "Crea" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25 +msgid "Remove *" +msgstr "Rimuovi *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27 +msgid "Copy *" +msgstr "Copia *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28 +msgid "Paste" +msgstr "Incolla" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:30 +msgid "Bone:" +msgstr "Osso:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:35 +msgid "Set * as child" +msgstr "Imposta * come figlio" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36 +msgid "Attach to *" +msgstr "Attaca a *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:38 +msgid "Detach from *" +msgstr "Stacca da *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:41 +msgid "Visual object properties for *:" +msgstr "Proprietà visuali dell'oggetto per *:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:43 +msgid "Set skin:" +msgstr "Imposta skin:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45 +msgid "Set alpha:" +msgstr "Imposta opacità" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48 +msgid "Set color main:" +msgstr "Imposta colore princ.:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50 +msgid "Set color glow:" +msgstr "Imposta colore glow:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:54 +msgid "Set frame:" +msgstr "Imposta frame:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:58 +msgid "Physical object properties for *:" +msgstr "Proprietà fisiche dell'oggetto per *:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:60 +msgid "Set material:" +msgstr "Imposta materiale:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:66 +msgid "Set solidity:" +msgstr "Imposta solidità:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67 +msgid "Non-solid" +msgstr "Non-solido" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68 +msgid "Solid" +msgstr "Solido" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69 +msgid "Set physics:" +msgstr "Imposta fisica:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70 +msgid "Static" +msgstr "Statica" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71 +msgid "Movable" +msgstr "Mobile" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72 +msgid "Physical" +msgstr "Fisica" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74 +msgid "Set scale:" +msgstr "Imposta scala:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:76 +msgid "Set force:" +msgstr "Imposta forza:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:80 +msgid "Claim *" +msgstr "Reclama *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:82 +msgid "* object info" +msgstr "Info oggetto *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83 +msgid "* mesh info" +msgstr "Info mesh *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84 +msgid "* attachment info" +msgstr "Info allegato *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85 +msgid "Show help" +msgstr "Mostra aiuto" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86 +msgid "* is the object you are facing" +msgstr "* è l'oggetto di fronte a te" + #: qcsrc/menu/xonotic/dialog_settings.c:4 msgid "Settings" msgstr "Impostazioni" @@ -1532,9 +1953,9 @@ msgid "Audio" msgstr "Audio" #: qcsrc/menu/xonotic/dialog_settings.c:22 -#: qcsrc/menu/xonotic/dialog_settings_network.c:4 -msgid "Network" -msgstr "Rete" +#: qcsrc/menu/xonotic/dialog_settings_user.c:4 +msgid "User" +msgstr "Utente" #: qcsrc/menu/xonotic/dialog_settings.c:23 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4 @@ -1545,194 +1966,170 @@ msgstr "Altro" msgid "Master:" msgstr "Master:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:33 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:35 msgid "Music:" msgstr "Musica:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:41 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:45 msgid "VOL^Ambient:" -msgstr "VOL^Ambiente:" +msgstr "Ambiente:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:48 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:54 msgid "Info:" msgstr "Info:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:55 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:63 msgid "Items:" msgstr "Oggetti:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:62 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:72 msgid "Pain:" msgstr "Dolore:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:69 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:81 msgid "Player:" msgstr "Giocatore:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:76 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:90 msgid "Shots:" msgstr "Spari:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:83 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:99 msgid "Voice:" msgstr "Voce:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:91 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:109 msgid "Weapons:" msgstr "Armi:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:98 -#: qcsrc/menu/xonotic/dialog_settings_audio.c:156 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:117 +msgid "New style sound attenuation" +msgstr "Nuovo stile attenuazione del suono" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:119 +msgid "Mute sounds when not active" +msgstr "Muto quando non attivo" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:122 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:194 msgid "Frequency:" msgstr "Frequenza:" -#: 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 "Canali:" -#: 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 "Stereo" -#: 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 "Scambia canali stereo" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:148 msgid "Headphone friendly mode" msgstr "Modalità cuffie" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 -msgid "Spatial voices:" -msgstr "Voci spaziali:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:132 -msgid "VOCS^None" -msgstr "VOCS^Nessuna" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:133 -msgid "VOCS^Taunts" -msgstr "VOCS^Insulti" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 -msgid "VOCS^All" -msgstr "VOCS^Tutte" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 -msgid "Taunt range:" -msgstr "Range di insulti:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:140 -msgid "RNG^Very short" -msgstr "RNG^Molto ristretto" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:141 -msgid "RNG^Short" -msgstr "RNG^Ristretto" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:142 -msgid "RNG^Normal" -msgstr "RNG^Normale" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:143 -msgid "RNG^Long" -msgstr "RNG^Lungo" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 +msgid "Hit indication sound" +msgstr "Suono per colpo a segno" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:144 -msgid "RNG^Full" -msgstr "RNG^Pieno" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:172 +msgid "Chat message sound" +msgstr "Suono per messaggio di chat" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:151 -msgid "Automatic taunts" -msgstr "Insulti automatici" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:174 +msgid "Menu sounds" +msgstr "Suoni del menu" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:160 -msgid "Time warning:" -msgstr "Avvertimento di tempo:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:177 +msgid "Time announcer:" +msgstr "Annunciatore tempo:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:162 -msgid "WRN^None" -msgstr "WRN^Nessuno" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:179 +msgid "WRN^Disabled" +msgstr "Disabilitato" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:163 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:180 msgid "1 minute" msgstr "1 minuto" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:164 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:181 msgid "5 minutes" msgstr "5 minuti" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:165 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:182 msgid "WRN^Both" -msgstr "WNR^Entrambi" +msgstr "Entrambi" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:168 -msgid "Hit indicator" -msgstr "Indicatore di colpo" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:189 +msgid "Automatic taunts" +msgstr "Insulti automatici" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 -msgid "Menu sounds" -msgstr "Suoni del menu" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:199 +msgid "Debug info about sounds" +msgstr "Info di debug sui suoni" #: qcsrc/menu/xonotic/dialog_settings_effects.c:38 msgid "Quality preset:" @@ -1740,31 +2137,31 @@ msgstr "Preset qualità:" #: qcsrc/menu/xonotic/dialog_settings_effects.c:41 msgid "PRE^OMG!" -msgstr "PRE^Oh mio dio!" +msgstr "Oh mio dio!" #: qcsrc/menu/xonotic/dialog_settings_effects.c:42 msgid "PRE^Low" -msgstr "PRE^Bassa" +msgstr "Bassa" #: qcsrc/menu/xonotic/dialog_settings_effects.c:43 msgid "PRE^Medium" -msgstr "PRE^Media" +msgstr "Media" #: qcsrc/menu/xonotic/dialog_settings_effects.c:44 msgid "PRE^Normal" -msgstr "PRE^Normale" +msgstr "Normale" #: qcsrc/menu/xonotic/dialog_settings_effects.c:45 msgid "PRE^High" -msgstr "PRE^Alta" +msgstr "Alta" #: qcsrc/menu/xonotic/dialog_settings_effects.c:46 msgid "PRE^Ultra" -msgstr "PRE^Ultra" +msgstr "Ultra" #: qcsrc/menu/xonotic/dialog_settings_effects.c:48 msgid "PRE^Ultimate" -msgstr "PRE^Massima" +msgstr "Massima" #: qcsrc/menu/xonotic/dialog_settings_effects.c:52 msgid "Geometry detail:" @@ -1772,253 +2169,249 @@ msgstr "Dettagli geometrici:" #: qcsrc/menu/xonotic/dialog_settings_effects.c:54 msgid "DET^Lowest" -msgstr "DET^Molto bassi" +msgstr "Molto bassi" #: qcsrc/menu/xonotic/dialog_settings_effects.c:55 msgid "DET^Low" -msgstr "DET^Bassi" +msgstr "Bassi" #: qcsrc/menu/xonotic/dialog_settings_effects.c:56 msgid "DET^Normal" -msgstr "DET^Normali" +msgstr "Normali" #: qcsrc/menu/xonotic/dialog_settings_effects.c:57 msgid "DET^Good" -msgstr "DET^Buoni" +msgstr "Buoni" #: qcsrc/menu/xonotic/dialog_settings_effects.c:58 msgid "DET^Best" -msgstr "DET^Ottimi" +msgstr "Ottimi" #: qcsrc/menu/xonotic/dialog_settings_effects.c:59 msgid "DET^Insane" -msgstr "DET^Bestiali" +msgstr "Bestiali" #: qcsrc/menu/xonotic/dialog_settings_effects.c:62 -msgid "Antialiasing:" -msgstr "Antialiasing:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:64 -msgid "AA^Disabled" -msgstr "AA^Disabilitato" - -#: 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 "Risoluzione texture:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:73 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 msgid "RES^Leet" -msgstr "RES^Leet" +msgstr "Leet" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:74 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 msgid "RES^Lowest" -msgstr "RES^Molto bassa" +msgstr "Molto bassa" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:67 +msgid "RES^Very low" +msgstr "Molto bassa" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:75 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:68 msgid "RES^Low" -msgstr "RES^Bassa" +msgstr "Bassa" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:76 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:69 msgid "RES^Normal" -msgstr "RES^Normale" +msgstr "Normale" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:77 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 msgid "RES^Good" -msgstr "RES^Buona" +msgstr "Buona" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:78 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:71 msgid "RES^Best" -msgstr "RES^Ottima" +msgstr "Ottima" -#: 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 "Evita compressione texture con perdita" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 -msgid "Anisotropy:" -msgstr "Anisotropia:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:102 -msgid "ANISO^Disabled" -msgstr "ANISO^Disabilitato" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:93 +msgid "Use lightmaps" +msgstr "Usa mappe di luce" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:105 -msgid "8x" -msgstr "8x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:94 +msgid "Deluxe mapping" +msgstr "Mappaggio Deluxe" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 -msgid "16x" -msgstr "16x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:96 +msgid "Gloss" +msgstr "Lucentezza" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 -msgid "Particle quality:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 +msgid "Particles quality:" msgstr "Qualità particelle:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:113 -msgid "Particle distance:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:103 +msgid "Particles distance:" msgstr "Distanza particelle:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:117 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 +msgid "Damage effects:" +msgstr "Effetti danno:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:108 +msgid "DMGPRTCLS^Disabled" +msgstr "Disabilitati" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:109 +msgid "DMGPRTCLS^Skeletal" +msgstr "Scheletri" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 +msgid "DMGPRTCLS^All" +msgstr "Tutti" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:114 msgid "Decals" msgstr "Decal" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:118 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:115 msgid "Decals on models" msgstr "Decal sui modelli" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:122 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:119 msgid "Distance:" msgstr "Distanza:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:128 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:125 msgid "Time:" msgstr "Tempo:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 -msgid "Use lightmaps" -msgstr "Usa mappe di luce" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:135 -msgid "Deluxe mapping" -msgstr "Mappaggio Deluxe" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:137 -msgid "Gloss" -msgstr "Lucentezza" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:140 -msgid "Offset mapping" -msgstr "Mappaggio in offset" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 -msgid "Relief mapping" -msgstr "Mappaggio in rilievo" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:145 -msgid "Reflections:" -msgstr "Riflessioni:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:148 -msgid "Blurred" -msgstr "Sfocate" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 -msgid "REFL^Good" -msgstr "REFL^Buone" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:150 -msgid "Sharp" -msgstr "Nitide" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:131 +msgid "Coronas" +msgstr "Corone" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 -msgid "Show surfaces" -msgstr "Mostra superfici" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:132 +msgid "Use Occlusion Queries" +msgstr "Usa le Occlusion Queries" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 msgid "No dynamic lighting" msgstr "Nessuna illuminazione dinamica" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 -msgid "Flash blend approximation" -msgstr "Approssimazione Flash blend" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:136 +msgid "Fake corona lighting" +msgstr "Finta illuminazione corona" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:161 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:138 msgid "Realtime dynamic lighting" msgstr "Illuminazione dinamica in tempo reale" -#: 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 "Ombre" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:165 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 msgid "Realtime world lighting" msgstr "Illuminazione globale in tempo reale" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:170 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:147 msgid "Use normal maps" msgstr "Usa mappe normali" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:172 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 msgid "Soft shadows" msgstr "Ombre morbide" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:175 -msgid "Coronas" -msgstr "Corone" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:153 +msgid "Show surfaces" +msgstr "Mostra superfici" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:176 -msgid "Use Occlusion Queries" -msgstr "Usa le Occlusion Queries" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 +msgid "Offset mapping" +msgstr "Mappaggio in offset" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +msgid "Relief mapping" +msgstr "Mappaggio in rilievo" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 +msgid "LOD" +msgstr "LOD" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:178 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 msgid "Bloom" msgstr "Bloom" -#: 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 "Riflessioni:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:167 +msgid "Blurred" +msgstr "Sfocate" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:168 +msgid "REFL^Good" +msgstr "Buone" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:169 +msgid "Sharp" +msgstr "Nitide" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:184 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:174 msgid "Motion blur:" msgstr "Sfocatura movimento:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:189 -msgid "Blur and sharpen postprocessing" -msgstr "Postprocessa per sfocatura e nitidezza" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:179 +msgid "Extra postprocessing effects" +msgstr "Effetti extra di postcalcolo" #: qcsrc/menu/xonotic/dialog_settings_input.c:26 msgid "Key bindings:" msgstr "Associazione tasti (bind):" -#: qcsrc/menu/xonotic/dialog_settings_input.c:31 +#: qcsrc/menu/xonotic/dialog_settings_input.c:30 msgid "Change key..." msgstr "Cambia tasto..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:35 +#: qcsrc/menu/xonotic/dialog_settings_input.c:34 msgid "Edit..." msgstr "Modifica..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:46 -msgid "Sensitivity:" -msgstr "Sensibilità:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:45 +msgid "Pressing \"enter console\" key also closes it" +msgstr "Premendo \"apri console\" la chiude anche" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:47 +msgid "Automatically repeat jumping if holding jump" +msgstr "Automaticamente ripeti il salto tenendo premuto salto" #: qcsrc/menu/xonotic/dialog_settings_input.c:51 -msgid "UI mouse speed:" -msgstr "Velocità UI mouse:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:53 +#: qcsrc/menu/xonotic/dialog_settings_input.c:56 +msgid "Use joystick input" +msgstr "Usa joystick" -#: qcsrc/menu/xonotic/dialog_settings_input.c:55 -msgid "Mouse filter" -msgstr "Filtro mouse" +#: qcsrc/menu/xonotic/dialog_settings_input.c:61 +msgid "Mouse:" +msgstr "Mouse:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:57 -msgid "Invert mouse" -msgstr "Inverti mouse" +#: 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 "Usa joystick" +#: qcsrc/menu/xonotic/dialog_settings_input.c:68 +msgid "Smooth aiming" +msgstr "Ammorbidisci mira" -#: qcsrc/menu/xonotic/dialog_settings_input.c:65 -#: qcsrc/menu/xonotic/dialog_settings_input.c:67 -msgid "Turn off OS mouse acceleration" -msgstr "Disattiva l'accelerazione mouse dell'OS" +#: qcsrc/menu/xonotic/dialog_settings_input.c:71 +msgid "Invert aiming" +msgstr "Inverti mira" -#: qcsrc/menu/xonotic/dialog_settings_input.c:69 -msgid "\"enter console\" also closes" -msgstr "\"apri console\" chiude anche" +#: 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 "Disattiva l'accelerazione mouse del sistema" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:85 +msgid "Enable built in mouse acceleration" +msgstr "Abilita l'accelerazione mouse incorporata" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5 msgid "User defined key bind" @@ -2041,96 +2434,261 @@ msgid "Cancel" msgstr "Annulla" #: qcsrc/menu/xonotic/dialog_settings_misc.c:26 -msgid "Menu skins:" -msgstr "Temi del menu:" +msgid "Network:" +msgstr "Rete:" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:47 -msgid "Show current time" -msgstr "Mostra orario corrente" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:31 +msgid "56k" +msgstr "56k" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:49 -msgid "Show current date" -msgstr "Mostra data corrente" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:32 +msgid "ISDN" +msgstr "ISDN" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:51 -msgid "Show frames per second" -msgstr "Mostra fotogrammi al secondo" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:33 +msgid "Slow ADSL" +msgstr "ADSL lenta" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:53 -msgid "Minimize input latency" -msgstr "Minimizza latenza in entrata" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:34 +msgid "Fast ADSL" +msgstr "ADSL veloce" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 -msgid "Advanced settings" -msgstr "Impostazioni avanzate" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 +msgid "Broadband" +msgstr "Banda larga" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23 -msgid "Cvar filter:" -msgstr "Filtro delle cvar:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:39 +msgid "Input packets/s:" +msgstr "Pacchetti/s in entrata:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34 -msgid "Setting:" -msgstr "Impostazioni:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:45 +msgid "Local latency:" +msgstr "Latenza locale:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42 -msgid "Value:" -msgstr "Valore:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:50 +msgid "Client UDP port:" +msgstr "Porta UDP del client:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56 -msgid "Description:" -msgstr "Descrizione:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:55 +msgid "Show netgraph" +msgstr "Mostra grafico di rete" -#: qcsrc/menu/xonotic/dialog_settings_network.c:26 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:59 msgid "Client-side movement prediction" msgstr "Predizione del movimento lato client" -#: qcsrc/menu/xonotic/dialog_settings_network.c:30 -msgid "Show netgraph" -msgstr "Mostra grafico di rete" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +msgid "Movement error compensation" +msgstr "Compensazione errori movimento" -#: qcsrc/menu/xonotic/dialog_settings_network.c:33 -msgid "Network speed:" -msgstr "Velocità rete:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:66 +msgid "Downloads:" +msgstr "N° di download:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:35 -msgid "56k" -msgstr "56k" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:69 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:81 +msgid "Maximum:" +msgstr "Massimo:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:36 -msgid "ISDN" -msgstr "ISDN" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:73 +msgid "Speed (kB/s):" +msgstr "Velocità (kB/s):" -#: qcsrc/menu/xonotic/dialog_settings_network.c:37 -msgid "Slow ADSL" -msgstr "ADSL lenta" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:78 +msgid "Framerate:" +msgstr "Framerate:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:38 -msgid "Fast ADSL" -msgstr "ADSL veloce" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:83 +msgid "MAXFPS^5 fps" +msgstr "5 fps" -#: qcsrc/menu/xonotic/dialog_settings_network.c:39 -msgid "Broadband" -msgstr "Banda larga" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:84 +msgid "MAXFPS^10 fps" +msgstr "10 fps" -#: qcsrc/menu/xonotic/dialog_settings_network.c:42 -msgid "Input packets/s:" -msgstr "Pacchetti/s in entrata:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:85 +msgid "MAXFPS^20 fps" +msgstr "20 fps" -#: qcsrc/menu/xonotic/dialog_settings_network.c:46 -msgid "HTTP downloads:" -msgstr "Download via HTTP:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:86 +msgid "MAXFPS^30 fps" +msgstr "30 fps" -#: qcsrc/menu/xonotic/dialog_settings_network.c:49 -msgid "Downloads:" -msgstr "N° di download:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:87 +msgid "MAXFPS^40 fps" +msgstr "40 fps" -#: qcsrc/menu/xonotic/dialog_settings_network.c:53 -msgid "Speed (kB/s):" -msgstr "Velocità (kB/s):" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:88 +msgid "MAXFPS^50 fps" +msgstr "50 fps" -#: qcsrc/menu/xonotic/dialog_settings_network.c:57 -msgid "Client UDP port:" -msgstr "Porta UDP del client:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:89 +msgid "MAXFPS^60 fps" +msgstr "60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:90 +msgid "MAXFPS^70 fps" +msgstr "70 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:91 +msgid "MAXFPS^100 fps" +msgstr "100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:92 +msgid "MAXFPS^125 fps" +msgstr "125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:93 +msgid "MAXFPS^200 fps" +msgstr "200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:94 +msgid "MAXFPS^Unlimited" +msgstr "Illimitato" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:98 +msgid "Target:" +msgstr "Obiettivo:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:100 +msgid "TRGT^Disabled" +msgstr "Disabilitato" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:101 +msgid "TRGT^30 fps" +msgstr "30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:102 +msgid "TRGT^40 fps" +msgstr "40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:103 +msgid "TRGT^50 fps" +msgstr "50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:104 +msgid "TRGT^60 fps" +msgstr "60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:105 +msgid "TRGT^100 fps" +msgstr "100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:106 +msgid "TRGT^125 fps" +msgstr "125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:107 +msgid "TRGT^200 fps" +msgstr "200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:111 +msgid "Idle limit:" +msgstr "Limite inattività:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:113 +msgid "IDLFPS^10 fps" +msgstr "10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:114 +msgid "IDLFPS^20 fps" +msgstr "20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:115 +msgid "IDLFPS^30 fps" +msgstr "30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:116 +msgid "IDLFPS^60 fps" +msgstr "60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:117 +msgid "IDLFPS^Unlimited" +msgstr "Illimitato" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:122 +msgid "Show frames per second" +msgstr "Mostra fotogrammi al secondo" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:125 +msgid "Save processing time for other apps" +msgstr "Risparmia tempo di calcolo per altri programmi" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:129 +msgid "Menu tooltips:" +msgstr "Tooltip del menu:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:131 +msgid "TLTIP^Disabled" +msgstr "Disabilitati" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:132 +msgid "TLTIP^Standard" +msgstr "Standard" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:133 +msgid "TLTIP^Advanced" +msgstr "Avanzati" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:137 +msgid "Show current time" +msgstr "Mostra orario corrente" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:139 +msgid "Show current date" +msgstr "Mostra data corrente" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:141 +msgid "Enable developer mode" +msgstr "Abilita modo sviluppatore" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 +msgid "Advanced settings" +msgstr "Impostazioni avanzate" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31 +msgid "Cvar filter:" +msgstr "Filtro delle cvar:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44 +msgid "Setting:" +msgstr "Impostazioni:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:48 +msgid "Type:" +msgstr "Tipo:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:52 +msgid "Value:" +msgstr "Valore:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:68 +msgid "Description:" +msgstr "Descrizione:" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:27 +msgid "Menu skins:" +msgstr "Temi del menu:" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:31 +msgid "Set skin" +msgstr "Imposta skin" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:74 +msgid "Set language" +msgstr "Imposta lingua" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:79 +msgid "Disable gore effects and harsh language" +msgstr "Disabilita effetti sangue e linguaggio rude" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:82 +msgid "Allow player statistics to track your client" +msgstr "Consenti alle statistiche dei giocatori di tracciare il tuo client" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:84 +msgid "Allow player statistics to use your nickname" +msgstr "Consenti alle statistiche dei giocatori di usare il tuo nome (nick)" #: qcsrc/menu/xonotic/dialog_settings_video.c:26 msgid "Resolution:" @@ -2142,141 +2700,211 @@ msgstr "Dimensioni caratteri:" #: qcsrc/menu/xonotic/dialog_settings_video.c:31 msgid "SZ^Unreadable" -msgstr "SZ^Illeggibile" +msgstr "Illeggibile" #: qcsrc/menu/xonotic/dialog_settings_video.c:32 msgid "SZ^Tiny" -msgstr "SZ^Minuscolo" +msgstr "Minuscolo" #: qcsrc/menu/xonotic/dialog_settings_video.c:33 msgid "SZ^Little" -msgstr "SZ^Molto piccolo" +msgstr "Molto piccolo" #: qcsrc/menu/xonotic/dialog_settings_video.c:34 msgid "SZ^Small" -msgstr "SZ^Piccolo" +msgstr "Piccolo" #: qcsrc/menu/xonotic/dialog_settings_video.c:35 msgid "SZ^Medium" -msgstr "SZ^Medio" +msgstr "Medio" #: qcsrc/menu/xonotic/dialog_settings_video.c:36 msgid "SZ^Large" -msgstr "SZ^Largo" +msgstr "Largo" #: qcsrc/menu/xonotic/dialog_settings_video.c:37 msgid "SZ^Huge" -msgstr "SZ^Enorme" +msgstr "Enorme" #: qcsrc/menu/xonotic/dialog_settings_video.c:38 msgid "SZ^Gigantic" -msgstr "SZ^Gigante" +msgstr "Gigante" #: qcsrc/menu/xonotic/dialog_settings_video.c:39 msgid "SZ^Colossal" -msgstr "SZ^Colossale" +msgstr "Colossale" #: qcsrc/menu/xonotic/dialog_settings_video.c:42 msgid "Color depth:" msgstr "Profondità colore:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:44 +msgid "16bit" +msgstr "16bit" + #: qcsrc/menu/xonotic/dialog_settings_video.c:45 +msgid "32bit" +msgstr "32bit" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:48 msgid "Full screen" msgstr "Schermo intero" -#: qcsrc/menu/xonotic/dialog_settings_video.c:46 +#: qcsrc/menu/xonotic/dialog_settings_video.c:49 msgid "Vertical Synchronization" msgstr "Sincronizzazione verticale" -#: qcsrc/menu/xonotic/dialog_settings_video.c:49 -msgid "Use OpenGL 2.0 shaders (GLSL)" -msgstr "Usa gli shader OpenGL 2.0 (GLSL)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:53 +msgid "Anisotropy:" +msgstr "Anisotropia:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:52 -msgid "Use GLSL to handle color control" -msgstr "Usa GLSL per gestire il controllo del colore" +#: qcsrc/menu/xonotic/dialog_settings_video.c:55 +msgid "ANISO^Disabled" +msgstr "Disabilitata" #: qcsrc/menu/xonotic/dialog_settings_video.c:56 -msgid "Vertex Buffer Objects (VBOs)" -msgstr "Vertex Buffer Objects (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 "VBO^Off" +msgid "16x" +msgstr "16x" -#: qcsrc/menu/xonotic/dialog_settings_video.c:60 -msgid "Vertices, some Tris (compatible)" -msgstr "Vertici, alcuni Triangoli (compatibile)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:62 +msgid "Antialiasing:" +msgstr "Antialiasing:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:63 -msgid "Vertices" -msgstr "Vertici" +#: qcsrc/menu/xonotic/dialog_settings_video.c:65 +msgid "AA^Disabled" +msgstr "Disabilitato" -#: qcsrc/menu/xonotic/dialog_settings_video.c:64 -msgid "Vertices and Triangles" -msgstr "Vertici e Triangoli" +#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +msgid "High-quality frame buffer" +msgstr "Frame buffer di alta qualità" -#: qcsrc/menu/xonotic/dialog_settings_video.c:67 +#: qcsrc/menu/xonotic/dialog_settings_video.c:76 msgid "Depth first:" msgstr "Profondità prima:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:69 +#: qcsrc/menu/xonotic/dialog_settings_video.c:78 msgid "DF^Disabled" -msgstr "DF^Disabilitata" +msgstr "Disabilitato" -#: qcsrc/menu/xonotic/dialog_settings_video.c:70 +#: qcsrc/menu/xonotic/dialog_settings_video.c:79 msgid "DF^World" -msgstr "DF^Globale" +msgstr "Globale" -#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +#: qcsrc/menu/xonotic/dialog_settings_video.c:80 msgid "DF^All" -msgstr "DF^Tutto" +msgstr "Tutto" -#: qcsrc/menu/xonotic/dialog_settings_video.c:75 -msgid "Disable multithreaded OpenGL" -msgstr "Disabilita il multithreading OpenGL" +#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +msgid "Vertex Buffer Objects (VBOs)" +msgstr "Vertex Buffer Objects (VBOs)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:77 -msgid "Wait for GPU to finish each frame" -msgstr "Attendi che la GPU finisca di elaborare ogni frame" +#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +msgid "VBO^Off" +msgstr "Non attivo" -#: qcsrc/menu/xonotic/dialog_settings_video.c:80 +#: qcsrc/menu/xonotic/dialog_settings_video.c:87 +msgid "Vertices, some Tris (compatible)" +msgstr "Vertici, alcuni Triangoli (compatibile)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:90 +msgid "Vertices" +msgstr "Vertici" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +msgid "Vertices and Triangles" +msgstr "Vertici e Triangoli" + +#: 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 "Contrasto:" -#: 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 "Aumenta contrasto:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:96 +#: qcsrc/menu/xonotic/dialog_settings_video.c:110 msgid "Saturation:" msgstr "Saturazione:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:102 +#: qcsrc/menu/xonotic/dialog_settings_video.c:116 msgid "LIT^Ambient:" -msgstr "LIT^Ambiente:" +msgstr "Ambiente:" -#: 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 "Usa gli shader OpenGL 2.0 (GLSL)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:125 +msgid "Use GLSL to handle color control" +msgstr "Usa GLSL per gestire il controllo del colore" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:128 +msgid "Wait for GPU to finish each frame" +msgstr "Attendi che la GPU finisca di elaborare ogni frame" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:132 +msgid "Psycho coloring (easter egg)" +msgstr "Colorazione psico (easter egg)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:135 +msgid "Trippy vertices (easter egg)" +msgstr "Vertici da viaggio (easter egg)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:138 +msgid "Flip view horizontally" +msgstr "Capovolgi la vista orizzontalmente" + #: qcsrc/menu/xonotic/dialog_singleplayer.c:4 msgid "Singleplayer" msgstr "Giocatore singolo" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:127 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:116 msgid "Instant action! (random map with bots)" msgstr "Inizia ora! (mappa casuale con bot)" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:148 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:137 +msgid "Campaign Difficulty:" +msgstr "Difficoltà campagna:" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:138 +msgid "CSKL^Easy" +msgstr "Facile" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:139 +msgid "CSKL^Medium" +msgstr "Media" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:140 +msgid "CSKL^Hard" +msgstr "Difficile" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:142 msgid "Start Singleplayer!" msgstr "Inizia modalità Giocatore Singolo!" @@ -2312,22 +2940,22 @@ msgstr "rosa" msgid "spectate" msgstr "spettatore" -#: 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 "Non premere questo tasto di nuovo!" -#: 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 "" "Huh? Can't play this (m is NULL). Refiltering so this won't happen again.\n" -#: qcsrc/menu/xonotic/maplist.c:286 +#: qcsrc/menu/xonotic/maplist.c:290 #, c-format msgid "%s's Xonotic Server" msgstr "Server Xonotic di %s" -#: 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" @@ -2335,7 +2963,11 @@ msgstr "" "Huh? Can't play this (invalid game type). Refiltering so this won't happen " "again.\n" -#: qcsrc/menu/xonotic/playermodel.c:174 +#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128 +msgid "spectator" +msgstr "spettatore" + +#: qcsrc/menu/xonotic/playermodel.c:177 msgid "<no model found>" msgstr "<nessun modello trovato>" @@ -2347,23 +2979,23 @@ msgstr "Rimuovi" msgid "Bookmark" msgstr "Aggiungi tra i preferiti" -#: qcsrc/menu/xonotic/serverlist.c:527 +#: qcsrc/menu/xonotic/serverlist.c:548 msgid "Ping" msgstr "Ping" -#: qcsrc/menu/xonotic/serverlist.c:528 +#: qcsrc/menu/xonotic/serverlist.c:549 msgid "Host name" msgstr "Nome dell'host" -#: qcsrc/menu/xonotic/serverlist.c:529 +#: qcsrc/menu/xonotic/serverlist.c:550 msgid "Map" msgstr "Mappa" -#: qcsrc/menu/xonotic/serverlist.c:530 +#: qcsrc/menu/xonotic/serverlist.c:551 msgid "Type" msgstr "Tipo" -#: qcsrc/menu/xonotic/serverlist.c:531 +#: qcsrc/menu/xonotic/serverlist.c:552 msgid "Players" msgstr "Giocatori" @@ -2377,11 +3009,11 @@ msgstr "<AUTORE>" #: qcsrc/menu/xonotic/slider_decibels.c:50 msgid "VOL^OFF" -msgstr "VOL^OFF" +msgstr "OFF" #: qcsrc/menu/xonotic/slider_decibels.c:52 msgid "VOL^MAX" -msgstr "VOL^MAX" +msgstr "MAX" #: qcsrc/menu/xonotic/slider_decibels.c:53 #, c-format @@ -2393,26 +3025,26 @@ msgstr "%s dB" 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 "Ricevuta richiesta HTTP per un invalido id %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 "" "errore durante la notifica d'aggiornamento: lo stato è impostato su %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 "errore: ricevuto HTML invece di una notifica d'aggiornamento\n" -#: qcsrc/menu/xonotic/util.qc:295 +#: qcsrc/menu/xonotic/util.qc:301 msgid "error: received carriage returns from update notification server\n" msgstr "error: received carriage returns from update notification server\n" -#: qcsrc/menu/xonotic/util.qc:316 +#: qcsrc/menu/xonotic/util.qc:322 #, c-format msgid "" "Update can be downloaded at:\n" @@ -2421,21 +3053,21 @@ msgstr "" "L'aggiornamento può essere scaricato da:\n" "%s\n" -#: qcsrc/menu/xonotic/util.qc:337 +#: qcsrc/menu/xonotic/util.qc:351 msgid "Autogenerating mapinfo for newly added maps..." msgstr "Autogenerando le mapinfo per le nuove mappe..." -#: qcsrc/menu/xonotic/util.qc:367 +#: qcsrc/menu/xonotic/util.qc:381 #, c-format msgid "^1%s TEST BUILD" msgstr "^1%s TEST BUILD" -#: qcsrc/menu/xonotic/util.qc:432 +#: qcsrc/menu/xonotic/util.qc:439 #, c-format msgid "Update to %s now!" msgstr "Aggiorna a %s ora!" -#: 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" @@ -2443,446 +3075,456 @@ msgstr "" "^1ERRORE: La compressione texture è richiesta ma non supportata.\n" "^1Previsti problemi visuali.\n" -#: qcsrc/menu/xonotic/util.qc:523 -msgid "Arena" -msgstr "Arena" +#: qcsrc/menu/xonotic/util.qc:643 +msgid "Use default" +msgstr "Usa predefinito" -#: qcsrc/menu/xonotic/util.qc:524 -msgid "Assault" -msgstr "Assalto" +#: qcsrc/menu/xonotic/util.qc:663 +msgid "Team Color:" +msgstr "Colore Team:" -#: qcsrc/menu/xonotic/util.qc:525 -msgid "Capture The Flag" -msgstr "Capture The Flag" +#: qcsrc/menu/xonotic/util.qh:50 +msgid "Enable panel" +msgstr "Abilita pannello" -#: qcsrc/menu/xonotic/util.qc:526 -msgid "Clan Arena" -msgstr "Clan Arena" +#: weapons.qc.tmp:1 +msgid "Rifle" +msgstr "Rifle" -#: qcsrc/menu/xonotic/util.qc:527 -msgid "Deathmatch" -msgstr "Deathmatch" +#: weapons.qc.tmp:2 +msgid "Machine Gun" +msgstr "Machine Gun" -#: qcsrc/menu/xonotic/util.qc:528 -msgid "Domination" -msgstr "Dominazione" +#: weapons.qc.tmp:3 +msgid "Rocket Launcher" +msgstr "Rocket Launcher" -#: qcsrc/menu/xonotic/util.qc:529 -msgid "Freeze Tag" -msgstr "Freeze Tag" +#: weapons.qc.tmp:4 +msgid "Port-O-Launch" +msgstr "Port-O-Launch" -#: qcsrc/menu/xonotic/util.qc:530 -msgid "Keepaway" -msgstr "Keepaway" +#: weapons.qc.tmp:5 +msgid "Grappling Hook" +msgstr "Grappling Hook" -#: qcsrc/menu/xonotic/util.qc:531 -msgid "Key Hunt" -msgstr "Key Hunt" +#: weapons.qc.tmp:6 +msgid "Electro" +msgstr "Electro" -#: qcsrc/menu/xonotic/util.qc:532 -msgid "Last Man Standing" -msgstr "Last Man Standing" +#: 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 "Shotgun" -#: qcsrc/menu/xonotic/util.qc:534 -msgid "Onslaught" -msgstr "Onslaught" +#: weapons.qc.tmp:9 +#, c-format +msgid "@!#%'n Tuba" +msgstr "@!#%'n Tuba" -#: qcsrc/menu/xonotic/util.qc:535 -msgid "Race" -msgstr "Corsa" +#: weapons.qc.tmp:10 +msgid "MinstaNex" +msgstr "MinstaNex" -#: qcsrc/menu/xonotic/util.qc:536 -msgid "Race CTS" -msgstr "Corsa 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 "Heavy Laser Assault Cannon" -#: qcsrc/menu/xonotic/util.qc:538 -msgid "Team Deathmatch" -msgstr "Team Deathmatch" +#: weapons.qc.tmp:13 +msgid "Mortar" +msgstr "Mortar" -#: qcsrc/menu/xonotic/util.qc:557 -#, c-format -msgid "@!#%'n Tuba Throwing" -msgstr "@!#%'n Tuba Throwing" +#: 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 "Predefinito" +#: weapons.qc.tmp:15 +msgid "T.A.G. Seeker" +msgstr "T.A.G. Seeker" -#: qcsrc/menu/xonotic/util.qc:588 -msgid "Use default" -msgstr "Usa predefinito" +#: weapons.qc.tmp:16 +msgid "Fireball" +msgstr "Fireball" -#: qcsrc/menu/xonotic/util.qc:608 -msgid "Team Color:" -msgstr "Colore Team:" +#: weapons.qc.tmp:17 +msgid "Mine Layer" +msgstr "Mine Layer" -#: qcsrc/menu/xonotic/util.qh:47 -msgid "Enable panel" -msgstr "Abilita pannello" +#: weapons.qc.tmp:18 +msgid "Nex" +msgstr "Nex" -#: qcsrc/server/w_crylink.qc:2 -msgid "Crylink" -msgstr "Crylink" +#~ msgid "Match settings:" +#~ msgstr "Impostazioni partita:" -#: qcsrc/server/w_crylink.qc:666 -#, c-format -msgid "%s succeeded at self-destructing themself with the Crylink" -msgstr "%s è riuscito ad autodistruggersi col Crylink" +#~ msgid "Record demos while playing" +#~ msgstr "Registra demo durante le partite" -#: qcsrc/server/w_crylink.qc:671 -#, c-format -msgid "%s could not hide from %s's Crylink" -msgstr "%s non s'è potuto nascondere dal Crylink di %s" +#~ msgid "%d/%d, %d free player slots" +#~ msgstr "%d/%d, %d slot liberi" -#: qcsrc/server/w_crylink.qc:673 -#, c-format -msgid "%s was too close to %s's Crylink" -msgstr "%s era troppo vicino al Crylink di %s" +#~ msgid "%d modified settings" +#~ msgstr "%d impostazioni modificate" -#: qcsrc/server/w_crylink.qc:675 -#, c-format -msgid "%s took a close look at %s's Crylink" -msgstr "%s ha visto da vicino il Crylink di %s" +#~ msgid "Official settings" +#~ msgstr "Impostazioni ufficiali" -#: qcsrc/server/w_electro.qc:2 -msgid "Electro" -msgstr "Electro" +#~ msgid "N/A (can't connect)" +#~ msgstr "N/D (impossibile connettersi)" -#: qcsrc/server/w_electro.qc:574 -#, c-format -msgid "%s could not remember where they put plasma" -msgstr "%s non s'è ricordato dove aveva messo il plasma" +#~ msgid "not supported (can't connect)" +#~ msgstr "non supportato (impossibile connettersi)" -#: qcsrc/server/w_electro.qc:576 -#, c-format -msgid "%s played with plasma" -msgstr "%s ha giocato col plasma" +#~ msgid "not supported (won't encrypt)" +#~ msgstr "non supportato (non criptato)" -#: qcsrc/server/w_electro.qc:583 -#, c-format -msgid "%s just noticed %s's blue ball" -msgstr "%s ha appena notato la palla blu di %s" +#~ msgid "supported (will encrypt)" +#~ msgstr "supportato (criptato)" -#: qcsrc/server/w_electro.qc:585 -#, c-format -msgid "%s got in touch with %s's blue ball" -msgstr "%s è entrato in contatto con la palla blu di %s" +#~ msgid "supported (won't encrypt)" +#~ msgstr "supportato (non criptato)" -#: qcsrc/server/w_electro.qc:590 -#, c-format -msgid "%s felt the electrifying air of %s's combo" -msgstr "%s ha sentito l'aria elettrificata della combo di %s" +#~ msgid "requested (will encrypt)" +#~ msgstr "richiesto (criptato)" -#: qcsrc/server/w_electro.qc:592 -#, c-format -msgid "%s got too close to %s's blue beam" -msgstr "%s s'è avvicinato troppo al raggio blu di %s" +#~ msgid "requested (won't encrypt)" +#~ msgstr "richiesto (non criptato)" -#: qcsrc/server/w_electro.qc:594 -#, c-format -msgid "%s was blasted by %s's blue beam" -msgstr "%s è stato fatto saltare in aria dal raggio blu di %s" +#~ msgid "required (can't connect)" +#~ msgstr "richiesto (impossibile connettersi)" -#: qcsrc/server/w_fireball.qc:2 -msgid "Fireball" -msgstr "Fireball" +#~ msgid "required (will encrypt)" +#~ msgstr "richiesto (criptato)" -#: qcsrc/server/w_fireball.qc:417 -#, c-format -msgid "%s forgot about some firemine" -msgstr "%s s'è dimenticato di alcune mine infuocate" +#~ msgid "Gameplay:" +#~ msgstr "Gameplay:" -#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240 -#, c-format -msgid "%s should have used a smaller gun" -msgstr "%s avrebbe dovuto usare un'arma più piccola" +#~ msgid "Ping:" +#~ msgstr "Ping:" -#: qcsrc/server/w_fireball.qc:426 -#, c-format -msgid "%s tried to catch %s's firemine" -msgstr "%s ha provato a catturare la mina infuocata di %s" +#~ msgid "CA:" +#~ msgstr "CA:" -#: qcsrc/server/w_fireball.qc:428 -#, c-format -msgid "%s fatefully ignored %s's firemine" -msgstr "%s ha fatalmente ignorato la mina infuocata di %s" +#~ msgid "View bobbing:" +#~ msgstr "Ondeggiamento:" -#: qcsrc/server/w_fireball.qc:435 -#, c-format -msgid "%s could not hide from %s's fireball" -msgstr "%s non è riuscito a nascondersi dalla fireball di %s" +#~ msgid "Zoom factor:" +#~ msgstr "Fattore zoom:" -#: qcsrc/server/w_fireball.qc:437 -#, c-format -msgid "%s saw the pretty lights of %s's fireball" -msgstr "%s ha visto le belle luci della fireball di %s" +#~ msgid "Zoom speed:" +#~ msgstr "Velocità zoom:" -#: qcsrc/server/w_fireball.qc:440 -#, c-format -msgid "%s got too close to %s's fireball" -msgstr "%s s'è avvicinato troppo alla fireball di %s" +#~ msgid "Weapon settings..." +#~ msgstr "Impostazioni arma..." -#: qcsrc/server/w_fireball.qc:442 -#, c-format -msgid "%s tasted %s's fireball" -msgstr "%s ha assaggiato la fireball di %s" +#~ msgid "Crosshair:" +#~ msgstr "Mirino:" -#: qcsrc/server/w_grenadelauncher.qc:2 -msgid "Mortar" -msgstr "Mortar" +#~ msgid "Enable center dot" +#~ msgstr "Abilita puntino al centro" -#: qcsrc/server/w_grenadelauncher.qc:383 -#, c-format -msgid "%s tried out his own grenade" -msgstr "%s ha provato da solo la propria granata" +#~ msgid "Size:" +#~ msgstr "Dimensioni:" -#: qcsrc/server/w_grenadelauncher.qc:385 -#, c-format -msgid "%s detonated" -msgstr "%s è detonato" +#~ msgid "Hit test:" +#~ msgstr "Test colpi:" -#: qcsrc/server/w_grenadelauncher.qc:391 -#, c-format -msgid "%s didn't see %s's grenade" -msgstr "%s non ha visto la granata di %s" +#~ msgid "HTST^None" +#~ msgstr "HTST^Nessuno" -#: qcsrc/server/w_grenadelauncher.qc:393 -#, c-format -msgid "%s almost dodged %s's grenade" -msgstr "%s ha quasi schivato la granata di %s" +#~ msgid "TrueAim" +#~ msgstr "TrueAim" -#: qcsrc/server/w_grenadelauncher.qc:395 -#, c-format -msgid "%s ate %s's grenade" -msgstr "%s ha mangiato la granata di %s" +#~ msgid "Enemies" +#~ msgstr "Nemici" -#: qcsrc/server/w_hagar.qc:2 -msgid "Hagar" -msgstr "Hagar" +#~ msgid "Waypoints setup..." +#~ msgstr "Setup dei waypoint..." -#: qcsrc/server/w_hagar.qc:395 qcsrc/server/w_seeker.qc:655 -#, c-format -msgid "%s played with tiny rockets" -msgstr "%s ha giocato con piccoli razzi" +#~ msgid "Disable gore effects" +#~ msgstr "Disabilita effetti sangue" -#: qcsrc/server/w_hagar.qc:399 -#, c-format -msgid "%s hoped %s's missiles wouldn't bounce" -msgstr "%s ha sperato che i missili di %s non rimbalzassero" +#~ msgid "Damage splash:" +#~ msgstr "Schizzo del danno:" -#: qcsrc/server/w_hagar.qc:401 qcsrc/server/w_seeker.qc:661 -#, c-format -msgid "%s was pummeled by %s" -msgstr "%s è stato preso a pugni da %s" +#~ msgid "Show base waypoints" +#~ msgstr "Mostra i waypoint della base" -#: qcsrc/server/w_hlac.qc:2 -msgid "Heavy Laser Assault Cannon" -msgstr "Heavy Laser Assault Cannon" +#~ msgid "Waypoint scale:" +#~ msgstr "Grandezza dei waypoint:" -#: qcsrc/server/w_hlac.qc:242 -#, c-format -msgid "%s was cut down by %s" -msgstr "%s è stato abbattuto da %s" +#~ msgid "Waypoint alpha:" +#~ msgstr "Opacità dei waypoint" -#: qcsrc/server/w_hook.qc:2 -msgid "Grappling Hook" -msgstr "Grappling Hook" +#~ msgid "Show names:" +#~ msgstr "Mostra nomi:" -#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296 -#, c-format -msgid "%s did the impossible" -msgstr "%s ha fatto l'impossibile" +#~ msgid "Teammates" +#~ msgstr "Compagni del team" -#: qcsrc/server/w_hook.qc:268 -#, c-format -msgid "%s has run into %s's gravity bomb" -msgstr "%s si è imbattuto nella bomba di gravità di %s" +#~ msgid "All players" +#~ msgstr "Tutti i giocatori" -#: qcsrc/server/w_laser.qc:2 -msgid "Laser" -msgstr "Laser" +#~ msgid "Network" +#~ msgstr "Rete" -#: qcsrc/server/w_laser.qc:311 -#, c-format -msgid "%s lasered themself to hell" -msgstr "%s si è \"laserato\" all'inferno" +#~ msgid "Spatial voices:" +#~ msgstr "Voci spaziali:" -#: qcsrc/server/w_laser.qc:315 -#, c-format -msgid "%s was cut in half by %s's gauntlet" -msgstr "%s è stato tagliato a metà dal guanto di %s" +#~ msgid "VOCS^None" +#~ msgstr "VOCS^Nessuna" -#: qcsrc/server/w_laser.qc:317 -#, c-format -msgid "%s was lasered to death by %s" -msgstr "%s è stato \"laserato\" a morte da %s" +#~ msgid "VOCS^Taunts" +#~ msgstr "VOCS^Insulti" -#: qcsrc/server/w_minelayer.qc:2 -msgid "Mine Layer" -msgstr "Mine Layer" +#~ msgid "VOCS^All" +#~ msgstr "VOCS^Tutte" -#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501 -#, c-format -msgid "%s exploded" -msgstr "%s è esploso" +#~ msgid "Taunt range:" +#~ msgstr "Range di insulti:" -#: qcsrc/server/w_minelayer.qc:527 -#, c-format -msgid "%s got too close to %s's mine" -msgstr "%s s'è avvicinato troppo alla mina di %s" +#~ msgid "RNG^Very short" +#~ msgstr "RNG^Molto ristretto" -#: qcsrc/server/w_minelayer.qc:529 -#, c-format -msgid "%s almost dodged %s's mine" -msgstr "%s ha quasi schivato la mina di %s" +#~ msgid "RNG^Short" +#~ msgstr "RNG^Ristretto" -#: qcsrc/server/w_minelayer.qc:531 -#, c-format -msgid "%s stepped on %s's mine" -msgstr "%s è passato sopra la mina di %s" +#~ msgid "RNG^Normal" +#~ msgstr "RNG^Normale" -#: qcsrc/server/w_minstanex.qc:2 -msgid "MinstaNex" -msgstr "MinstaNex" +#~ msgid "RNG^Long" +#~ msgstr "RNG^Lungo" -#: 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 sta ora pensando con i portali" +#~ msgid "RNG^Full" +#~ msgstr "RNG^Pieno" -#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:255 -#, c-format -msgid "%s has been vaporized by %s" -msgstr "%s è stato vaporizzato da %s" +#~ msgid "Time warning:" +#~ msgstr "Avvertimento di tempo:" -#: qcsrc/server/w_nex.qc:2 -msgid "Nex" -msgstr "Nex" +#~ msgid "WRN^None" +#~ msgstr "WRN^Nessuno" -#: qcsrc/server/w_porto.qc:2 -msgid "Port-O-Launch" -msgstr "Port-O-Launch" +#~ msgid "Hit indicator" +#~ msgstr "Indicatore di colpo" -#: qcsrc/server/w_porto.qc:298 -#, c-format -msgid "%s felt %s doing the impossible to him" -msgstr "%s ha sentito %s fargli l'impossibile" +#~ msgid "Particle quality:" +#~ msgstr "Qualità particelle:" -#: qcsrc/server/w_rifle.qc:2 -msgid "Rifle" -msgstr "Fucile" +#~ msgid "Particle distance:" +#~ msgstr "Distanza particelle:" -#: qcsrc/server/w_rifle.qc:233 -#, c-format -msgid "%s shot themself automatically" -msgstr "%s si è sparato da solo automaticamente" +#~ msgid "Flash blend approximation" +#~ msgstr "Approssimazione Flash blend" -#: qcsrc/server/w_rifle.qc:235 -#, c-format -msgid "%s sniped themself somehow" -msgstr "%s si è fucilato da solo in qualche modo" +#~ msgid "High Dynamic Range (HDR)" +#~ msgstr "High Dynamic Range (HDR)" -#: qcsrc/server/w_rifle.qc:242 -#, c-format -msgid "%s failed to hide from %s's bullet hail" -msgstr "%s non è riuscito a nascondersi dalla raffica di proiettili di %s" +#~ msgid "Blur and sharpen postprocessing" +#~ msgstr "Postprocessa per sfocatura e nitidezza" -#: qcsrc/server/w_rifle.qc:244 -#, c-format -msgid "%s died in %s's bullet hail" -msgstr "%s è morto nella raffica di proiettili di %s" +#~ msgid "UI mouse speed:" +#~ msgstr "Velocità UI mouse:" -#: qcsrc/server/w_rifle.qc:251 -#, c-format -msgid "%s failed to hide from %s's rifle" -msgstr "%s non è riuscito a nascondersi dal fucile di %s" +#~ msgid "Mouse filter" +#~ msgstr "Filtro mouse" -#: qcsrc/server/w_rifle.qc:256 -#, c-format -msgid "%s got hit in the head by %s" -msgstr "%s ha preso un colpo in testa da %s" +#~ msgid "Invert mouse" +#~ msgstr "Inverti mouse" -#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321 -#, c-format -msgid "%s was sniped by %s" -msgstr "%s è stato fucilato da %s" +#~ msgid "Turn off OS mouse acceleration" +#~ msgstr "Disattiva l'accelerazione mouse dell'OS" -#: qcsrc/server/w_rocketlauncher.qc:2 -msgid "Rocket Launcher" -msgstr "Rocket Launcher" +#~ msgid "\"enter console\" also closes" +#~ msgstr "\"apri console\" chiude anche" -#: qcsrc/server/w_rocketlauncher.qc:505 -#, c-format -msgid "%s got too close to %s's rocket" -msgstr "%s s'è avvicinato troppo al razzo di %s" +#~ msgid "Minimize input latency" +#~ msgstr "Minimizza latenza in entrata" -#: qcsrc/server/w_rocketlauncher.qc:507 -#, c-format -msgid "%s almost dodged %s's rocket" -msgstr "%s ha quasi schivato il razzo di %s" +#~ msgid "Network speed:" +#~ msgstr "Velocità rete:" -#: qcsrc/server/w_rocketlauncher.qc:509 -#, c-format -msgid "%s ate %s's rocket" -msgstr "%s ha mangiato il razzo di %s" +#~ msgid "HTTP downloads:" +#~ msgstr "Download via HTTP:" -#: qcsrc/server/w_seeker.qc:2 -msgid "T.A.G. Seeker" -msgstr "T.A.G. Seeker" +#~ msgid "Disable multithreaded OpenGL" +#~ msgstr "Disabilita il multithreading OpenGL" -#: qcsrc/server/w_seeker.qc:659 -#, c-format -msgid "%s was tagged by %s" -msgstr "%s è stato contrassegnato da %s" +#~ msgid "Capture The Flag" +#~ msgstr "Capture The Flag" -#: qcsrc/server/w_shotgun.qc:2 -msgid "Shotgun" -msgstr "Shotgun" +#~ msgid "%s succeeded at self-destructing themself with the Crylink" +#~ msgstr "%s è riuscito ad autodistruggersi col Crylink" -#: qcsrc/server/w_shotgun.qc:219 -#, c-format -msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" -msgstr "%2$s ^7ha schiaffeggiato %1$s ^7un pò con un grosso ^2shotgun" +#~ msgid "%s could not hide from %s's Crylink" +#~ msgstr "%s non s'è potuto nascondere dal Crylink di %s" -#: qcsrc/server/w_shotgun.qc:221 -#, c-format -msgid "%s was gunned by %s" -msgstr "%s è stato sparato da %s" +#~ msgid "%s was too close to %s's Crylink" +#~ msgstr "%s era troppo vicino al Crylink di %s" -#: qcsrc/server/w_tuba.qc:2 -#, c-format -msgid "@!#%'n Tuba" -msgstr "@!#%'n Tuba" +#~ msgid "%s took a close look at %s's Crylink" +#~ msgstr "%s ha visto da vicino il Crylink di %s" -#: qcsrc/server/w_tuba.qc:252 -#, c-format -msgid "%s hurt his own ears with the @!#%%'n Tuba" -msgstr "%s s'è fatto male alle orecchie con la @!#%%'n Tuba" +#~ msgid "%s could not remember where they put plasma" +#~ msgstr "%s non s'è ricordato dove aveva messo il plasma" -#: qcsrc/server/w_tuba.qc:256 -#, c-format -msgid "%s died of %s's great playing on the @!#%%'n Tuba" -msgstr "%s è morto nella gran esibizione di %s con la @!#%%'n Tuba" +#~ msgid "%s played with plasma" +#~ msgstr "%s ha giocato col plasma" -#: qcsrc/server/w_uzi.qc:2 -msgid "Machine Gun" -msgstr "Machine Gun" +#~ msgid "%s just noticed %s's blue ball" +#~ msgstr "%s ha appena notato la palla blu di %s" -#: qcsrc/server/w_uzi.qc:323 -#, c-format -msgid "%s was riddled full of holes by %s" -msgstr "%s è stato riempito di buchi da %s" +#~ msgid "%s got in touch with %s's blue ball" +#~ msgstr "%s è entrato in contatto con la palla blu di %s" + +#~ msgid "%s felt the electrifying air of %s's combo" +#~ msgstr "%s ha sentito l'aria elettrificata della combo di %s" + +#~ msgid "%s got too close to %s's blue beam" +#~ msgstr "%s s'è avvicinato troppo al raggio blu di %s" + +#~ msgid "%s was blasted by %s's blue beam" +#~ msgstr "%s è stato fatto saltare in aria dal raggio blu di %s" + +#~ msgid "%s forgot about some firemine" +#~ msgstr "%s s'è dimenticato di alcune mine infuocate" + +#~ msgid "%s should have used a smaller gun" +#~ msgstr "%s avrebbe dovuto usare un'arma più piccola" + +#~ msgid "%s tried to catch %s's firemine" +#~ msgstr "%s ha provato a catturare la mina infuocata di %s" + +#~ msgid "%s fatefully ignored %s's firemine" +#~ msgstr "%s ha fatalmente ignorato la mina infuocata di %s" + +#~ msgid "%s could not hide from %s's fireball" +#~ msgstr "%s non è riuscito a nascondersi dalla fireball di %s" + +#~ msgid "%s saw the pretty lights of %s's fireball" +#~ msgstr "%s ha visto le belle luci della fireball di %s" + +#~ msgid "%s got too close to %s's fireball" +#~ msgstr "%s s'è avvicinato troppo alla fireball di %s" + +#~ msgid "%s tasted %s's fireball" +#~ msgstr "%s ha assaggiato la fireball di %s" + +#~ msgid "%s tried out his own grenade" +#~ msgstr "%s ha provato da solo la propria granata" + +#~ msgid "%s detonated" +#~ msgstr "%s è detonato" + +#~ msgid "%s didn't see %s's grenade" +#~ msgstr "%s non ha visto la granata di %s" + +#~ msgid "%s almost dodged %s's grenade" +#~ msgstr "%s ha quasi schivato la granata di %s" + +#~ msgid "%s ate %s's grenade" +#~ msgstr "%s ha mangiato la granata di %s" + +#~ msgid "%s played with tiny rockets" +#~ msgstr "%s ha giocato con piccoli razzi" + +#~ msgid "%s hoped %s's missiles wouldn't bounce" +#~ msgstr "%s ha sperato che i missili di %s non rimbalzassero" + +#~ msgid "%s was pummeled by %s" +#~ msgstr "%s è stato preso a pugni da %s" + +#~ msgid "%s was cut down by %s" +#~ msgstr "%s è stato abbattuto da %s" + +#~ msgid "%s did the impossible" +#~ msgstr "%s ha fatto l'impossibile" + +#~ msgid "%s has run into %s's gravity bomb" +#~ msgstr "%s si è imbattuto nella bomba di gravità di %s" + +#~ msgid "%s lasered themself to hell" +#~ msgstr "%s si è \"laserato\" all'inferno" + +#~ msgid "%s was cut in half by %s's gauntlet" +#~ msgstr "%s è stato tagliato a metà dal guanto di %s" + +#~ msgid "%s was lasered to death by %s" +#~ msgstr "%s è stato \"laserato\" a morte da %s" + +#~ msgid "%s exploded" +#~ msgstr "%s è esploso" + +#~ msgid "%s got too close to %s's mine" +#~ msgstr "%s s'è avvicinato troppo alla mina di %s" + +#~ msgid "%s almost dodged %s's mine" +#~ msgstr "%s ha quasi schivato la mina di %s" + +#~ msgid "%s stepped on %s's mine" +#~ msgstr "%s è passato sopra la mina di %s" + +#~ msgid "%s is now thinking with portals" +#~ msgstr "%s sta ora pensando con i portali" + +#~ msgid "%s has been vaporized by %s" +#~ msgstr "%s è stato vaporizzato da %s" + +#~ msgid "%s felt %s doing the impossible to him" +#~ msgstr "%s ha sentito %s fargli l'impossibile" + +#~ msgid "%s shot themself automatically" +#~ msgstr "%s si è sparato da solo automaticamente" + +#~ msgid "%s sniped themself somehow" +#~ msgstr "%s si è fucilato da solo in qualche modo" + +#~ msgid "%s failed to hide from %s's bullet hail" +#~ msgstr "%s non è riuscito a nascondersi dalla raffica di proiettili di %s" + +#~ msgid "%s died in %s's bullet hail" +#~ msgstr "%s è morto nella raffica di proiettili di %s" + +#~ msgid "%s failed to hide from %s's rifle" +#~ msgstr "%s non è riuscito a nascondersi dal fucile di %s" + +#~ msgid "%s got hit in the head by %s" +#~ msgstr "%s ha preso un colpo in testa da %s" + +#~ msgid "%s was sniped by %s" +#~ msgstr "%s è stato fucilato da %s" + +#~ msgid "%s got too close to %s's rocket" +#~ msgstr "%s s'è avvicinato troppo al razzo di %s" + +#~ msgid "%s almost dodged %s's rocket" +#~ msgstr "%s ha quasi schivato il razzo di %s" + +#~ msgid "%s ate %s's rocket" +#~ msgstr "%s ha mangiato il razzo di %s" + +#~ msgid "%s was tagged by %s" +#~ msgstr "%s è stato contrassegnato da %s" + +#~ msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" +#~ msgstr "%2$s ^7ha schiaffeggiato %1$s ^7un pò con un grosso ^2shotgun" + +#~ msgid "%s was gunned by %s" +#~ msgstr "%s è stato sparato da %s" + +#~ msgid "%s hurt his own ears with the @!#%%'n Tuba" +#~ msgstr "%s s'è fatto male alle orecchie con la @!#%%'n Tuba" + +#~ msgid "%s died of %s's great playing on the @!#%%'n Tuba" +#~ msgstr "%s è morto nella gran esibizione di %s con la @!#%%'n Tuba" + +#~ msgid "%s was riddled full of holes by %s" +#~ msgstr "%s è stato riempito di buchi da %s" #~ msgid "Damage & water blur" #~ msgstr "Sfocatura da danno & acqua:" @@ -2899,9 +3541,6 @@ msgstr "%s è stato riempito di buchi da %s" #~ "Per favore rispondi a poche domande iniziali per migliorare l'esperienza " #~ "di gioco." -#~ msgid "%d/%d" -#~ msgstr "%d/%d" - #~ msgid "Sniper Rifle" #~ msgstr "Sniper Rifle" diff --git a/menu.dat.nl.po b/menu.dat.nl.po index 0e2fb6810..cf326b05a 100644 --- a/menu.dat.nl.po +++ b/menu.dat.nl.po @@ -8,42 +8,111 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-02 07:51+0200\n" +"POT-Creation-Date: 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" -"Language: \n" +"Language-Team: Merlijn Hofstra <mhofstra@gmail.com>\n" +"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: qcsrc/common/mapinfo.qc:1092 qcsrc/menu/xonotic/skinlist.c:163 +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "@!#%'n Tuba Smijten" + +#: 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 "Deathmatch" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "Last Man Standing" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Arena" + +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "Runematch" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Race" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "Race CTS" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "Team Deathmatch" + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Capture The Flag" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Clan Arena" + +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Domination" + +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Key Hunt" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "Assault" + +#: 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 "Keepaway" + +#: qcsrc/menu/command/menu_cmd.qc:41 #, c-format msgid "error: status is %d\n" msgstr "error: status is %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 "Gebruik: menu_cmd command..., waar mogelijke opdrachten zijn:\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 - alle cvars op de huidige menupagina worden opnieuw geladen\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 ITEM - selecteer deel van menu als hoofddeel" -#: qcsrc/menu/gamecommand.qc:193 +#: qcsrc/menu/command/menu_cmd.qc:179 msgid "error creating curl handle\n" msgstr "fout bij aanmaken curl handgreep\n" -#: 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 "" "Ongeldige opdracht. Voor een lijst met ondersteunde opdrachten, probeer " @@ -74,17 +143,17 @@ msgstr "%d (%s)" msgid "custom" msgstr "aangepast" -#: qcsrc/menu/menu.qc:29 -#, fuzzy, c-format +#: qcsrc/menu/menu.qc:37 +#, c-format msgid "^4MQC Build information: ^1%s\n" msgstr "^4MQC Versie informatie: %s\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 "Level %d: %s" @@ -115,10 +184,14 @@ msgstr "Aftiteling" #: 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" @@ -127,25 +200,44 @@ msgstr "OK" msgid "Welcome" msgstr "Welkom" -#: 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 " "menu system." msgstr "" +"Welkom bij Xonotic, selecteer de gewenste taal en stel je naam in bij het " +"speler menu. Deze instellingen kun je later wijzigen in het menu systeem" -#: qcsrc/menu/xonotic/dialog_firstrun.c:38 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 -msgid "Text language:" -msgstr "Taal van de tekst:" - -#: 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 "Naam:" -#: 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 "Taal van de tekst:" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:77 +msgid "Allow player statistics to use your nickname at stats.xonotic.org?" +msgstr "" +"Sta toe dat speler statistieken uw nickname gebruiken op stats.xonotic.org?" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:81 +msgid "ALWU2N^Yes" +msgstr "Ja" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:82 +msgid "ALWU2N^No" +msgstr "Nee" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:83 +msgid "ALWU2N^Undecided" +msgstr "Geen idee" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:87 msgid "Save settings" msgstr "Opslaginstellingen:" @@ -163,7 +255,7 @@ msgstr "Laat alleen huidig ammunitietype zien" #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:28 msgid "Align icon:" -msgstr "" +msgstr "Icoon uitlijning:" #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:36 @@ -185,37 +277,32 @@ msgstr "Rechts" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4 msgid "Centerprint" -msgstr "" +msgstr "Centerprint" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:23 -#, fuzzy msgid "Message duration:" -msgstr "Verzadiging:" +msgstr "Bericht lengte:" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:27 -#, fuzzy msgid "Fade time:" -msgstr "Post vervaagtijd:" +msgstr "Vervaagtijd:" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:31 -#, fuzzy msgid "Flip messages order" -msgstr "Notificatievolgorde omdraaien" +msgstr "Berichtvolgorde omdraaien" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:33 -#, fuzzy msgid "Text alignment:" -msgstr "Icoon positie:" +msgstr "Text positie:" #: 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 "" +msgstr "Gecentreerd" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:41 -#, fuzzy msgid "Font scale:" -msgstr "Wegwijzer schaal:" +msgstr "Lettertype schaal:" #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4 msgid "Chat Panel" @@ -327,9 +414,8 @@ msgid "Entry fadetime:" msgstr "Post vervaagtijd:" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4 -#, fuzzy msgid "Physics Panel" -msgstr "Chat Paneel" +msgstr "Physics Paneel" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:22 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:21 @@ -338,62 +424,55 @@ msgid "Panel disabled" msgstr "Paneel uitgeschakeld" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23 -#, fuzzy msgid "Panel enabled" -msgstr "Paneel uitgeschakeld" +msgstr "Paneel ingeschakeld" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24 -#, fuzzy msgid "Panel enabled even observing" msgstr "Paneel activeren tijdens observeren" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25 -#, fuzzy msgid "Panel enabled only in Race/CTS" -msgstr "Paneel actief in teammodus" +msgstr "Paneel alleen actief in Race/CTS" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:31 -#, fuzzy msgid "Status bar" -msgstr "Activeer status balk" +msgstr "Status balk" #: 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 "Links" #: 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 "Rechts" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35 -#, fuzzy msgid "Inward align" msgstr "Binnenkant" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36 -#, fuzzy msgid "Outward align" msgstr "Buitenkant" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:40 -#, fuzzy msgid "Flip speed/acceleration positions" -msgstr "Keer health en armor posities om" +msgstr "Keer snelheid/acceleratie posities om" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_settings_misc.c:29 msgid "Speed:" -msgstr "Snelheid (kB/s):" +msgstr "Snelheid:" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45 msgid "Include vertical speed" -msgstr "" +msgstr "Inclusief verticale snelheid" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:56 msgid "Speed unit:" -msgstr "" +msgstr "Snelheid eenheid:" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:58 msgid "qu/s" @@ -416,23 +495,20 @@ msgid "knots" msgstr "knopen" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64 -#, fuzzy msgid "Show" -msgstr "Ammunitie tonen" +msgstr "Toon" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67 -#, fuzzy msgid "Top speed" -msgstr "Zoom snelheid:" +msgstr "Top snelheid" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:73 -#, fuzzy msgid "Acceleration:" -msgstr "Reflecties" +msgstr "Acceleratie:" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74 msgid "Include vertical acceleration" -msgstr "" +msgstr "Inclusief verticale versnelling" #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4 msgid "Powerups Panel" @@ -478,8 +554,8 @@ msgstr "Radar:" #: 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 "Alpha:" @@ -508,6 +584,7 @@ msgid "North" msgstr "Noord" #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61 msgid "Scale:" msgstr "Schaal:" @@ -537,24 +614,23 @@ msgstr "Score Paneel" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22 msgid "Score:" -msgstr "" +msgstr "Score:" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25 msgid "Rankings:" -msgstr "" +msgstr "Classificering:" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26 -#, fuzzy msgid "Off" -msgstr "VBO^Uit" +msgstr "Uit" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27 msgid "And me" -msgstr "" +msgstr "En ik" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28 msgid "Pure" -msgstr "" +msgstr "Puur" #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4 msgid "Timer Panel" @@ -585,7 +661,6 @@ msgid "Fade out after:" msgstr "Vervagen na:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36 msgid "Never" msgstr "Nooit" @@ -611,43 +686,46 @@ msgid "Alpha" msgstr "Alpha" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38 -#, fuzzy msgid "EF^Both" -msgstr "WRN^Beiden" +msgstr "Beiden" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:42 msgid "Weapon icons:" msgstr "Wapeniconen:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45 +msgid "Show only owned weapons" +msgstr "Laat alleen wapens in bezit zien" + +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 msgid "Show weapon ID as:" msgstr "Toon wapen-ID als:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49 msgid "SHOWAS^None" msgstr "SHOWAS^Geen" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50 msgid "Number" msgstr "Nummer" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 msgid "Bind" msgstr "Binden" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54 msgid "Show Accuracy" msgstr "Nauwkeurigheid tonen" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 msgid "Show Ammo" msgstr "Ammunitie tonen" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58 msgid "Ammo bar color:" msgstr "Ammunitie balk kleur:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64 msgid "Ammo bar alpha:" msgstr "Ammunitie alpha:" @@ -659,24 +737,24 @@ msgstr "Paneel HUD Instellingen" msgid "Panel background defaults:" msgstr "Paneel achtergrond standaards:" -#: 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 "Achtergrond" #: 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 "Uitschakelen" #: 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 "Kleur:" -#: 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 "Grootte rand:" @@ -685,11 +763,11 @@ msgstr "Grootte rand:" msgid "Team color:" msgstr "Teamkleur:" -#: 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 "Test teamkleur in aanpassingsmodus" -#: 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 "Opvulling:" @@ -763,127 +841,123 @@ msgstr "Speler Instellingen" msgid "Game type:" msgstr "Game modus" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46 -msgid "Match settings:" -msgstr "Match instellingen:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48 msgid "Time limit:" msgstr "Tijdslimiet:" -#: 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 "Gebruik map specificaties" -#: 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 "Punten limiet:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63 msgid "Player slots:" msgstr "Aantal spelers:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66 msgid "Number of bots:" msgstr "Aantal bots" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69 msgid "Bot skill:" msgstr "Bot vaardigheid" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72 msgid "Botlike" msgstr "Botlike" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73 msgid "Beginner" msgstr "Beginner" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 msgid "You will win" msgstr "Je zal winnen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 msgid "You can win" msgstr "Je kan winnen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 msgid "You might win" msgstr "Je zou kunnen winnen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 msgid "Advanced" msgstr "Geavanceerd" -#: 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 "Pro" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 msgid "Assassin" msgstr "Sluipmoordenaar" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 msgid "Unhuman" msgstr "Onmenselijk" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 msgid "Godlike" msgstr "Goddelijk" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:88 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87 msgid "Mutators..." msgstr "Mutaties..." -#: 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 "Geavanceerde instellingen..." -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103 msgid "Map list:" msgstr "Map lijst:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109 msgid "Select all" msgstr "Selecteer alles" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112 msgid "Select none" msgstr "Selecteer niets" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118 msgid "Start Multiplayer!" msgstr "Start Multiplayer!" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153 msgid "Capture limit:" msgstr "Vlaggen limiet:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157 msgid "Lives:" msgstr "Levens:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 msgid "Laps:" msgstr "Rondes:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 msgid "Goals:" msgstr "Goals:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163 msgid "Frag limit:" msgstr "Frag limiet:" @@ -987,29 +1061,28 @@ msgstr "Volledige item distributie" msgid "MinstaGib only" msgstr "Alleen MinstaGib" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81 msgid "Title:" msgstr "Titel:" -#: 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 "Bevat:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98 msgid "Game types:" msgstr "Game modus:" -#: 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 "Dichtdoen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124 msgid "MAP^Play" msgstr "Speel" @@ -1031,108 +1104,121 @@ msgid "%s Arena" msgstr "%s Arena" #: 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 "Ontwijken" #: 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 "Raket Vliegen" -#: 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 "Onoverwinnelijke Projectielen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:272 msgid "No start weapons" msgstr "Geen start wapens" -#: 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 "Lage zwaartekracht" -#: 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 "Onzichtbaarheid" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86 msgid "Hook" msgstr "Haak" -#: 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 "In de lucht" -#: 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 "Vampier" -#: 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 "Wapens blijven" -#: 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 "Bloedverlies" -#: 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 "Geen powerups" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102 +msgid "Powerups" +msgstr "Powerups" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104 msgid "MUT^None" msgstr "MUT^Geen" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170 msgid "Gameplay mutators:" msgstr "Gameplay mutaties:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201 msgid "Weapon & item mutators:" msgstr "Wapen & item mutaties:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204 msgid "Grappling hook" msgstr "Grappling hook" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223 msgid "Weapon arenas:" msgstr "Wapen arena’s:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226 msgid "Regular (no arena)" msgstr "Normaal (geen arena)" -#: 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 "met lazer" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255 msgid "Special arenas:" msgstr "Speciale arenas:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268 msgid "Most weapons" msgstr "Meeste wapens" @@ -1141,27 +1227,26 @@ msgid "Demo" msgstr "Demo" #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 -msgid "Record demos while playing" -msgstr "Demo’s opnemen tijdens het spelen:" +msgid "Automatically record demos while playing" +msgstr "Demo’s opnemen tijdens het spelen" -#: 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 "Filter:" -#: 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 "Legen" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45 msgid "Timedemo" msgstr "Benchmark demo" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48 msgid "DEMO^Play" msgstr "Speel" @@ -1182,6 +1267,7 @@ msgid "Pause" msgstr "Pauze" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 msgid "Address:" msgstr "Adres:" @@ -1190,7 +1276,7 @@ msgid "Info..." 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 "Meedoen!" @@ -1198,290 +1284,468 @@ msgstr "Meedoen!" msgid "Server Information" msgstr "Server Informatie" -#: 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 "" +msgid "%d/%d" +msgstr "%d/%d" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 +#: 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 "Standaard" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 #, c-format -msgid "%d modified settings" -msgstr "%d gemodificeerde instellingen" +msgid "%d modified" +msgstr "%d aangepaste instellingen" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 -msgid "Official settings" -msgstr "Officiële configuratie" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 +msgid "Official" +msgstr "Officiële" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197 -msgid "N/A (can't connect)" -msgstr "N/A (kan geen verbinding maken)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208 +msgid "N/A (auth library missing, can't connect)" +msgstr "N/A (auth bibliotheek niet gevonden, kan geen verbinding maken)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205 -msgid "not supported (can't connect)" -msgstr "niet ondersteund (kan geen verbinding maken)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:210 +msgid "N/A (auth library missing)" +msgstr "N/A (auth bibliotheek ontbreekt)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207 -msgid "not supported (won't encrypt)" -msgstr "niet ondersteund (zal niet versleutelen)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216 +msgid "Not supported (can't connect)" +msgstr "Niet ondersteund (kan geen verbinding maken)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211 -msgid "supported (will encrypt)" -msgstr "ondersteund (zal versleutelen)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218 +msgid "Not supported (won't encrypt)" +msgstr "Niet ondersteund (zal niet versleutelen)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213 -msgid "supported (won't encrypt)" -msgstr "ondersteund (zal niet versleutelen)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222 +msgid "Supported (will encrypt)" +msgstr "Ondersteund (zal versleutelen)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217 -msgid "requested (will encrypt)" -msgstr "verzocht (zal versleutelen)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224 +msgid "Supported (won't encrypt)" +msgstr "Ondersteund (zal niet versleutelen)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219 -msgid "requested (won't encrypt)" -msgstr "verzocht (zal niet versleutelen)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228 +msgid "Requested (will encrypt)" +msgstr "Verzocht (zal versleutelen)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223 -msgid "required (can't connect)" -msgstr "verplicht (kan geen verbinding maken)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230 +msgid "Requested (won't encrypt)" +msgstr "Verzocht (zal niet versleutelen)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225 -msgid "required (will encrypt)" -msgstr "verplicht (zal versleutelen)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234 +msgid "Required (can't connect)" +msgstr "Verplicht (kan geen verbinding maken)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269 -msgid "Players:" -msgstr "Spelers:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236 +msgid "Required (will encrypt)" +msgstr "Verplicht (zal versleutelen)" -#: 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:256 +msgid "Hostname:" +msgstr "Server naam:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270 +msgid "Gametype:" +msgstr "Gametype:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275 msgid "Map:" msgstr "Map:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264 -msgid "Gameplay:" -msgstr "Gameplay:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274 -msgid "Bots:" -msgstr "Bots:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280 msgid "Mod:" msgstr "Mod:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285 msgid "Version:" msgstr "Versie:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289 -msgid "Ping:" -msgstr "Ping:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290 +msgid "Settings:" +msgstr "Instellingen:" -#: 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 "Spelers:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301 -msgid "Key:" -msgstr "Sleutel:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302 +msgid "Bots:" +msgstr "Bots:" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307 +msgid "Free slots:" +msgstr "Vrije slots:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313 msgid "Encryption:" msgstr "Versleuteling:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318 +msgid "ID:" +msgstr "ID:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323 +msgid "Key:" +msgstr "Sleutel:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60 +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19 msgid "Model:" msgstr "Personage:" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 -msgid "Field of view:" -msgstr "Kijkhoek (FoV):" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92 -msgid "View bobbing:" -msgstr "Schommelend zicht:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96 -msgid "Zoom factor:" -msgstr "Zoom factor:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100 -msgid "Zoom speed:" -msgstr "Zoom snelheid:" +msgid "No crosshair" +msgstr "Geen crosshair:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:103 -msgid "Weapon settings..." -msgstr "Wapen instellingen..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90 +msgid "Per weapon crosshair" +msgstr "Per wapen crosshair" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110 -msgid "Crosshair:" -msgstr "Richtkruis:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93 +msgid "Custom crosshair" +msgstr "Custom crosshair" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:111 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 -msgid "Per weapon" -msgstr "Per wapen" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112 msgid "Crosshair size:" msgstr "Richtkruis grootte:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:134 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117 msgid "Crosshair alpha:" msgstr "Richtkruis alpha:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:138 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123 msgid "Crosshair color:" msgstr "Richtkruis kleur:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125 +msgid "Per weapon" +msgstr "Per wapen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127 msgid "By health" -msgstr "" +msgstr "Op gezondheid" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:143 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:131 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47 msgid "Custom" -msgstr "aangepast" +msgstr "Aangepast" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148 -msgid "Enable center dot" -msgstr "Activeer middenpunt" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 +msgid "Other crosshair settings" +msgstr "Andere crosshair instellingen" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151 -msgid "Size:" -msgstr "Grootte" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6 +msgid "Model settings" +msgstr "Model instellingen" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158 -msgid "Hit test:" -msgstr "Tref test:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6 +msgid "View settings" +msgstr "Weergave instellingen" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 -msgid "HTST^None" -msgstr "HTST^Geen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 +msgid "Weapon settings" +msgstr "Wapen instellingen" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160 -msgid "TrueAim" -msgstr "Echt mikken" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6 +msgid "HUD settings" +msgstr "HUD instellingen" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161 -msgid "Enemies" -msgstr "Tegenstanders" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 +#: 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 "Meteen toepassen" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164 -msgid "Waypoints setup..." -msgstr "Wegwijzers instellingen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6 +msgid "Crosshair settings" +msgstr "Crosshair instellingen" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 -msgid "Enter HUD editor" -msgstr "Ga naar HUD editor" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28 +msgid "Enable center crosshair dot" +msgstr "Punt in het midden van de crosshair" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174 -msgid "Force models:" -msgstr "Forceer modellen:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31 +msgid "Dot size:" +msgstr "Punt grootte" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 -msgid "MDL^None" -msgstr "MDL^Geen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36 +msgid "Dot alpha:" +msgstr "Punt alpha:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176 -msgid "MDL^Custom" -msgstr "MDL^Aangepast" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41 +msgid "Dot color:" +msgstr "Punt kleur:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177 -msgid "MDL^All" -msgstr "MDL^Alle" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43 +msgid "Use normal crosshair color" +msgstr "Gebruik normale crosshair kleur:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180 -msgid "Disable gore effects" -msgstr "Schakel bloederigheid uit" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54 +msgid "Crosshair animations:" +msgstr "Crosshair animaties:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182 -msgid "Gibs:" -msgstr "Gibs:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57 +msgid "Smooth effects of crosshairs" +msgstr "Glad effect van crosshairs" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184 -msgid "GIBS^None" -msgstr "GIBS^Geen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61 +msgid "Use rings to indicate weapon status" +msgstr "Gebruiken ringen om wapen status weer te geven" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185 -msgid "GIBS^Few" -msgstr "GIBS^Weinig" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67 +msgid "Hit testing:" +msgstr "Treffer test:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186 -msgid "GIBS^Many" -msgstr "GIBS^Veel" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69 +msgid "HTTST^Disabled" +msgstr "Uitgeschakeld" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187 -msgid "GIBS^Lots" -msgstr "GIBS^Erg veel" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70 +msgid "HTTST^TrueAim" +msgstr "Echt mikken" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71 +msgid "HTTST^Enemies" +msgstr "Tegenstanders" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:191 -msgid "Damage splash:" -msgstr "Pijn spatten:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76 +msgid "Blur crosshair if the shot is obstructed" +msgstr "Blur crosshair als het schot wordt geblokkeerd" -#: 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 "Meteen toepassen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81 +msgid "Animate when hitting an enemy" +msgstr "Animeer wanneer een vijand wordt geraakt" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85 +msgid "Animate when picking up an item" +msgstr "Animeer wanneer een item wordt opgepakt" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40 +msgid "Damage:" +msgstr "Schade:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43 +msgid "Overlay:" +msgstr "Overlay:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47 +msgid "Factor:" +msgstr "Factor:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:52 +msgid "Fade rate:" +msgstr "Vervaagsnelheid:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:58 msgid "Waypoints" msgstr "Wegwijzers" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23 -msgid "Show base waypoints" -msgstr "Laat wegwijzers zien voor de basis" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:71 +msgid "Edge offset:" +msgstr "Rand afstand:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25 -msgid "Waypoint scale:" -msgstr "Wegwijzer schaal:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:80 +msgid "Show names above players" +msgstr "Laat namen boven spelers zien" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29 -msgid "Waypoint alpha:" -msgstr "Wegwijzer alpha:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83 +msgid "Only when near crosshair" +msgstr "Alleen wanneer in de buurt van crosshair" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34 -msgid "Show names:" -msgstr "Laat namen zien:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86 +msgid "Display health and armor" +msgstr "Geef health en armor weer" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37 -msgid "Teammates" -msgstr "Teammaten" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4 +msgid "Enter HUD editor" +msgstr "Ga naar HUD editor" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38 -msgid "All players" -msgstr "Alle spelers" +#: 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 "Om de HUD editor te tonen, moet je je in de game bevinden." -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 -msgid "Weapon settings" -msgstr "Wapen instellingen" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30 +msgid "Do you wish to start a local game to set up the HUD?" +msgstr "Wil je een lokale game starten om de HUD in te stellen?" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33 +msgid "HDCNFRM^Yes" +msgstr "Ja" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36 +msgid "HDCNFRM^No" +msgstr "Nee" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28 +msgid "Body fading:" +msgstr "Lichaam vervaging:" + +#: 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 "GIBS^Geen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34 +msgid "GIBS^Few" +msgstr "GIBS^Weinig" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35 +msgid "GIBS^Many" +msgstr "GIBS^Veel" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36 +msgid "GIBS^Lots" +msgstr "GIBS^Erg veel" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40 +msgid "Playermodel LOD:" +msgstr "Spelermodel LOD:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44 +msgid "Force models:" +msgstr "Forceer modellen:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45 +msgid "MDL^None" +msgstr "MDL^Geen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46 +msgid "MDL^Custom" +msgstr "MDL^Aangepast" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47 +msgid "MDL^All" +msgstr "MDL^Alle" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50 +msgid "Force player models to mine" +msgstr "Forceer modellen naar de mijne:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52 +msgid "Force player colors to mine" +msgstr "Forceer speler kleuren naar de mijne" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28 +msgid "Field of view:" +msgstr "Kijkhoek (FoV):" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31 +msgid "Zoom:" +msgstr "Zoom:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33 +msgid "RETICLE^Fullscreen" +msgstr "Volledig scherm" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34 +msgid "RETICLE^With reticle" +msgstr "Met vizier" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38 +msgid "ZOOM^Factor:" +msgstr "Factor:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42 +msgid "ZOOM^Speed:" +msgstr "Snelheid:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52 +msgid "ZOOM^Instant" +msgstr "Direct" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56 +msgid "ZOOM^Sensitivity:" +msgstr "Gevoeligheid:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59 +msgid "Velocity zoom:" +msgstr "Snelheid zoom:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61 +msgid "VZOOM^Disabled" +msgstr "Uitgeschakeld" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62 +msgid "VZOOM^Forward only" +msgstr "Alleen voorwaarts" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63 +msgid "VZOOM^All directions" +msgstr "Alle richtingen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67 +msgid "VZOOM^Speed" +msgstr "Snelheid" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72 +msgid "Allow passing through walls while spectating" +msgstr "Sta toe om muren te doorkruisen bij het toekijken" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75 +msgid "1st person perspective" +msgstr "First person perspectief" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79 +msgid "Smooth the view when landing from a jump" +msgstr "Vloeiende beweging bij het landen van een sprong" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83 +msgid "Smooth the view while crouching" +msgstr "Vloeiende beweging bij het hurken" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87 +msgid "View waving while idle" +msgstr "Bewegend beeld bij idle" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91 +msgid "View bobbing while walking around" +msgstr "Beeld verplaatsing bij het rondlopen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96 +msgid "3rd person perspective" +msgstr "Third person perspectief" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100 +msgid "Back distance" +msgstr "Achteraf afstand" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106 +msgid "Up distance" +msgstr "Bovenaf afstand" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 msgid "Weapon priority list:" msgstr "Wapen prioriteit lijst:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33 msgid "Up" msgstr "Omhoog" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36 msgid "Down" msgstr "Omlaag" @@ -1493,13 +1757,21 @@ msgstr "Gebruik de prioriteit lijst voor het wisselen van wapens " msgid "Auto switch weapons on pickup" msgstr "Automatisch wapens wisselen bij oppakken" -#: 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 "Wapen positie" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55 -msgid "Flip view horizontally" -msgstr "Spiegel zicht horizontaal" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58 +msgid "Gun model swaying" +msgstr "Wapen bewegingen" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63 +msgid "Gun model bobbing" +msgstr "Wapen model beweging" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68 +msgid "VWMDL^Scale" +msgstr "Schaal" #: qcsrc/menu/xonotic/dialog_news.c:4 msgid "News" @@ -1513,18 +1785,146 @@ msgstr "http://www.xonotic.org/team/blog/" msgid "Quit" msgstr "Afsluiten" -#: qcsrc/menu/xonotic/dialog_quit.c:17 +#: qcsrc/menu/xonotic/dialog_quit.c:18 msgid "Are you sure you want to quit?" msgstr "Weet je zeker dat je wil afsluiten?" -#: qcsrc/menu/xonotic/dialog_quit.c:20 +#: qcsrc/menu/xonotic/dialog_quit.c:21 msgid "Yes" msgstr "Ja" -#: qcsrc/menu/xonotic/dialog_quit.c:21 +#: qcsrc/menu/xonotic/dialog_quit.c:22 msgid "No" msgstr "Nee" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4 +msgid "Sandbox Tools" +msgstr "Zandbak benodigdheden" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:24 +msgid "Spawn" +msgstr "Spawn" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25 +msgid "Remove *" +msgstr "Verwijder *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27 +msgid "Copy *" +msgstr "Kopieer *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28 +msgid "Paste" +msgstr "Plak" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:30 +msgid "Bone:" +msgstr "Bot:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:35 +msgid "Set * as child" +msgstr "Zet * als kind" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36 +msgid "Attach to *" +msgstr "Maak vast aan *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:38 +msgid "Detach from *" +msgstr "Maak los van *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:41 +msgid "Visual object properties for *:" +msgstr "Visuele object eigenschappen voor *:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:43 +msgid "Set skin:" +msgstr "Skin:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45 +msgid "Set alpha:" +msgstr "Alpha:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48 +msgid "Set color main:" +msgstr "Hoofdkleur:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50 +msgid "Set color glow:" +msgstr "Glow voor kleur:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:54 +msgid "Set frame:" +msgstr "Zet frame:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:58 +msgid "Physical object properties for *:" +msgstr "Fysieke object eigenschappen voor *:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:60 +msgid "Set material:" +msgstr "Zet materiaal:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:66 +msgid "Set solidity:" +msgstr "Vastheid:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67 +msgid "Non-solid" +msgstr "Niet vast" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68 +msgid "Solid" +msgstr "Vast" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69 +msgid "Set physics:" +msgstr "Zet physics:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70 +msgid "Static" +msgstr "Statisch" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71 +msgid "Movable" +msgstr "Verplaatsbaar" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72 +msgid "Physical" +msgstr "Fysiek" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74 +msgid "Set scale:" +msgstr "Schaal:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:76 +msgid "Set force:" +msgstr "Zet kracht:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:80 +msgid "Claim *" +msgstr "Claim *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:82 +msgid "* object info" +msgstr "* object info" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83 +msgid "* mesh info" +msgstr "* mesh info" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84 +msgid "* attachment info" +msgstr "* bijlage info" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85 +msgid "Show help" +msgstr "Laat help zien" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86 +msgid "* is the object you are facing" +msgstr "* is het object waar je naar kijkt" + #: qcsrc/menu/xonotic/dialog_settings.c:4 msgid "Settings" msgstr "Instellingen" @@ -1550,9 +1950,9 @@ msgid "Audio" msgstr "Geluid" #: qcsrc/menu/xonotic/dialog_settings.c:22 -#: qcsrc/menu/xonotic/dialog_settings_network.c:4 -msgid "Network" -msgstr "Netwerk" +#: qcsrc/menu/xonotic/dialog_settings_user.c:4 +msgid "User" +msgstr "User" #: qcsrc/menu/xonotic/dialog_settings.c:23 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4 @@ -1563,194 +1963,170 @@ msgstr "Misc" msgid "Master:" msgstr "Volume:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:33 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:35 msgid "Music:" msgstr "Muziek:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:41 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:45 msgid "VOL^Ambient:" msgstr "VOL^Achtergrond:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:48 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:54 msgid "Info:" msgstr "Info:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:55 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:63 msgid "Items:" msgstr "Items:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:62 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:72 msgid "Pain:" msgstr "Pijn:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:69 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:81 msgid "Player:" msgstr "Speler:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:76 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:90 msgid "Shots:" msgstr "Schoten:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:83 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:99 msgid "Voice:" msgstr "Spraak:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:91 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:109 msgid "Weapons:" msgstr "Wapens:" -#: 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 "Nieuwe stijl geluid versterking" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:119 +msgid "Mute sounds when not active" +msgstr "Stop geluiden wanneer niet actief" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:122 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:194 msgid "Frequency:" msgstr "Frequentie:" -#: 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 "Kanalen:" -#: 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 "Stereo" -#: 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 "Stereo omwisselen" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:148 msgid "Headphone friendly mode" msgstr "Koptelefoon modus" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 -msgid "Spatial voices:" -msgstr "Ruimtelijke stemmen:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:132 -msgid "VOCS^None" -msgstr "VOCS^Geen" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:133 -msgid "VOCS^Taunts" -msgstr "VOCS^Honen" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 -msgid "VOCS^All" -msgstr "VOCS^Alles" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 -msgid "Taunt range:" -msgstr "Hoon afstand:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:140 -msgid "RNG^Very short" -msgstr "RNG^Erg kort" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:141 -msgid "RNG^Short" -msgstr "RNG^Kort" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:142 -msgid "RNG^Normal" -msgstr "RNG^Normaal" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:143 -msgid "RNG^Long" -msgstr "RNG^Lang" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 +msgid "Hit indication sound" +msgstr "Tref indicator geluid" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:144 -msgid "RNG^Full" -msgstr "RNG^Vol" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:172 +msgid "Chat message sound" +msgstr "Chat bericht geluid" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:151 -msgid "Automatic taunts" -msgstr "Automatisch honen" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:174 +msgid "Menu sounds" +msgstr "Menu geluiden" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:160 -msgid "Time warning:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:177 +msgid "Time announcer:" msgstr "Tijd notificatie:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:162 -msgid "WRN^None" -msgstr "WRN^Geen" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:179 +msgid "WRN^Disabled" +msgstr "Uitgeschakeld" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:163 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:180 msgid "1 minute" msgstr "1 minuut" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:164 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:181 msgid "5 minutes" msgstr "5 minuten" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:165 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:182 msgid "WRN^Both" msgstr "WRN^Beiden" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:168 -msgid "Hit indicator" -msgstr "Tref indicator" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:189 +msgid "Automatic taunts" +msgstr "Automatisch honen" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 -msgid "Menu sounds" -msgstr "Menu geluiden" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:199 +msgid "Debug info about sounds" +msgstr "Debug info over geluiden" #: qcsrc/menu/xonotic/dialog_settings_effects.c:38 msgid "Quality preset:" @@ -1813,230 +2189,226 @@ msgid "DET^Insane" msgstr "DET^Geweldig" #: qcsrc/menu/xonotic/dialog_settings_effects.c:62 -msgid "Antialiasing:" -msgstr "Antialiasing:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:64 -msgid "AA^Disabled" -msgstr "AA^Uitgeschakeld" - -#: 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 "Textuur resolutie:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:73 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 msgid "RES^Leet" msgstr "RES^" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:74 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 msgid "RES^Lowest" msgstr "RES^Laagste" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:75 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:67 +msgid "RES^Very low" +msgstr "Zeer Laag" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:68 msgid "RES^Low" msgstr "RES^Laag" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:76 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:69 msgid "RES^Normal" msgstr "RES^Normaal" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:77 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 msgid "RES^Good" msgstr "RES^Goed" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:78 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:71 msgid "RES^Best" msgstr "RES^Beste" -#: 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 "Voorkom textuur compressie met kwaliteitsverlies" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 -msgid "Anisotropy:" -msgstr "Anisotropie" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:93 +msgid "Use lightmaps" +msgstr "Gebuik " -#: qcsrc/menu/xonotic/dialog_settings_effects.c:102 -msgid "ANISO^Disabled" -msgstr "ANISO^Uitgeschakeld" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:94 +msgid "Deluxe mapping" +msgstr "Deluxe mapping" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:105 -msgid "8x" -msgstr "8x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:96 +msgid "Gloss" +msgstr "Glans" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 +msgid "Particles quality:" +msgstr "Deeltjes kwaliteit:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:103 +msgid "Particles distance:" +msgstr "Deeltjes afstand:" #: qcsrc/menu/xonotic/dialog_settings_effects.c:106 -msgid "16x" -msgstr "16x" +msgid "Damage effects:" +msgstr "Schade effects:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 -msgid "Particle quality:" -msgstr "Deeltjes kwaliteit" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:108 +msgid "DMGPRTCLS^Disabled" +msgstr "Uitgeschakeld" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:109 +msgid "DMGPRTCLS^Skeletal" +msgstr "Skelet" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:113 -msgid "Particle distance:" -msgstr "Deeltjes afstand" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 +msgid "DMGPRTCLS^All" +msgstr "Alle" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:117 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:114 msgid "Decals" msgstr "Decals" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:118 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:115 msgid "Decals on models" -msgstr "" +msgstr "Decals op modellen" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:122 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:119 msgid "Distance:" msgstr "Afstand:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:128 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:125 msgid "Time:" msgstr "Tijd:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:131 +msgid "Coronas" +msgstr "Coronas" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:132 +msgid "Use Occlusion Queries" +msgstr "Gebruik Occlusion Queries" + #: qcsrc/menu/xonotic/dialog_settings_effects.c:134 -msgid "Use lightmaps" -msgstr "Gebuik " +msgid "No dynamic lighting" +msgstr "Geen dynamische verlichting" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:135 -msgid "Deluxe mapping" -msgstr "Deluxe mapping" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:136 +msgid "Fake corona lighting" +msgstr "Nep corona verlichting" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:137 -msgid "Gloss" -msgstr "Glans" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:138 +msgid "Realtime dynamic lighting" +msgstr "Real-time dynamische verlichting" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:139 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:143 +msgid "Shadows" +msgstr "Schaduwen" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 +msgid "Realtime world lighting" +msgstr "Real-time wereld verlichting" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:147 +msgid "Use normal maps" +msgstr "Gebruik normal maps" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 +msgid "Soft shadows" +msgstr "Zachte schaduwen" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:153 +msgid "Show surfaces" +msgstr "Laat oppervlaktes zien" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:140 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 msgid "Offset mapping" msgstr "Offset mapping" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 msgid "Relief mapping" msgstr "Relief mapping" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:145 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 +msgid "LOD" +msgstr "LOD" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 +msgid "Bloom" +msgstr "Bloom" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:164 msgid "Reflections:" msgstr "Reflecties" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:148 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:167 msgid "Blurred" msgstr "Vervaagd" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:168 msgid "REFL^Good" msgstr "REFL^Goed" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:150 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:169 msgid "Sharp" msgstr "Scherp" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 -msgid "Show surfaces" -msgstr "Laat oppervlaktes zien" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:174 +msgid "Motion blur:" +msgstr "Bewegingsonscherpte:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 -msgid "No dynamic lighting" -msgstr "Geen dynamische verlichting" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 -msgid "Flash blend approximation" -msgstr "Flash blend approximation" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:161 -msgid "Realtime dynamic lighting" -msgstr "Real-time dynamische verlichting" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 -#: qcsrc/menu/xonotic/dialog_settings_effects.c:166 -msgid "Shadows" -msgstr "Schaduwen" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:165 -msgid "Realtime world lighting" -msgstr "Real-time wereld verlichting" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:170 -msgid "Use normal maps" -msgstr "Gebruik normal maps" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:172 -msgid "Soft shadows" -msgstr "Zachte schaduwen" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:175 -msgid "Coronas" -msgstr "Coronas" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:176 -msgid "Use Occlusion Queries" -msgstr "Gebruik Occlusion Queries" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:178 -msgid "Bloom" -msgstr "Bloom" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:180 -msgid "High Dynamic Range (HDR)" -msgstr "Hoog dynamisch bereik (HDR)" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:184 -msgid "Motion blur:" -msgstr "Bewegingsonscherpte:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:189 -msgid "Blur and sharpen postprocessing" -msgstr "" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:179 +msgid "Extra postprocessing effects" +msgstr "Extra naprocessing effecten" #: qcsrc/menu/xonotic/dialog_settings_input.c:26 msgid "Key bindings:" msgstr "Toetsen:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:31 +#: qcsrc/menu/xonotic/dialog_settings_input.c:30 msgid "Change key..." msgstr "Verander toets..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:35 +#: qcsrc/menu/xonotic/dialog_settings_input.c:34 msgid "Edit..." msgstr "Aanpassen..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:46 -msgid "Sensitivity:" -msgstr "Gevoeligheid:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:45 +msgid "Pressing \"enter console\" key also closes it" +msgstr "\"console activeren\" sluit deze ook weer" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:47 +msgid "Automatically repeat jumping if holding jump" +msgstr "Automatisch blijven springen bij het vasthouden van de jump toets" #: qcsrc/menu/xonotic/dialog_settings_input.c:51 -msgid "UI mouse speed:" -msgstr "UI muis snelheid:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:53 +#: qcsrc/menu/xonotic/dialog_settings_input.c:56 +msgid "Use joystick input" +msgstr "Gebruik joystick input" -#: qcsrc/menu/xonotic/dialog_settings_input.c:55 -msgid "Mouse filter" -msgstr "Muis filter" +#: qcsrc/menu/xonotic/dialog_settings_input.c:61 +msgid "Mouse:" +msgstr "Muis:" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:64 +msgid "Sensitivity:" +msgstr "Gevoeligheid:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:57 -msgid "Invert mouse" -msgstr "Invert muis" +#: qcsrc/menu/xonotic/dialog_settings_input.c:68 +msgid "Smooth aiming" +msgstr "Vloeiend mikken" -#: qcsrc/menu/xonotic/dialog_settings_input.c:60 -#: qcsrc/menu/xonotic/dialog_settings_input.c:62 -msgid "Use joystick input" -msgstr "Gebruik joystick input" +#: qcsrc/menu/xonotic/dialog_settings_input.c:71 +msgid "Invert aiming" +msgstr "Inverteer muis" -#: qcsrc/menu/xonotic/dialog_settings_input.c:65 -#: qcsrc/menu/xonotic/dialog_settings_input.c:67 -msgid "Turn off OS mouse acceleration" -msgstr "Gebruik joystick input" +#: 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 "Schakel systeem muis acceleratie uit" -#: qcsrc/menu/xonotic/dialog_settings_input.c:69 -msgid "\"enter console\" also closes" -msgstr "\"console activeren\" sluit deze ook weer" +#: qcsrc/menu/xonotic/dialog_settings_input.c:85 +msgid "Enable built in mouse acceleration" +msgstr "Gebruik ingebouwde muis acceleratie" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5 msgid "User defined key bind" @@ -2059,96 +2431,261 @@ msgid "Cancel" msgstr "Annuleren" #: qcsrc/menu/xonotic/dialog_settings_misc.c:26 -msgid "Menu skins:" -msgstr "Menu thema’s:" +msgid "Network:" +msgstr "Netwerk:" + +#: 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 "Langzaam ADSL" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:34 +msgid "Fast ADSL" +msgstr "Snel ADSL" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 +msgid "Broadband" +msgstr "Breedband" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:47 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:39 +msgid "Input packets/s:" +msgstr "Inkomende pakketten/s" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:45 +msgid "Local latency:" +msgstr "Lokale latency:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:50 +msgid "Client UDP port:" +msgstr "Client UDP poort:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:55 +msgid "Show netgraph" +msgstr "Netwerk grafiek tonen" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:59 +msgid "Client-side movement prediction" +msgstr "Client beweging voorspelling" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +msgid "Movement error compensation" +msgstr "Beweging error compensatie" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:66 +msgid "Downloads:" +msgstr "Downloads:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:69 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:81 +msgid "Maximum:" +msgstr "Maximum:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:73 +msgid "Speed (kB/s):" +msgstr "Snelheid (kB/s):" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:78 +msgid "Framerate:" +msgstr "Framerate" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:83 +msgid "MAXFPS^5 fps" +msgstr "5 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:84 +msgid "MAXFPS^10 fps" +msgstr "10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:85 +msgid "MAXFPS^20 fps" +msgstr "20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:86 +msgid "MAXFPS^30 fps" +msgstr "30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:87 +msgid "MAXFPS^40 fps" +msgstr "40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:88 +msgid "MAXFPS^50 fps" +msgstr "50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:89 +msgid "MAXFPS^60 fps" +msgstr "60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:90 +msgid "MAXFPS^70 fps" +msgstr "70 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:91 +msgid "MAXFPS^100 fps" +msgstr "100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:92 +msgid "MAXFPS^125 fps" +msgstr "125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:93 +msgid "MAXFPS^200 fps" +msgstr "200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:94 +msgid "MAXFPS^Unlimited" +msgstr "Onbeperkt" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:98 +msgid "Target:" +msgstr "Doel:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:100 +msgid "TRGT^Disabled" +msgstr "Uitgeschakeld" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:101 +msgid "TRGT^30 fps" +msgstr "30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:102 +msgid "TRGT^40 fps" +msgstr "40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:103 +msgid "TRGT^50 fps" +msgstr "50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:104 +msgid "TRGT^60 fps" +msgstr "60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:105 +msgid "TRGT^100 fps" +msgstr "100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:106 +msgid "TRGT^125 fps" +msgstr "125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:107 +msgid "TRGT^200 fps" +msgstr "200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:111 +msgid "Idle limit:" +msgstr "Idle limiet:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:113 +msgid "IDLFPS^10 fps" +msgstr "10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:114 +msgid "IDLFPS^20 fps" +msgstr "20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:115 +msgid "IDLFPS^30 fps" +msgstr "30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:116 +msgid "IDLFPS^60 fps" +msgstr "60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:117 +msgid "IDLFPS^Unlimited" +msgstr "Onbeperkt" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:122 +msgid "Show frames per second" +msgstr "Laat frames per seconde zien" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:125 +msgid "Save processing time for other apps" +msgstr "Bespaar processor tijd voor andere programma's" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:129 +msgid "Menu tooltips:" +msgstr "Menu tooltips:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:131 +msgid "TLTIP^Disabled" +msgstr "Uitgeschakeld" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:132 +msgid "TLTIP^Standard" +msgstr "Standaard" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:133 +msgid "TLTIP^Advanced" +msgstr "Geavanceerd" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:137 msgid "Show current time" msgstr "Laat huidige tijd zien" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:49 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:139 msgid "Show current date" msgstr "Laat huidige datum zien" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:51 -msgid "Show frames per second" -msgstr "Laat frames per seconde zien" - -#: qcsrc/menu/xonotic/dialog_settings_misc.c:53 -msgid "Minimize input latency" -msgstr "Minimaliseer input latentie" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:141 +msgid "Enable developer mode" +msgstr "Activeer developer modus" #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 msgid "Advanced settings" msgstr "Geavanceerde instellingen" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31 msgid "Cvar filter:" msgstr "Cvar filter:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44 msgid "Setting:" msgstr "Cvar" -#: 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 "Waarde:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:68 msgid "Description:" msgstr "Omschrijving:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:26 -msgid "Client-side movement prediction" -msgstr "Client beweging voorspelling" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:30 -msgid "Show netgraph" -msgstr "Netwerk grafiek tonen" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:33 -msgid "Network speed:" -msgstr "Netwerk snelheid:" - -#: 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 "Langzaam ADSL" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:38 -msgid "Fast ADSL" -msgstr "Snel ADSL" +#: qcsrc/menu/xonotic/dialog_settings_user.c:27 +msgid "Menu skins:" +msgstr "Menu thema’s:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:39 -msgid "Broadband" -msgstr "Breedband" +#: qcsrc/menu/xonotic/dialog_settings_user.c:31 +msgid "Set skin" +msgstr "Skin" -#: qcsrc/menu/xonotic/dialog_settings_network.c:42 -msgid "Input packets/s:" -msgstr "Inkomende pakketten/s" +#: qcsrc/menu/xonotic/dialog_settings_user.c:74 +msgid "Set language" +msgstr "Taal van de tekst:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:46 -msgid "HTTP downloads:" -msgstr "HTTP downloads:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:79 +msgid "Disable gore effects and harsh language" +msgstr "Schakel bloederigheid en obsceen taalgebruik uit" -#: qcsrc/menu/xonotic/dialog_settings_network.c:49 -msgid "Downloads:" -msgstr "Downloads:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:82 +msgid "Allow player statistics to track your client" +msgstr "Sta speler statistieken toe om je te tracken" -#: qcsrc/menu/xonotic/dialog_settings_network.c:53 -msgid "Speed (kB/s):" -msgstr "Snelheid (kB/s):" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:57 -msgid "Client UDP port:" -msgstr "Client UDP poort:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:84 +msgid "Allow player statistics to use your nickname" +msgstr "Sta speler statistieken toe om je nickname te gebruiken" #: qcsrc/menu/xonotic/dialog_settings_video.c:26 msgid "Resolution:" @@ -2198,103 +2735,173 @@ msgstr "SZ^Kolossaal" msgid "Color depth:" msgstr "Kleurdiepte:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:44 +msgid "16bit" +msgstr "16bit" + #: qcsrc/menu/xonotic/dialog_settings_video.c:45 +msgid "32bit" +msgstr "32bit" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:48 msgid "Full screen" msgstr "Volledig scherm" -#: qcsrc/menu/xonotic/dialog_settings_video.c:46 +#: qcsrc/menu/xonotic/dialog_settings_video.c:49 msgid "Vertical Synchronization" msgstr "Verticale synchronisatie" -#: qcsrc/menu/xonotic/dialog_settings_video.c:49 -msgid "Use OpenGL 2.0 shaders (GLSL)" -msgstr "Gebruik OpenGL 2.0 shaders (GLSL)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:53 +msgid "Anisotropy:" +msgstr "Anisotropie" -#: qcsrc/menu/xonotic/dialog_settings_video.c:52 -msgid "Use GLSL to handle color control" -msgstr "Gebruik GLSL voor gamma correctie" +#: qcsrc/menu/xonotic/dialog_settings_video.c:55 +msgid "ANISO^Disabled" +msgstr "ANISO^Uitgeschakeld" #: qcsrc/menu/xonotic/dialog_settings_video.c:56 -msgid "Vertex Buffer Objects (VBOs)" -msgstr "Vertex Buffer Objecten (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 "VBO^Uit" +msgid "16x" +msgstr "16x" -#: qcsrc/menu/xonotic/dialog_settings_video.c:60 -msgid "Vertices, some Tris (compatible)" -msgstr "Vertices, sommige Tris (compatibel)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:62 +msgid "Antialiasing:" +msgstr "Antialiasing:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:63 -msgid "Vertices" -msgstr "Vertices" +#: qcsrc/menu/xonotic/dialog_settings_video.c:65 +msgid "AA^Disabled" +msgstr "AA^Uitgeschakeld" -#: qcsrc/menu/xonotic/dialog_settings_video.c:64 -msgid "Vertices and Triangles" -msgstr "Vertices en Tris" +#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +msgid "High-quality frame buffer" +msgstr "Hoge kwaliteit frame buffer" -#: qcsrc/menu/xonotic/dialog_settings_video.c:67 +#: qcsrc/menu/xonotic/dialog_settings_video.c:76 msgid "Depth first:" msgstr "Diepte eerst:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:69 +#: qcsrc/menu/xonotic/dialog_settings_video.c:78 msgid "DF^Disabled" msgstr "DF^Uitgeschakeld" -#: qcsrc/menu/xonotic/dialog_settings_video.c:70 +#: qcsrc/menu/xonotic/dialog_settings_video.c:79 msgid "DF^World" msgstr "DF^Wereld" -#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +#: qcsrc/menu/xonotic/dialog_settings_video.c:80 msgid "DF^All" msgstr "DF^Alles" -#: qcsrc/menu/xonotic/dialog_settings_video.c:75 -msgid "Disable multithreaded OpenGL" -msgstr "Schakel multithreaded OpenGL uit" +#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +msgid "Vertex Buffer Objects (VBOs)" +msgstr "Vertex Buffer Objecten (VBOs)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:77 -msgid "Wait for GPU to finish each frame" -msgstr "Wacht op GPU voor elk frame" +#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +msgid "VBO^Off" +msgstr "VBO^Uit" -#: qcsrc/menu/xonotic/dialog_settings_video.c:80 +#: qcsrc/menu/xonotic/dialog_settings_video.c:87 +msgid "Vertices, some Tris (compatible)" +msgstr "Vertices, sommige Tris (compatibel)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:90 +msgid "Vertices" +msgstr "Vertices" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +msgid "Vertices and Triangles" +msgstr "Vertices en Tris" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:94 msgid "Brightness:" msgstr "Helderheid:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +#: qcsrc/menu/xonotic/dialog_settings_video.c:97 msgid "Contrast:" msgstr "Contrast:" -#: 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 "Verhoog contrast:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:96 +#: qcsrc/menu/xonotic/dialog_settings_video.c:110 msgid "Saturation:" msgstr "Verzadiging:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:102 +#: qcsrc/menu/xonotic/dialog_settings_video.c:116 msgid "LIT^Ambient:" msgstr "LIT^Omgevingslicht" -#: qcsrc/menu/xonotic/dialog_settings_video.c:105 +#: qcsrc/menu/xonotic/dialog_settings_video.c:119 msgid "Intensity:" msgstr "Intensiteit:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:123 +msgid "Use OpenGL 2.0 shaders (GLSL)" +msgstr "Gebruik OpenGL 2.0 shaders (GLSL)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:125 +msgid "Use GLSL to handle color control" +msgstr "Gebruik GLSL voor gamma correctie" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:128 +msgid "Wait for GPU to finish each frame" +msgstr "Wacht op GPU voor elk frame" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:132 +msgid "Psycho coloring (easter egg)" +msgstr "Psycho kleuren (easter egg)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:135 +msgid "Trippy vertices (easter egg)" +msgstr "Trippy vertices (easter egg)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:138 +msgid "Flip view horizontally" +msgstr "Spiegel zicht horizontaal" + #: qcsrc/menu/xonotic/dialog_singleplayer.c:4 msgid "Singleplayer" msgstr "Singleplayer" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:127 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:116 msgid "Instant action! (random map with bots)" msgstr "Instant actie! (random map met bots)" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:148 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:137 +msgid "Campaign Difficulty:" +msgstr "Campaign moeilijkheid" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:138 +msgid "CSKL^Easy" +msgstr "Makkelijk" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:139 +msgid "CSKL^Medium" +msgstr "Gemiddeld" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:140 +msgid "CSKL^Hard" +msgstr "Moeilijk" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:142 msgid "Start Singleplayer!" msgstr "Start Singleplayer!" @@ -2330,23 +2937,23 @@ msgstr "roze" msgid "spectate" msgstr "observeren" -#: 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 "Druk deze knop niet meer in!" -#: 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 "" "He? Kan (m is NULL) niet spelen. Opnieuw filteren zodat dit niet weer " "gebeurt.\n" -#: qcsrc/menu/xonotic/maplist.c:286 +#: qcsrc/menu/xonotic/maplist.c:290 #, c-format msgid "%s's Xonotic Server" msgstr "%s zijn 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" @@ -2354,7 +2961,11 @@ msgstr "" "He? Kan (ongeldige spel modus) niet spelen. Opnieuw filteren zodat dit niet " "weer gebeurt.\n" -#: qcsrc/menu/xonotic/playermodel.c:174 +#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128 +msgid "spectator" +msgstr "observeerder" + +#: qcsrc/menu/xonotic/playermodel.c:177 msgid "<no model found>" msgstr "<geen model gevonden>" @@ -2366,23 +2977,23 @@ msgstr "Verwijderen" msgid "Bookmark" msgstr "Bookmark" -#: qcsrc/menu/xonotic/serverlist.c:527 +#: qcsrc/menu/xonotic/serverlist.c:548 msgid "Ping" msgstr "Ping" -#: qcsrc/menu/xonotic/serverlist.c:528 +#: qcsrc/menu/xonotic/serverlist.c:549 msgid "Host name" msgstr "Server naam" -#: qcsrc/menu/xonotic/serverlist.c:529 +#: qcsrc/menu/xonotic/serverlist.c:550 msgid "Map" msgstr "Map" -#: qcsrc/menu/xonotic/serverlist.c:530 +#: qcsrc/menu/xonotic/serverlist.c:551 msgid "Type" msgstr "Type" -#: qcsrc/menu/xonotic/serverlist.c:531 +#: qcsrc/menu/xonotic/serverlist.c:552 msgid "Players" msgstr "Spelers" @@ -2412,25 +3023,25 @@ msgstr "%s dB" 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 "HTTP verzoek ontvangen voor ongeldig id %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 "fout bij ontvangen update melding: status is %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 "fout: HTML ontvangen in plaats van update melding\n" -#: qcsrc/menu/xonotic/util.qc:295 +#: qcsrc/menu/xonotic/util.qc:301 msgid "error: received carriage returns from update notification server\n" msgstr "fout: enters ontvangen van update meldingsserver" -#: qcsrc/menu/xonotic/util.qc:316 +#: qcsrc/menu/xonotic/util.qc:322 #, c-format msgid "" "Update can be downloaded at:\n" @@ -2439,21 +3050,21 @@ msgstr "" "Update kan gedownload worden bij:\n" "%s\n" -#: qcsrc/menu/xonotic/util.qc:337 +#: qcsrc/menu/xonotic/util.qc:351 msgid "Autogenerating mapinfo for newly added maps..." msgstr "Automatisch map info aanmaken voor nieuwe maps..." -#: qcsrc/menu/xonotic/util.qc:367 +#: qcsrc/menu/xonotic/util.qc:381 #, c-format msgid "^1%s TEST BUILD" -msgstr "" +msgstr "^1%s TEST BUILD" -#: qcsrc/menu/xonotic/util.qc:432 +#: qcsrc/menu/xonotic/util.qc:439 #, c-format msgid "Update to %s now!" msgstr "Update nu naar %s!" -#: 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" @@ -2461,454 +3072,186 @@ msgstr "" "^1ERROR: Textuurcompressie is nodig maar niet ondersteund.\n" "^1Verwacht grafische problemen.\n" -#: qcsrc/menu/xonotic/util.qc:523 -msgid "Arena" -msgstr "Arena" - -#: qcsrc/menu/xonotic/util.qc:524 -msgid "Assault" -msgstr "Assault" - -#: qcsrc/menu/xonotic/util.qc:525 -msgid "Capture The Flag" -msgstr "Capture The Flag" - -#: qcsrc/menu/xonotic/util.qc:526 -msgid "Clan Arena" -msgstr "Clan Arena" - -#: qcsrc/menu/xonotic/util.qc:527 -msgid "Deathmatch" -msgstr "Deathmatch" - -#: qcsrc/menu/xonotic/util.qc:528 -msgid "Domination" -msgstr "Domination" - -#: qcsrc/menu/xonotic/util.qc:529 -msgid "Freeze Tag" -msgstr "Freeze Tag" - -#: qcsrc/menu/xonotic/util.qc:530 -msgid "Keepaway" -msgstr "Keepaway" - -#: qcsrc/menu/xonotic/util.qc:531 -msgid "Key Hunt" -msgstr "Key Hunt" - -#: qcsrc/menu/xonotic/util.qc:532 -msgid "Last Man Standing" -msgstr "Last Man Standing" - -#: qcsrc/menu/xonotic/util.qc:533 -msgid "Nexball" -msgstr "Nexball" - -#: qcsrc/menu/xonotic/util.qc:534 -msgid "Onslaught" -msgstr "Onslaught" - -#: qcsrc/menu/xonotic/util.qc:535 -msgid "Race" -msgstr "Race" - -#: qcsrc/menu/xonotic/util.qc:536 -msgid "Race CTS" -msgstr "Race CTS" - -#: qcsrc/menu/xonotic/util.qc:537 -msgid "Runematch" -msgstr "Runematch" - -#: qcsrc/menu/xonotic/util.qc:538 -msgid "Team Deathmatch" -msgstr "Team Deathmatch" - -#: qcsrc/menu/xonotic/util.qc:557 -#, c-format -msgid "@!#%'n Tuba Throwing" -msgstr "@!#%'n Tuba Smijten" - -#: 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 "Standaard" - -#: qcsrc/menu/xonotic/util.qc:588 +#: qcsrc/menu/xonotic/util.qc:643 msgid "Use default" msgstr "Gebruik standaard" -#: qcsrc/menu/xonotic/util.qc:608 +#: qcsrc/menu/xonotic/util.qc:663 msgid "Team Color:" msgstr "Team Kleur:" -#: qcsrc/menu/xonotic/util.qh:47 +#: qcsrc/menu/xonotic/util.qh:50 msgid "Enable panel" msgstr "Activeer paneel" -#: qcsrc/server/w_crylink.qc:2 -msgid "Crylink" -msgstr "Crylink" +#: weapons.qc.tmp:1 +msgid "Rifle" +msgstr "Geweer" -#: qcsrc/server/w_crylink.qc:666 -#, c-format -msgid "%s succeeded at self-destructing themself with the Crylink" -msgstr "" +#: weapons.qc.tmp:2 +msgid "Machine Gun" +msgstr "Machine Gun" -#: qcsrc/server/w_crylink.qc:671 -#, c-format -msgid "%s could not hide from %s's Crylink" -msgstr "" +#: weapons.qc.tmp:3 +msgid "Rocket Launcher" +msgstr "Rocket Launcher" -#: qcsrc/server/w_crylink.qc:673 -#, c-format -msgid "%s was too close to %s's Crylink" -msgstr "" +#: weapons.qc.tmp:4 +msgid "Port-O-Launch" +msgstr "Port-O-Launch" -#: qcsrc/server/w_crylink.qc:675 -#, c-format -msgid "%s took a close look at %s's Crylink" -msgstr "" +#: weapons.qc.tmp:5 +msgid "Grappling Hook" +msgstr "Grappling Hook" -#: qcsrc/server/w_electro.qc:2 +#: weapons.qc.tmp:6 msgid "Electro" msgstr "Electro" -#: qcsrc/server/w_electro.qc:574 -#, c-format -msgid "%s could not remember where they put plasma" -msgstr "" - -#: qcsrc/server/w_electro.qc:576 -#, c-format -msgid "%s played with plasma" -msgstr "" - -#: qcsrc/server/w_electro.qc:583 -#, c-format -msgid "%s just noticed %s's blue ball" -msgstr "" - -#: qcsrc/server/w_electro.qc:585 -#, c-format -msgid "%s got in touch with %s's blue ball" -msgstr "" - -#: qcsrc/server/w_electro.qc:590 -#, c-format -msgid "%s felt the electrifying air of %s's combo" -msgstr "" - -#: qcsrc/server/w_electro.qc:592 -#, c-format -msgid "%s got too close to %s's blue beam" -msgstr "" - -#: qcsrc/server/w_electro.qc:594 -#, c-format -msgid "%s was blasted by %s's blue beam" -msgstr "" - -#: qcsrc/server/w_fireball.qc:2 -msgid "Fireball" -msgstr "Fireball" - -#: qcsrc/server/w_fireball.qc:417 -#, c-format -msgid "%s forgot about some firemine" -msgstr "" - -#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240 -#, c-format -msgid "%s should have used a smaller gun" -msgstr "" - -#: qcsrc/server/w_fireball.qc:426 -#, c-format -msgid "%s tried to catch %s's firemine" -msgstr "" +#: weapons.qc.tmp:7 +msgid "Laser" +msgstr "Laser" -#: qcsrc/server/w_fireball.qc:428 -#, c-format -msgid "%s fatefully ignored %s's firemine" -msgstr "" +#: weapons.qc.tmp:8 +msgid "Shotgun" +msgstr "Shotgun" -#: qcsrc/server/w_fireball.qc:435 +#: weapons.qc.tmp:9 #, c-format -msgid "%s could not hide from %s's fireball" -msgstr "" +msgid "@!#%'n Tuba" +msgstr "@!#%'n Tuba" -#: qcsrc/server/w_fireball.qc:437 -#, c-format -msgid "%s saw the pretty lights of %s's fireball" -msgstr "" +#: weapons.qc.tmp:10 +msgid "MinstaNex" +msgstr "MinstaNex" -#: qcsrc/server/w_fireball.qc:440 -#, c-format -msgid "%s got too close to %s's fireball" -msgstr "" +#: weapons.qc.tmp:11 +msgid "Crylink" +msgstr "Crylink" -#: qcsrc/server/w_fireball.qc:442 -#, c-format -msgid "%s tasted %s's fireball" -msgstr "" +#: weapons.qc.tmp:12 +msgid "Heavy Laser Assault Cannon" +msgstr "Heavy Laser Assault Cannon" -#: qcsrc/server/w_grenadelauncher.qc:2 +#: weapons.qc.tmp:13 msgid "Mortar" msgstr "Mortar" -#: qcsrc/server/w_grenadelauncher.qc:383 -#, c-format -msgid "%s tried out his own grenade" -msgstr "" - -#: qcsrc/server/w_grenadelauncher.qc:385 -#, c-format -msgid "%s detonated" -msgstr "" - -#: qcsrc/server/w_grenadelauncher.qc:391 -#, c-format -msgid "%s didn't see %s's grenade" -msgstr "" - -#: qcsrc/server/w_grenadelauncher.qc:393 -#, c-format -msgid "%s almost dodged %s's grenade" -msgstr "" - -#: qcsrc/server/w_grenadelauncher.qc:395 -#, c-format -msgid "%s ate %s's grenade" -msgstr "" - -#: qcsrc/server/w_hagar.qc:2 +#: weapons.qc.tmp:14 msgid "Hagar" msgstr "Hagar" -#: qcsrc/server/w_hagar.qc:395 qcsrc/server/w_seeker.qc:655 -#, c-format -msgid "%s played with tiny rockets" -msgstr "" - -#: qcsrc/server/w_hagar.qc:399 -#, c-format -msgid "%s hoped %s's missiles wouldn't bounce" -msgstr "" - -#: qcsrc/server/w_hagar.qc:401 qcsrc/server/w_seeker.qc:661 -#, c-format -msgid "%s was pummeled by %s" -msgstr "" - -#: qcsrc/server/w_hlac.qc:2 -msgid "Heavy Laser Assault Cannon" -msgstr "Heavy Laser Assault Cannon" - -#: qcsrc/server/w_hlac.qc:242 -#, c-format -msgid "%s was cut down by %s" -msgstr "" - -#: qcsrc/server/w_hook.qc:2 -msgid "Grappling Hook" -msgstr "Grappling Hook" - -#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296 -#, c-format -msgid "%s did the impossible" -msgstr "" - -#: qcsrc/server/w_hook.qc:268 -#, c-format -msgid "%s has run into %s's gravity bomb" -msgstr "" - -#: qcsrc/server/w_laser.qc:2 -msgid "Laser" -msgstr "Laser" - -#: qcsrc/server/w_laser.qc:311 -#, c-format -msgid "%s lasered themself to hell" -msgstr "" - -#: qcsrc/server/w_laser.qc:315 -#, c-format -msgid "%s was cut in half by %s's gauntlet" -msgstr "" +#: weapons.qc.tmp:15 +msgid "T.A.G. Seeker" +msgstr "T.A.G. Seeker" -#: qcsrc/server/w_laser.qc:317 -#, c-format -msgid "%s was lasered to death by %s" -msgstr "" +#: weapons.qc.tmp:16 +msgid "Fireball" +msgstr "Fireball" -#: qcsrc/server/w_minelayer.qc:2 +#: weapons.qc.tmp:17 msgid "Mine Layer" msgstr "Mine Layer" -#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501 -#, c-format -msgid "%s exploded" -msgstr "" +#: weapons.qc.tmp:18 +msgid "Nex" +msgstr "Nex" -#: qcsrc/server/w_minelayer.qc:527 -#, c-format -msgid "%s got too close to %s's mine" -msgstr "" +#~ msgid "Gameplay:" +#~ msgstr "Gameplay:" -#: qcsrc/server/w_minelayer.qc:529 -#, c-format -msgid "%s almost dodged %s's mine" -msgstr "" +#~ msgid "Ping:" +#~ msgstr "Ping:" -#: qcsrc/server/w_minelayer.qc:531 -#, c-format -msgid "%s stepped on %s's mine" -msgstr "" +#~ msgid "CA:" +#~ msgstr "CA:" -#: qcsrc/server/w_minstanex.qc:2 -msgid "MinstaNex" -msgstr "MinstaNex" +#~ msgid "View bobbing:" +#~ msgstr "Schommelend zicht:" -#: 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 "" +#~ msgid "Zoom speed:" +#~ msgstr "Zoom snelheid:" -#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:255 -#, c-format -msgid "%s has been vaporized by %s" -msgstr "" +#~ msgid "Weapon settings..." +#~ msgstr "Wapen instellingen..." -#: qcsrc/server/w_nex.qc:2 -msgid "Nex" -msgstr "Nex" +#~ msgid "Size:" +#~ msgstr "Grootte" -#: qcsrc/server/w_porto.qc:2 -msgid "Port-O-Launch" -msgstr "Port-O-Launch" +#~ msgid "HTST^None" +#~ msgstr "HTST^Geen" -#: qcsrc/server/w_porto.qc:298 -#, c-format -msgid "%s felt %s doing the impossible to him" -msgstr "" +#~ msgid "Waypoints setup..." +#~ msgstr "Wegwijzers instellingen" -#: qcsrc/server/w_rifle.qc:2 -msgid "Rifle" -msgstr "" +#~ msgid "Waypoint scale:" +#~ msgstr "Wegwijzer schaal:" -#: qcsrc/server/w_rifle.qc:233 -#, c-format -msgid "%s shot themself automatically" -msgstr "" +#~ msgid "Show names:" +#~ msgstr "Laat namen zien:" -#: qcsrc/server/w_rifle.qc:235 -#, c-format -msgid "%s sniped themself somehow" -msgstr "" +#~ msgid "Teammates" +#~ msgstr "Teammaten" -#: qcsrc/server/w_rifle.qc:242 -#, c-format -msgid "%s failed to hide from %s's bullet hail" -msgstr "" +#~ msgid "All players" +#~ msgstr "Alle spelers" -#: qcsrc/server/w_rifle.qc:244 -#, c-format -msgid "%s died in %s's bullet hail" -msgstr "" +#~ msgid "Spatial voices:" +#~ msgstr "Ruimtelijke stemmen:" -#: qcsrc/server/w_rifle.qc:251 -#, c-format -msgid "%s failed to hide from %s's rifle" -msgstr "" +#~ msgid "VOCS^None" +#~ msgstr "VOCS^Geen" -#: qcsrc/server/w_rifle.qc:256 -#, c-format -msgid "%s got hit in the head by %s" -msgstr "" +#~ msgid "VOCS^Taunts" +#~ msgstr "VOCS^Honen" -#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321 -#, c-format -msgid "%s was sniped by %s" -msgstr "" +#~ msgid "VOCS^All" +#~ msgstr "VOCS^Alles" -#: qcsrc/server/w_rocketlauncher.qc:2 -msgid "Rocket Launcher" -msgstr "Rocket Launcher" +#~ msgid "Taunt range:" +#~ msgstr "Hoon afstand:" -#: qcsrc/server/w_rocketlauncher.qc:505 -#, c-format -msgid "%s got too close to %s's rocket" -msgstr "" - -#: qcsrc/server/w_rocketlauncher.qc:507 -#, c-format -msgid "%s almost dodged %s's rocket" -msgstr "" +#~ msgid "RNG^Very short" +#~ msgstr "RNG^Erg kort" -#: qcsrc/server/w_rocketlauncher.qc:509 -#, c-format -msgid "%s ate %s's rocket" -msgstr "" +#~ msgid "RNG^Short" +#~ msgstr "RNG^Kort" -#: qcsrc/server/w_seeker.qc:2 -msgid "T.A.G. Seeker" -msgstr "T.A.G. Seeker" +#~ msgid "RNG^Normal" +#~ msgstr "RNG^Normaal" -#: qcsrc/server/w_seeker.qc:659 -#, c-format -msgid "%s was tagged by %s" -msgstr "" +#~ msgid "RNG^Long" +#~ msgstr "RNG^Lang" -#: qcsrc/server/w_shotgun.qc:2 -msgid "Shotgun" -msgstr "Shotgun" +#~ msgid "RNG^Full" +#~ msgstr "RNG^Vol" -#: qcsrc/server/w_shotgun.qc:219 -#, c-format -msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" -msgstr "" +#~ msgid "WRN^None" +#~ msgstr "WRN^Geen" -#: qcsrc/server/w_shotgun.qc:221 -#, c-format -msgid "%s was gunned by %s" -msgstr "" +#~ msgid "Flash blend approximation" +#~ msgstr "Flash blend approximation" -#: qcsrc/server/w_tuba.qc:2 -#, c-format -msgid "@!#%'n Tuba" -msgstr "@!#%'n Tuba" +#~ msgid "High Dynamic Range (HDR)" +#~ msgstr "Hoog dynamisch bereik (HDR)" -#: qcsrc/server/w_tuba.qc:252 -#, c-format -msgid "%s hurt his own ears with the @!#%%'n Tuba" -msgstr "" +#~ msgid "UI mouse speed:" +#~ msgstr "UI muis snelheid:" -#: qcsrc/server/w_tuba.qc:256 -#, c-format -msgid "%s died of %s's great playing on the @!#%%'n Tuba" -msgstr "" +#~ msgid "Mouse filter" +#~ msgstr "Muis filter" -#: qcsrc/server/w_uzi.qc:2 -msgid "Machine Gun" -msgstr "Machine Gun" +#~ msgid "Minimize input latency" +#~ msgstr "Minimaliseer input latentie" -#: qcsrc/server/w_uzi.qc:323 -#, c-format -msgid "%s was riddled full of holes by %s" -msgstr "" +#~ msgid "Network speed:" +#~ msgstr "Netwerk snelheid:" -#, fuzzy -#~ msgid "Damage & water blur" -#~ msgstr "Schadeonscherpte" +#~ msgid "HTTP downloads:" +#~ msgstr "HTTP downloads:" -#, fuzzy -#~ msgid "Powerup sharpen" -#~ msgstr "Powerups paneel" +#~ msgid "Disable multithreaded OpenGL" +#~ msgstr "Schakel multithreaded OpenGL uit" #~ msgid "Speedometer" #~ msgstr "Snelheidsmeter" @@ -2928,5 +3271,8 @@ msgstr "" #~ msgid "Waypoint settings:" #~ msgstr "Wegwijzer instellingen" -#~ msgid "%d/%d" -#~ msgstr "%d/%d" +#~ msgid "Damage & water blur" +#~ msgstr "Schade & water onscherpte" + +#~ msgid "Powerup sharpen" +#~ msgstr "Powerup verscherpen" diff --git a/menu.dat.pot b/menu.dat.pot index f300f549f..864aa5ea4 100644 --- a/menu.dat.pot +++ b/menu.dat.pot @@ -8,7 +8,7 @@ msgid "" 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" @@ -17,2728 +17,3126 @@ msgstr "" "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 "" diff --git a/menu.dat.pt.po b/menu.dat.pt.po index a043dc30b..0426225e3 100644 --- a/menu.dat.pt.po +++ b/menu.dat.pt.po @@ -2,12 +2,12 @@ # 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. -# +# msgid "" msgstr "" "Project-Id-Version: Xontoic 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: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Ricardo 'Hellgardia' Silva <ricardo.mccs@gmail.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -16,33 +16,102 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: qcsrc/common/mapinfo.qc:1092 qcsrc/menu/xonotic/skinlist.c:163 +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "@!#%'n Tuba Throwing" + +#: 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 "Combate até à Morte" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "O Ultimo a Cair" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Arena" + +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "Luta de Runas" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Corrida" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "Corrida CTS" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "Combate até à Morte por Equipas" + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Captura a Bandeira" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Clan Arena" + +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Domínio" + +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Procura da Chave" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "Assalto" + +#: qcsrc/common/mapinfo.qh:72 +msgid "Onslaught" +msgstr "Investida" + +#: 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 "Keepaway" + +#: qcsrc/menu/command/menu_cmd.qc:41 #, c-format msgid "error: status is %d\n" msgstr "erro: o estado é &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 "Uso: menu_cmd command..., onde estão possíveis comandos:\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 - recarrega todas as cvars no menu actual" -#: 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 ITEM - selecciona um item do menu como o principal\n" -#: qcsrc/menu/gamecommand.qc:193 +#: qcsrc/menu/command/menu_cmd.qc:179 msgid "error creating curl handle\n" msgstr "erro a criar 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 "" "Comando inválido. Para uma lista de comandos suportados, escrever menu_cmd " @@ -73,17 +142,17 @@ msgstr "%d (%s)" msgid "custom" msgstr "modificado" -#: qcsrc/menu/menu.qc:29 +#: qcsrc/menu/menu.qc:37 #, c-format msgid "^4MQC Build information: ^1%s\n" msgstr "^4MQC Informação da Build %s\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 "Nível %d: %s" @@ -114,10 +183,14 @@ msgstr "Créditos" #: 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" @@ -126,7 +199,7 @@ msgstr "OK" msgid "Welcome" msgstr "Bem-Vindo" -#: 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 " @@ -135,18 +208,34 @@ msgstr "" "Bem-vindo ao Xonotic, por favor escolhe a linguagem de preferência e insere " "o nick para começar. Pode mudar as opções mais tarde nas opções." -#: qcsrc/menu/xonotic/dialog_firstrun.c:38 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 -msgid "Text language:" -msgstr "Linguagem do texto:" - -#: 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 "Nome:" -#: 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 "Linguagem do texto:" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:77 +msgid "Allow player statistics to use your nickname at stats.xonotic.org?" +msgstr "Permitir utilizacao do nick nas estatisticas em stats.xonotic.org?" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:81 +msgid "ALWU2N^Yes" +msgstr "ALWU2N^Sim" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:82 +msgid "ALWU2N^No" +msgstr "ALWU2N^Nao" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:83 +msgid "ALWU2N^Undecided" +msgstr "ALWU2N^Nao decidido" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:87 msgid "Save settings" msgstr "Guardar Definições" @@ -205,7 +294,7 @@ msgid "Text alignment:" msgstr "Alinhamento do Texto" #: 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 "Centro" @@ -349,12 +438,12 @@ msgid "Status bar" msgstr "Barra de estado" #: 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 "Alinhamento à esquerda" #: 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 "Alinhamento à direita" @@ -371,6 +460,7 @@ msgid "Flip speed/acceleration positions" msgstr "Trocar posição da velocidade e aceleração" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:29 msgid "Speed:" msgstr "Velocidade:" @@ -462,8 +552,8 @@ msgstr "Radar:" #: 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 "Alfa:" @@ -492,6 +582,7 @@ msgid "North" msgstr "Para norte" #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61 msgid "Scale:" msgstr "Escala:" @@ -568,7 +659,6 @@ msgid "Fade out after:" msgstr "Desaparecer após:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36 msgid "Never" msgstr "Nunca" @@ -602,34 +692,38 @@ msgid "Weapon icons:" msgstr "Icones das armas" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45 +msgid "Show only owned weapons" +msgstr "Mostrar armas obtidas" + +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 msgid "Show weapon ID as:" msgstr "Mostra o ID da arma como:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49 msgid "SHOWAS^None" msgstr "Nenhum" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50 msgid "Number" msgstr "Número" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 msgid "Bind" msgstr "Ligar" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54 msgid "Show Accuracy" msgstr "Mostrar Pontaria" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 msgid "Show Ammo" msgstr "Mostrar Munições" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58 msgid "Ammo bar color:" msgstr "Cor da barra de munições:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64 msgid "Ammo bar alpha:" msgstr "Cor da barra alfa:" @@ -641,24 +735,24 @@ msgstr "Configuração do painel do HUD" msgid "Panel background defaults:" msgstr "Fundo do painel por defeito:" -#: 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 "Fundo:" #: 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 "Desactivar" #: 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 "Cor:" -#: 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 "Tamanho do limite:" @@ -667,11 +761,11 @@ msgstr "Tamanho do limite:" msgid "Team color:" msgstr "Cor da Equipa:" -#: 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 "Testa cor da equipa no modo de configuração" -#: 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 "Padding:" @@ -745,127 +839,123 @@ msgstr "Configuração do Jogador" msgid "Game type:" msgstr "Tipo de jogo:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46 -msgid "Match settings:" -msgstr "Definições de jogo:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48 msgid "Time limit:" msgstr "Tempo limite:" -#: 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 "Usar definição específica do mapa" -#: 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 pontos:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63 msgid "Player slots:" msgstr "Slots para Jogadores:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66 msgid "Number of bots:" msgstr "Número de jogadores controlados pelo computador:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69 msgid "Bot skill:" msgstr "Nível de dificuldade:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72 msgid "Botlike" msgstr "Bot" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73 msgid "Beginner" msgstr "Iniciado" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 msgid "You will win" msgstr "Vais ganhar" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 msgid "You can win" msgstr "Podes ganhar" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 msgid "You might win" msgstr "Talvez ganhes" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 msgid "Advanced" msgstr "Avançado" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 msgid "Expert" msgstr "Perito" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 msgid "Pro" msgstr "Profissional" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 msgid "Assassin" msgstr "Assassino" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 msgid "Unhuman" msgstr "Desumano" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 msgid "Godlike" msgstr "Divinal" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:88 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87 msgid "Mutators..." msgstr "Mutators..." -#: 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 "Definições avançadas..." -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103 msgid "Map list:" msgstr "Lista de mapas:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109 msgid "Select all" msgstr "Seleccionar todos" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112 msgid "Select none" msgstr "Seleccionar nenhum" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118 msgid "Start Multiplayer!" msgstr "Começar Multijogador!" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153 msgid "Capture limit:" msgstr "Limite de capturas:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157 msgid "Lives:" msgstr "Vidas:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 msgid "Laps:" msgstr "Voltas:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 msgid "Goals:" msgstr "Golos:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163 msgid "Frag limit:" msgstr "Limite de Frags:" @@ -969,28 +1059,28 @@ msgstr "Colocação total dos items" msgid "MinstaGib only" msgstr "Apenas MinstaGib" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81 msgid "Title:" msgstr "Título:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87 msgid "Author:" msgstr "Autor:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93 msgid "Features:" msgstr "Características:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98 msgid "Game types:" msgstr "Modos de jogo:" -#: 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 "Fechar" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124 msgid "MAP^Play" msgstr "Jogar" @@ -1012,108 +1102,121 @@ msgid "%s Arena" msgstr "%s Arena" #: 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 "Desvio" #: 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 "Voar com Rockets" -#: 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 "Projecteis invenciveis" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:272 msgid "No start weapons" msgstr "Sem armas iniciais" -#: 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 "Pouca gravidade" -#: 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 "Escondido" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86 msgid "Hook" msgstr "Gancho" -#: 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 "A meio do ar" -#: 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 "Vampiro" -#: 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 "Armas ficam" -#: 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 "Perda de sangue" -#: 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 "Jetpack" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100 +msgid "No powerups" +msgstr "Remover powerups" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102 +msgid "Powerups" +msgstr "Painel de Powerups" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104 msgid "MUT^None" msgstr "Nenhum" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170 msgid "Gameplay mutators:" msgstr "Mutators de jogabilidade" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201 msgid "Weapon & item mutators:" msgstr "Mutators de armas e items" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204 msgid "Grappling hook" msgstr "Gancho de trepar" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223 msgid "Weapon arenas:" msgstr "Arenas de Armas:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226 msgid "Regular (no arena)" msgstr "Regular (não arena específica)" -#: 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 "com laser" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255 msgid "Special arenas:" msgstr "Arenas Especiais:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268 msgid "Most weapons" msgstr "Maior parte das Armas" @@ -1122,29 +1225,28 @@ msgid "Demo" msgstr "Demo" #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 -msgid "Record demos while playing" +msgid "Automatically record demos while playing" msgstr "Gravar demos enquanto joga" -#: 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 "Filtrar:" -#: 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 "Limpar" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45 msgid "Timedemo" msgstr "Demo temporizado" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48 msgid "DEMO^Play" -msgstr "Jogar" +msgstr "DEMO^Jogar" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:4 msgid "Join" @@ -1163,6 +1265,7 @@ msgid "Pause" msgstr "Pausar" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 msgid "Address:" msgstr "Endereço:" @@ -1171,7 +1274,7 @@ msgid "Info..." msgstr "Informação..." #: 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 "Juntar!" @@ -1179,293 +1282,472 @@ msgstr "Juntar!" msgid "Server Information" msgstr "Informação do Servidor" -#: 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 slots disponíveis" +msgid "%d/%d" +msgstr "%d/%d" + +#: 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 "Por Defeito" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 #, c-format -msgid "%d modified settings" +msgid "%d modified" msgstr "%d definições modificadas" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 -msgid "Official settings" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 +msgid "Official" msgstr "Definições oficiais" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197 -msgid "N/A (can't connect)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208 +msgid "N/A (auth library missing, can't connect)" msgstr "N/A (não conseguiu ligar)" -#: 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 "N/A (biblioteca de autenticacao nao encontrada)" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216 +msgid "Not supported (can't connect)" msgstr "não é suportado (não conseguiu ligar)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207 -msgid "not supported (won't encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218 +msgid "Not supported (won't encrypt)" msgstr "não suportado (não encripta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211 -msgid "supported (will encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222 +msgid "Supported (will encrypt)" msgstr "suportado (vai encriptar)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213 -msgid "supported (won't encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224 +msgid "Supported (won't encrypt)" msgstr "suportado (não encripta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217 -msgid "requested (will encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228 +msgid "Requested (will encrypt)" msgstr "pedido (encripta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219 -msgid "requested (won't encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230 +msgid "Requested (won't encrypt)" msgstr "pedido (não encripta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223 -msgid "required (can't connect)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234 +msgid "Required (can't connect)" msgstr "necessário (não consegue ligar)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225 -msgid "required (will encrypt)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236 +msgid "Required (will encrypt)" msgstr "necessário (encripta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269 -msgid "Players:" -msgstr "Jogadores:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:256 +msgid "Hostname:" +msgstr "Nome do Host" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254 -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38 -msgid "Type:" -msgstr "Tipo:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270 +msgid "Gametype:" +msgstr "Tipo de jogo:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275 msgid "Map:" msgstr "Mapa:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264 -msgid "Gameplay:" -msgstr "Jogabilidade:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274 -msgid "Bots:" -msgstr "Jogadores controlados pelo computador:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280 msgid "Mod:" msgstr "Mod:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285 msgid "Version:" msgstr "Versão:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289 -msgid "Ping:" -msgstr "Ping:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290 +msgid "Settings:" +msgstr "Definições" -#: 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 "Jogadores:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301 -msgid "Key:" -msgstr "Chave:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302 +msgid "Bots:" +msgstr "Jogadores controlados pelo computador:" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307 +msgid "Free slots:" +msgstr "Slots para Jogadores:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313 msgid "Encryption:" msgstr "Encriptação:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318 +msgid "ID:" +msgstr "ID:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323 +msgid "Key:" +msgstr "Chave:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60 +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19 msgid "Model:" msgstr "Modelo:" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 -msgid "Field of view:" -msgstr "Campo de visão:" +msgid "No crosshair" +msgstr "Sem mira" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92 -msgid "View bobbing:" -msgstr "Ver tremor:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90 +msgid "Per weapon crosshair" +msgstr "Mira por arma" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96 -msgid "Zoom factor:" -msgstr "Factor de Ampliação (ZOOM):" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100 -msgid "Zoom speed:" -msgstr "Velocidade de Ampliação (ZOOM):" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:103 -msgid "Weapon settings..." -msgstr "Definições das Armas..." - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110 -msgid "Crosshair:" -msgstr "Mira:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:111 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 -msgid "Per weapon" -msgstr "Por arma" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93 +msgid "Custom crosshair" +msgstr "Mira custom" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112 msgid "Crosshair size:" msgstr "Tamanho da mira:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:134 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117 msgid "Crosshair alpha:" msgstr "Alfa da mira:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:138 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123 msgid "Crosshair color:" msgstr "Cor da mira:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125 +msgid "Per weapon" +msgstr "Por arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127 msgid "By health" msgstr "Por vida" -#: 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 "modificado" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148 -msgid "Enable center dot" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 +msgid "Other crosshair settings" +msgstr "Definições de mira" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6 +msgid "Model settings" +msgstr "Definições do modelo" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6 +msgid "View settings" +msgstr "Ver Definições" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 +msgid "Weapon settings" +msgstr "Definições de Armas" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6 +msgid "HUD settings" +msgstr "HUD - Definições" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 +#: 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 "Aplicar imediatamente" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6 +msgid "Crosshair settings" +msgstr "Definições da mira" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28 +msgid "Enable center crosshair dot" msgstr "Activar ponto central" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151 -msgid "Size:" -msgstr "Tamanho:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31 +msgid "Dot size:" +msgstr "Tamanho do Ponto:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36 +msgid "Dot alpha:" +msgstr "Ponto brilho:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41 +msgid "Dot color:" +msgstr "Cor do Ponto:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43 +msgid "Use normal crosshair color" +msgstr "Cor da mira normal" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54 +msgid "Crosshair animations:" +msgstr "Animações da mira:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57 +msgid "Smooth effects of crosshairs" +msgstr "Suavizar mira" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158 -msgid "Hit test:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61 +msgid "Use rings to indicate weapon status" +msgstr "Usar aneis para indicar estado da arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67 +msgid "Hit testing:" msgstr "Teste de Tiro:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 -msgid "HTST^None" -msgstr "Nenhum" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69 +msgid "HTTST^Disabled" +msgstr "HTTST^Desligado" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160 -msgid "TrueAim" -msgstr "PontariaCerta" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70 +msgid "HTTST^TrueAim" +msgstr "HTTST^PontariaCerta" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161 -msgid "Enemies" -msgstr "Inimigos" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71 +msgid "HTTST^Enemies" +msgstr "HTTST^Inimigos" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164 -msgid "Waypoints setup..." -msgstr "Configurar caminhos..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76 +msgid "Blur crosshair if the shot is obstructed" +msgstr "Esbater mira se o tiro e obstruido" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81 +msgid "Animate when hitting an enemy" +msgstr "Animar quando atinge inimigo" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85 +msgid "Animate when picking up an item" +msgstr "Animar quando apanha item" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40 +msgid "Damage:" +msgstr "Dano:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43 +msgid "Overlay:" +msgstr "Sobreposicao:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47 +msgid "Factor:" +msgstr "Factor de Ampliação (ZOOM):" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:52 +msgid "Fade rate:" +msgstr "Desaparecimento de cada entrada:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:58 +msgid "Waypoints" +msgstr "Caminhos" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:71 +msgid "Edge offset:" +msgstr "Extremidade:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:80 +msgid "Show names above players" +msgstr "Mostrar nomes sobre os jogadores" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83 +msgid "Only when near crosshair" +msgstr "Apenas quando perto da mira" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86 +msgid "Display health and armor" +msgstr "Mostrar posição da vida e armadura" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4 msgid "Enter HUD editor" msgstr "Entrar no editor do HUD" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174 -msgid "Force models:" -msgstr "Forçar modelos:" +#: 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 "Para o editor do HUD aparecer, e preciso estar no jogo." -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 -msgid "MDL^None" -msgstr "Nenhum" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30 +msgid "Do you wish to start a local game to set up the HUD?" +msgstr "Quer começar um jogo local para personalizaro HUD?" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176 -msgid "MDL^Custom" -msgstr "Modificado" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33 +msgid "HDCNFRM^Yes" +msgstr "HDCNFRM^Sim" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177 -msgid "MDL^All" -msgstr "Todos" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36 +msgid "HDCNFRM^No" +msgstr "HDCNFRM^Nao" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180 -msgid "Disable gore effects" -msgstr "Desactivar sangue/violencia" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28 +msgid "Body fading:" +msgstr "Desaparecimento dos corpos:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31 msgid "Gibs:" msgstr "Tripas:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33 msgid "GIBS^None" msgstr "Nenhum" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34 msgid "GIBS^Few" msgstr "Poucas" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35 msgid "GIBS^Many" msgstr "Muitas" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36 msgid "GIBS^Lots" msgstr "Imensas" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:191 -msgid "Damage splash:" -msgstr "Dano Colateral:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40 +msgid "Playermodel LOD:" +msgstr "Jogador LOD:" -#: 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 "Aplicar imediatamente" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44 +msgid "Force models:" +msgstr "Forçar modelos:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5 -msgid "Waypoints" -msgstr "Caminhos" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45 +msgid "MDL^None" +msgstr "Nenhum" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23 -msgid "Show base waypoints" -msgstr "Mostrar caminhos base" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46 +msgid "MDL^Custom" +msgstr "Modificado" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25 -msgid "Waypoint scale:" -msgstr "Escala dos Caminhos:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47 +msgid "MDL^All" +msgstr "Todos" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29 -msgid "Waypoint alpha:" -msgstr "Caminhos alfa:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50 +msgid "Force player models to mine" +msgstr "Forçar modelos:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34 -msgid "Show names:" -msgstr "Mostrar nomes:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52 +msgid "Force player colors to mine" +msgstr "Forçar cores dos jogadores à própria cor" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37 -msgid "Teammates" -msgstr "Companheiros de Equipa" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28 +msgid "Field of view:" +msgstr "Campo de visão:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38 -msgid "All players" -msgstr "Todos os jogadores" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31 +msgid "Zoom:" +msgstr "Modo de ampliação:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 -msgid "Weapon settings" -msgstr "Definições de Armas" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33 +msgid "RETICLE^Fullscreen" +msgstr "RETICLE^Ecrã Inteiro" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 -msgid "Weapon priority list:" -msgstr "Prioridade das Armas:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34 +msgid "RETICLE^With reticle" +msgstr "RETICLE^Com mira" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34 -msgid "Up" -msgstr "Cima" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38 +msgid "ZOOM^Factor:" +msgstr "ZOOM^Factor:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37 -msgid "Down" -msgstr "Baixo" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42 +msgid "ZOOM^Speed:" +msgstr "ZOOM^Velocidade:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52 +msgid "ZOOM^Instant" +msgstr "ZOOM^Instantaneo" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56 +msgid "ZOOM^Sensitivity:" +msgstr "ZOOM^Sensibilidade:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59 +msgid "Velocity zoom:" +msgstr "Velocidade do zoom:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61 +msgid "VZOOM^Disabled" +msgstr "VZOOM^Desligado" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62 +msgid "VZOOM^Forward only" +msgstr "VZOOM^Para a frente apenas" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63 +msgid "VZOOM^All directions" +msgstr "VZOOM^Todas as direcções" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67 +msgid "VZOOM^Speed" +msgstr "VZOOM^Velocidade" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72 +msgid "Allow passing through walls while spectating" +msgstr "Permitir passagem de paredes quando espectador" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75 +msgid "1st person perspective" +msgstr "Perspectiva na 1a pessoa" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79 +msgid "Smooth the view when landing from a jump" +msgstr "Suavizar visibilidade quando aterra de salto" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83 +msgid "Smooth the view while crouching" +msgstr "Suavizar a vista quando agachado" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87 +msgid "View waving while idle" +msgstr "Ver acenos quando ausente" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91 +msgid "View bobbing while walking around" +msgstr "Ver movimento quando a andar" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96 +msgid "3rd person perspective" +msgstr "Perspectiva da 3a pessoa" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100 +msgid "Back distance" +msgstr "Distancia das costas:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106 +msgid "Up distance" +msgstr "Distância para cima:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 +msgid "Weapon priority list:" +msgstr "Prioridade das Armas:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33 +msgid "Up" +msgstr "Cima" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36 +msgid "Down" +msgstr "Baixo" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 msgid "Use priority list for weapon cycling" msgstr "Usar lista de prioridades para ciclo entre as armas" @@ -1473,13 +1755,21 @@ msgstr "Usar lista de prioridades para ciclo entre as armas" msgid "Auto switch weapons on pickup" msgstr "Mudar armas automaticamente ao apanhar do chão" -#: 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 "Desenhar modelo da arma na 1a pessoa" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55 -msgid "Flip view horizontally" -msgstr "Trocar vista horizontal" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58 +msgid "Gun model swaying" +msgstr "Abanos do modelo da arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63 +msgid "Gun model bobbing" +msgstr "'Bobbing' do modelo da arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68 +msgid "VWMDL^Scale" +msgstr "VWMDL^Escala" #: qcsrc/menu/xonotic/dialog_news.c:4 msgid "News" @@ -1493,18 +1783,146 @@ msgstr "http://www.xonotic.org/team/blog/" msgid "Quit" msgstr "Sair" -#: qcsrc/menu/xonotic/dialog_quit.c:17 +#: qcsrc/menu/xonotic/dialog_quit.c:18 msgid "Are you sure you want to quit?" msgstr "Tens a certeza que queres sair?" -#: qcsrc/menu/xonotic/dialog_quit.c:20 +#: qcsrc/menu/xonotic/dialog_quit.c:21 msgid "Yes" msgstr "Sim" -#: qcsrc/menu/xonotic/dialog_quit.c:21 +#: qcsrc/menu/xonotic/dialog_quit.c:22 msgid "No" msgstr "Não" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4 +msgid "Sandbox Tools" +msgstr "Ferramentas Sandbox" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:24 +msgid "Spawn" +msgstr "Spawn" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25 +msgid "Remove *" +msgstr "Remover *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27 +msgid "Copy *" +msgstr "Copiar *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28 +msgid "Paste" +msgstr "Colar" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:30 +msgid "Bone:" +msgstr "Osso:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:35 +msgid "Set * as child" +msgstr "Por * como child" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36 +msgid "Attach to *" +msgstr "Juntar a *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:38 +msgid "Detach from *" +msgstr "Separar de *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:41 +msgid "Visual object properties for *:" +msgstr "Propriedades de objecto visual para *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:43 +msgid "Set skin:" +msgstr "Skin:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45 +msgid "Set alpha:" +msgstr "Definir alfa:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48 +msgid "Set color main:" +msgstr "Cor Principal:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50 +msgid "Set color glow:" +msgstr "Cor - Brilho:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:54 +msgid "Set frame:" +msgstr "Por moldura:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:58 +msgid "Physical object properties for *:" +msgstr "Propriedades de objecto fisico *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:60 +msgid "Set material:" +msgstr "Definir material:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:66 +msgid "Set solidity:" +msgstr "Definir Solidez:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67 +msgid "Non-solid" +msgstr "Não sólido" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68 +msgid "Solid" +msgstr "Sólido" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69 +msgid "Set physics:" +msgstr "Definir física:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70 +msgid "Static" +msgstr "Estática" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71 +msgid "Movable" +msgstr "Movível" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72 +msgid "Physical" +msgstr "Físico" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74 +msgid "Set scale:" +msgstr "Escala:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:76 +msgid "Set force:" +msgstr "Definir força:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:80 +msgid "Claim *" +msgstr "Resgatar*" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:82 +msgid "* object info" +msgstr "Informações de objecto *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83 +msgid "* mesh info" +msgstr "Informações de mesh *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84 +msgid "* attachment info" +msgstr "Informações de extras *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85 +msgid "Show help" +msgstr "Mostrar ajuda" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86 +msgid "* is the object you are facing" +msgstr "* é o objecto para o qual está virado" + #: qcsrc/menu/xonotic/dialog_settings.c:4 msgid "Settings" msgstr "Definições" @@ -1530,9 +1948,9 @@ msgid "Audio" msgstr "Som" #: qcsrc/menu/xonotic/dialog_settings.c:22 -#: qcsrc/menu/xonotic/dialog_settings_network.c:4 -msgid "Network" -msgstr "Rede" +#: qcsrc/menu/xonotic/dialog_settings_user.c:4 +msgid "User" +msgstr "Utilizador" #: qcsrc/menu/xonotic/dialog_settings.c:23 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4 @@ -1543,194 +1961,170 @@ msgstr "Misc" msgid "Master:" msgstr "Principal:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:33 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:35 msgid "Music:" msgstr "Música:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:41 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:45 msgid "VOL^Ambient:" msgstr "Som Ambiente:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:48 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:54 msgid "Info:" msgstr "Informação:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:55 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:63 msgid "Items:" msgstr "Items:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:62 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:72 msgid "Pain:" msgstr "Dor:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:69 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:81 msgid "Player:" msgstr "Jogador:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:76 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:90 msgid "Shots:" msgstr "Tiros:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:83 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:99 msgid "Voice:" msgstr "Voz:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:91 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:109 msgid "Weapons:" msgstr "Armas:" -#: 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 "Novo estilo de atenuação do som" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:119 +msgid "Mute sounds when not active" +msgstr "Sons desligados quando não activo" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:122 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:194 msgid "Frequency:" msgstr "Frequência:" -#: 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 "Canais:" -#: 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 "Stereo" -#: 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 "Trocar Stereo" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:148 msgid "Headphone friendly mode" msgstr "Modo de Headphones" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 -msgid "Spatial voices:" -msgstr "Vozes espaciais:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:132 -msgid "VOCS^None" -msgstr "Nenhum" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:133 -msgid "VOCS^Taunts" -msgstr "Taunts" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 -msgid "VOCS^All" -msgstr "Todos" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 -msgid "Taunt range:" -msgstr "Nível dos taunts:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:140 -msgid "RNG^Very short" -msgstr "Muito baixo" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:141 -msgid "RNG^Short" -msgstr "Baixo" - -#: 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 "Alto" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 +msgid "Hit indication sound" +msgstr "Indicador de tiro acertado" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:144 -msgid "RNG^Full" -msgstr "Total" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:172 +msgid "Chat message sound" +msgstr "Som de aviso de Conversa" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:151 -msgid "Automatic taunts" -msgstr "Taunts Automáticos" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:174 +msgid "Menu sounds" +msgstr "Sons do menu" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:160 -msgid "Time warning:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:177 +msgid "Time announcer:" msgstr "Aviso de tempo:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:162 -msgid "WRN^None" -msgstr "Nenhum" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:179 +msgid "WRN^Disabled" +msgstr "WRN^Desligado" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:163 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:180 msgid "1 minute" msgstr "1 minuto" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:164 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:181 msgid "5 minutes" msgstr "5 minutos" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:165 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:182 msgid "WRN^Both" msgstr "Ambos" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:168 -msgid "Hit indicator" -msgstr "Indicador de tiro acertado" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:189 +msgid "Automatic taunts" +msgstr "Taunts Automáticos" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 -msgid "Menu sounds" -msgstr "Sons do menu" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:199 +msgid "Debug info about sounds" +msgstr "Fazer debug sobre o som" #: qcsrc/menu/xonotic/dialog_settings_effects.c:38 msgid "Quality preset:" @@ -1793,230 +2187,226 @@ msgid "DET^Insane" msgstr "Máximo" #: qcsrc/menu/xonotic/dialog_settings_effects.c:62 -msgid "Antialiasing:" -msgstr "Antialiasing:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:64 -msgid "AA^Disabled" -msgstr "Desligado" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 -#: qcsrc/menu/xonotic/dialog_settings_effects.c:103 -msgid "2x" -msgstr "2 passagens" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 -#: qcsrc/menu/xonotic/dialog_settings_effects.c:104 -msgid "4x" -msgstr "4 passagens" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 msgid "Texture resolution:" msgstr "Resolução das texturas:" -#: 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 "Mínimo" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:75 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:67 +msgid "RES^Very low" +msgstr "RES^Baixa" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:68 msgid "RES^Low" msgstr "Baixa" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:76 +#: 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 "Bom" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:78 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:71 msgid "RES^Best" msgstr "Melhores" -#: 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 "Evitar compressão de Texturas" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 -msgid "Anisotropy:" -msgstr "Filtro Anisotrópico:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:102 -msgid "ANISO^Disabled" -msgstr "Desligado" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:93 +msgid "Use lightmaps" +msgstr "Usar 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 "Mapeamento Deluxe" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 -msgid "16x" -msgstr "16x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:96 +msgid "Gloss" +msgstr "Lustro" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 -msgid "Particle quality:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 +msgid "Particles quality:" msgstr "Qualidade das Partículas:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:113 -msgid "Particle distance:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:103 +msgid "Particles distance:" msgstr "Distancia visível das Partículas:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:117 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 +msgid "Damage effects:" +msgstr "Efeito de danos" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:108 +msgid "DMGPRTCLS^Disabled" +msgstr "DMGPRTCLS^Desligado" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:109 +msgid "DMGPRTCLS^Skeletal" +msgstr "DMGPRTCLS^Esqueleto" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 +msgid "DMGPRTCLS^All" +msgstr "DMGPRTCLS^Todos" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:114 msgid "Decals" msgstr "Símbolos" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:118 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:115 msgid "Decals on models" msgstr "Marcas nos modelos" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:122 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:119 msgid "Distance:" msgstr "Distância:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:128 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:125 msgid "Time:" msgstr "Tempo:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 -msgid "Use lightmaps" -msgstr "Usar lightmaps" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:135 -msgid "Deluxe mapping" -msgstr "Mapeamento Deluxe" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:137 -msgid "Gloss" -msgstr "Lustro" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:140 -msgid "Offset mapping" -msgstr "Mapeamento Offset" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 -msgid "Relief mapping" -msgstr "Mapeamento Relief" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:145 -msgid "Reflections:" -msgstr "Reflexos:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:148 -msgid "Blurred" -msgstr "Grau de Blur" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 -msgid "REFL^Good" -msgstr "Bom" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:150 -msgid "Sharp" -msgstr "Grau de Definição" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:131 +msgid "Coronas" +msgstr "Coronas" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 -msgid "Show surfaces" -msgstr "Mostrar superfícies" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:132 +msgid "Use Occlusion Queries" +msgstr "Usar Consultas Oclusão" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 msgid "No dynamic lighting" msgstr "Iluminação dinâmica desligada" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 -msgid "Flash blend approximation" -msgstr "Aproximação Flash Blend" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:136 +msgid "Fake corona lighting" +msgstr "Ilumincação falsa" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:161 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:138 msgid "Realtime dynamic lighting" msgstr "Iluminação dinâmica em tempo real" -#: 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 "Sombras" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:165 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 msgid "Realtime world lighting" msgstr "Iluminação do mundo em tempo real" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:170 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:147 msgid "Use normal maps" msgstr "Usar mapas normais" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:172 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 msgid "Soft shadows" msgstr "Sombras Suaves" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:175 -msgid "Coronas" -msgstr "Coronas" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:153 +msgid "Show surfaces" +msgstr "Mostrar superfícies" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:176 -msgid "Use Occlusion Queries" -msgstr "Usar Consultas Oclusão" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 +msgid "Offset mapping" +msgstr "Mapeamento Offset" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +msgid "Relief mapping" +msgstr "Mapeamento Relief" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 +msgid "LOD" +msgstr "LOD" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:178 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 msgid "Bloom" msgstr "Bloom" -#: 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 "Reflexos:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:167 +msgid "Blurred" +msgstr "Grau de Blur" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:168 +msgid "REFL^Good" +msgstr "Bom" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:169 +msgid "Sharp" +msgstr "Grau de Definição" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:184 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:174 msgid "Motion blur:" msgstr "Distorção por movimento:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:189 -msgid "Blur and sharpen postprocessing" -msgstr "Blur e postprocessing" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:179 +msgid "Extra postprocessing effects" +msgstr "Efeitos extra de pos-processamento" #: qcsrc/menu/xonotic/dialog_settings_input.c:26 msgid "Key bindings:" msgstr "Bindings de Teclas" -#: qcsrc/menu/xonotic/dialog_settings_input.c:31 +#: qcsrc/menu/xonotic/dialog_settings_input.c:30 msgid "Change key..." msgstr "Mudar tecla..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:35 +#: qcsrc/menu/xonotic/dialog_settings_input.c:34 msgid "Edit..." msgstr "Editar..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:46 -msgid "Sensitivity:" -msgstr "Sensibilidade:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:45 +msgid "Pressing \"enter console\" key also closes it" +msgstr " Pressionar \"entra na consola\" também fecha" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:47 +msgid "Automatically repeat jumping if holding jump" +msgstr "Se a pressionar salto, repetir salto automaticamente" #: qcsrc/menu/xonotic/dialog_settings_input.c:51 -msgid "UI mouse speed:" -msgstr "Velocidade do rato:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:53 +#: qcsrc/menu/xonotic/dialog_settings_input.c:56 +msgid "Use joystick input" +msgstr "Usar input do joystick" -#: qcsrc/menu/xonotic/dialog_settings_input.c:55 -msgid "Mouse filter" -msgstr "Filtro do Rato" +#: qcsrc/menu/xonotic/dialog_settings_input.c:61 +msgid "Mouse:" +msgstr "Rato:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:57 -msgid "Invert mouse" -msgstr "Inverter Rato" +#: qcsrc/menu/xonotic/dialog_settings_input.c:64 +msgid "Sensitivity:" +msgstr "Sensibilidade:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:60 -#: qcsrc/menu/xonotic/dialog_settings_input.c:62 -msgid "Use joystick input" -msgstr "Usar input do joystick" +#: qcsrc/menu/xonotic/dialog_settings_input.c:68 +msgid "Smooth aiming" +msgstr "Suavizar pontaria" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:71 +msgid "Invert aiming" +msgstr "Inverter Rato" -#: 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 +msgid "Disable system mouse acceleration" msgstr "Desligar aceleração de Rato do SO" -#: qcsrc/menu/xonotic/dialog_settings_input.c:69 -msgid "\"enter console\" also closes" -msgstr "\"entrar na consola\" também fecha" +#: qcsrc/menu/xonotic/dialog_settings_input.c:85 +msgid "Enable built in mouse acceleration" +msgstr "Desligar aceleração de Rato" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5 msgid "User defined key bind" @@ -2039,96 +2429,261 @@ msgid "Cancel" msgstr "Cancelar" #: qcsrc/menu/xonotic/dialog_settings_misc.c:26 -msgid "Menu skins:" -msgstr "Skins de Menu:" +msgid "Network:" +msgstr "Rede" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:47 -msgid "Show current time" -msgstr "Mostrar tempo corrente" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:31 +msgid "56k" +msgstr "56k" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:49 -msgid "Show current date" -msgstr "Mostrar data corrente" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:32 +msgid "ISDN" +msgstr "ISDN" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:51 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:33 +msgid "Slow ADSL" +msgstr "ADSL Lenta" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:34 +msgid "Fast ADSL" +msgstr "ADSL Rápida" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 +msgid "Broadband" +msgstr "Banda-larga" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:39 +msgid "Input packets/s:" +msgstr "Pacotes Entrada /s" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:45 +msgid "Local latency:" +msgstr "Latência local:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:50 +msgid "Client UDP port:" +msgstr "Port UDP do Cliente:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:55 +msgid "Show netgraph" +msgstr "Mostrar gráfico-net" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:59 +msgid "Client-side movement prediction" +msgstr "Previsão de movimento pelo Cliente" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +msgid "Movement error compensation" +msgstr "Compensação do erro do movimento" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:66 +msgid "Downloads:" +msgstr "Transferências:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:69 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:81 +msgid "Maximum:" +msgstr "Máximo:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:73 +msgid "Speed (kB/s):" +msgstr "Velocidade (kB/s):" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:78 +msgid "Framerate:" +msgstr "Imagens por segundo:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:83 +msgid "MAXFPS^5 fps" +msgstr "MAXFPS^5 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:84 +msgid "MAXFPS^10 fps" +msgstr "MAXFPS^10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:85 +msgid "MAXFPS^20 fps" +msgstr "MAXFPS^20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:86 +msgid "MAXFPS^30 fps" +msgstr "MAXFPS^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:87 +msgid "MAXFPS^40 fps" +msgstr "MAXFPS^40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:88 +msgid "MAXFPS^50 fps" +msgstr "MAXFPS^50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:89 +msgid "MAXFPS^60 fps" +msgstr "MAXFPS^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:90 +msgid "MAXFPS^70 fps" +msgstr "MAXFPS^70 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:91 +msgid "MAXFPS^100 fps" +msgstr "MAXFPS^100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:92 +msgid "MAXFPS^125 fps" +msgstr "MAXFPS^125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:93 +msgid "MAXFPS^200 fps" +msgstr "MAXFPS^200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:94 +msgid "MAXFPS^Unlimited" +msgstr "MAXFPS^Ilimitado fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:98 +msgid "Target:" +msgstr "Alvo:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:100 +msgid "TRGT^Disabled" +msgstr "TRGT^Desligado" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:101 +msgid "TRGT^30 fps" +msgstr "TRGT^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:102 +msgid "TRGT^40 fps" +msgstr "TRGT^40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:103 +msgid "TRGT^50 fps" +msgstr "TRGT^50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:104 +msgid "TRGT^60 fps" +msgstr "TRGT^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:105 +msgid "TRGT^100 fps" +msgstr "TRGT^100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:106 +msgid "TRGT^125 fps" +msgstr "TRGT^125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:107 +msgid "TRGT^200 fps" +msgstr "TRGT^200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:111 +msgid "Idle limit:" +msgstr "Tempo parado limite:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:113 +msgid "IDLFPS^10 fps" +msgstr "IDLFPS^10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:114 +msgid "IDLFPS^20 fps" +msgstr "IDLFPS^20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:115 +msgid "IDLFPS^30 fps" +msgstr "IDLFPS^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:116 +msgid "IDLFPS^60 fps" +msgstr "IDLFPS^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:117 +msgid "IDLFPS^Unlimited" +msgstr "IDLFPS^Unlimited" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:122 msgid "Show frames per second" msgstr "Mostrar Frames por Segundo" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:53 -msgid "Minimize input latency" -msgstr "Minimizar latência de entrada" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:125 +msgid "Save processing time for other apps" +msgstr "Salvar tempo de processamento para outras aplicações" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:129 +msgid "Menu tooltips:" +msgstr "Pistas de Menu:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:131 +msgid "TLTIP^Disabled" +msgstr "TLTIP^Desligado" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:132 +msgid "TLTIP^Standard" +msgstr "TLTIP^Normal" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:133 +msgid "TLTIP^Advanced" +msgstr "TLTIP^Avançado" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:137 +msgid "Show current time" +msgstr "Mostrar tempo corrente" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:139 +msgid "Show current date" +msgstr "Mostrar data corrente" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:141 +msgid "Enable developer mode" +msgstr "Activar modo de criador" #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 msgid "Advanced settings" msgstr "Definições avançadas" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31 msgid "Cvar filter:" msgstr "Filtro de Cvar" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44 msgid "Setting:" msgstr "Definição:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:48 +msgid "Type:" +msgstr "Tipo:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:52 msgid "Value:" msgstr "Valor:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:68 msgid "Description:" msgstr "Descrição:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:26 -msgid "Client-side movement prediction" -msgstr "Previsão de movimento pelo Cliente" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:30 -msgid "Show netgraph" -msgstr "Mostrar gráfico-net" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:33 -msgid "Network speed:" -msgstr "Velocidade da Rede:" - -#: 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 Lenta" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:38 -msgid "Fast ADSL" -msgstr "ADSL Rápida" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:39 -msgid "Broadband" -msgstr "Banda-larga" +#: qcsrc/menu/xonotic/dialog_settings_user.c:27 +msgid "Menu skins:" +msgstr "Skins de Menu:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:42 -msgid "Input packets/s:" -msgstr "Pacotes Entrada /s" +#: qcsrc/menu/xonotic/dialog_settings_user.c:31 +msgid "Set skin" +msgstr "Definir skin" -#: qcsrc/menu/xonotic/dialog_settings_network.c:46 -msgid "HTTP downloads:" -msgstr "Transferências via HTTP:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:74 +msgid "Set language" +msgstr "Linguagem do texto:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:49 -msgid "Downloads:" -msgstr "Transferências:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:79 +msgid "Disable gore effects and harsh language" +msgstr "Desactivar sangue/violencia" -#: qcsrc/menu/xonotic/dialog_settings_network.c:53 -msgid "Speed (kB/s):" -msgstr "Velocidade (kB/s):" +#: qcsrc/menu/xonotic/dialog_settings_user.c:82 +msgid "Allow player statistics to track your client" +msgstr "Permitir estatísticas seguir o cliente" -#: qcsrc/menu/xonotic/dialog_settings_network.c:57 -msgid "Client UDP port:" -msgstr "Port UDP do Cliente:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:84 +msgid "Allow player statistics to use your nickname" +msgstr "Permitir que utilização de estatísticas use nickname" #: qcsrc/menu/xonotic/dialog_settings_video.c:26 msgid "Resolution:" @@ -2178,103 +2733,173 @@ msgstr "Colossal" msgid "Color depth:" msgstr "Profundidade da cor:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:44 +msgid "16bit" +msgstr "16bit" + #: qcsrc/menu/xonotic/dialog_settings_video.c:45 +msgid "32bit" +msgstr "32bit" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:48 msgid "Full screen" msgstr "Ecrã Inteiro" -#: qcsrc/menu/xonotic/dialog_settings_video.c:46 +#: qcsrc/menu/xonotic/dialog_settings_video.c:49 msgid "Vertical Synchronization" msgstr "Sincronização Vertical" -#: qcsrc/menu/xonotic/dialog_settings_video.c:49 -msgid "Use OpenGL 2.0 shaders (GLSL)" -msgstr "Usar shaders OpenGL2.0 (GLSL)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:53 +msgid "Anisotropy:" +msgstr "Filtro Anisotrópico:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:52 -msgid "Use GLSL to handle color control" -msgstr "Usar GLSL para o controlo de cores" +#: qcsrc/menu/xonotic/dialog_settings_video.c:55 +msgid "ANISO^Disabled" +msgstr "Desligado" #: qcsrc/menu/xonotic/dialog_settings_video.c:56 -msgid "Vertex Buffer Objects (VBOs)" -msgstr "Objectos Vertex Buffers (VBOs)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:66 +msgid "2x" +msgstr "2 passagens" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:57 +#: qcsrc/menu/xonotic/dialog_settings_video.c:67 +msgid "4x" +msgstr "4 passagens" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:58 +msgid "8x" +msgstr "8x" #: qcsrc/menu/xonotic/dialog_settings_video.c:59 -msgid "VBO^Off" -msgstr "Desligado" +msgid "16x" +msgstr "16x" -#: qcsrc/menu/xonotic/dialog_settings_video.c:60 -msgid "Vertices, some Tris (compatible)" -msgstr "Vértices, alguns Triângulos (compatível)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:62 +msgid "Antialiasing:" +msgstr "Antialiasing:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:63 -msgid "Vertices" -msgstr "Vértices" +#: qcsrc/menu/xonotic/dialog_settings_video.c:65 +msgid "AA^Disabled" +msgstr "Desligado" -#: qcsrc/menu/xonotic/dialog_settings_video.c:64 -msgid "Vertices and Triangles" -msgstr "Vértices e Triângulos" +#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +msgid "High-quality frame buffer" +msgstr "Buffer de Alta-qualidade" -#: qcsrc/menu/xonotic/dialog_settings_video.c:67 +#: qcsrc/menu/xonotic/dialog_settings_video.c:76 msgid "Depth first:" msgstr "Profundidade primeiro:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:69 +#: qcsrc/menu/xonotic/dialog_settings_video.c:78 msgid "DF^Disabled" msgstr "Desligado" -#: qcsrc/menu/xonotic/dialog_settings_video.c:70 +#: qcsrc/menu/xonotic/dialog_settings_video.c:79 msgid "DF^World" msgstr "Mundo" -#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +#: qcsrc/menu/xonotic/dialog_settings_video.c:80 msgid "DF^All" msgstr "Todos" -#: qcsrc/menu/xonotic/dialog_settings_video.c:75 -msgid "Disable multithreaded OpenGL" -msgstr "Desactivar OpenGL em múltiplos threads" +#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +msgid "Vertex Buffer Objects (VBOs)" +msgstr "Objectos Vertex Buffers (VBOs)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:77 -msgid "Wait for GPU to finish each frame" -msgstr "Esperar que a placa gráfica termine cada frame" +#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +msgid "VBO^Off" +msgstr "Desligado" -#: qcsrc/menu/xonotic/dialog_settings_video.c:80 +#: qcsrc/menu/xonotic/dialog_settings_video.c:87 +msgid "Vertices, some Tris (compatible)" +msgstr "Vértices, alguns Triângulos (compatível)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:90 +msgid "Vertices" +msgstr "Vértices" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +msgid "Vertices and Triangles" +msgstr "Vértices e Triângulos" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:94 msgid "Brightness:" msgstr "Brilho:" -#: 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 "Contraste - Boost" -#: qcsrc/menu/xonotic/dialog_settings_video.c:96 +#: qcsrc/menu/xonotic/dialog_settings_video.c:110 msgid "Saturation:" msgstr "Saturação da Cor:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:102 +#: qcsrc/menu/xonotic/dialog_settings_video.c:116 msgid "LIT^Ambient:" msgstr "Som Ambiente:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:105 +#: qcsrc/menu/xonotic/dialog_settings_video.c:119 msgid "Intensity:" msgstr "Intensidade:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:123 +msgid "Use OpenGL 2.0 shaders (GLSL)" +msgstr "Usar shaders OpenGL2.0 (GLSL)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:125 +msgid "Use GLSL to handle color control" +msgstr "Usar GLSL para o controlo de cores" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:128 +msgid "Wait for GPU to finish each frame" +msgstr "Esperar que a placa gráfica termine cada frame" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:132 +msgid "Psycho coloring (easter egg)" +msgstr "Cores 'Psycho' " + +#: qcsrc/menu/xonotic/dialog_settings_video.c:135 +msgid "Trippy vertices (easter egg)" +msgstr "Vértices 'Trip'" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:138 +msgid "Flip view horizontally" +msgstr "Trocar vista horizontal" + #: qcsrc/menu/xonotic/dialog_singleplayer.c:4 msgid "Singleplayer" msgstr "Um Jogador" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:127 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:116 msgid "Instant action! (random map with bots)" msgstr "Acção Instantânea! (Mapa ao acaso contra o computador)" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:148 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:137 +msgid "Campaign Difficulty:" +msgstr "Dificuldade da campanha:" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:138 +msgid "CSKL^Easy" +msgstr "CSKL^Fácil" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:139 +msgid "CSKL^Medium" +msgstr "CSKL^Média" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:140 +msgid "CSKL^Hard" +msgstr "CSKL^Difícil" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:142 msgid "Start Singleplayer!" msgstr "Começar Um só Jogador!" @@ -2310,23 +2935,23 @@ msgstr "rosa" msgid "spectate" msgstr "espectador" -#: 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ão voltar a carregar neste botão!" -#: 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 "" "Huh? Não posso jogar isto (m é NULL). Voltando a filtrar de maneira a que " "isto não se repitanovamente.\n" -#: qcsrc/menu/xonotic/maplist.c:286 +#: qcsrc/menu/xonotic/maplist.c:290 #, c-format msgid "%s's Xonotic Server" msgstr "Servidor de Xonotic do %s" -#: 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" @@ -2334,7 +2959,11 @@ msgstr "" "Huh? Não posso jogar isto (tipo de jogo inválido). Voltando a filtrar de " "maneira a que isto não se repitanovamente.\n" -#: qcsrc/menu/xonotic/playermodel.c:174 +#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128 +msgid "spectator" +msgstr "espectador" + +#: qcsrc/menu/xonotic/playermodel.c:177 msgid "<no model found>" msgstr "<nenhum modelo encontrado>" @@ -2346,23 +2975,23 @@ msgstr "Remover" msgid "Bookmark" msgstr "Marcar" -#: qcsrc/menu/xonotic/serverlist.c:527 +#: qcsrc/menu/xonotic/serverlist.c:548 msgid "Ping" msgstr "Ping" -#: qcsrc/menu/xonotic/serverlist.c:528 +#: qcsrc/menu/xonotic/serverlist.c:549 msgid "Host name" msgstr "Nome do Host" -#: qcsrc/menu/xonotic/serverlist.c:529 +#: qcsrc/menu/xonotic/serverlist.c:550 msgid "Map" msgstr "Mapa" -#: qcsrc/menu/xonotic/serverlist.c:530 +#: qcsrc/menu/xonotic/serverlist.c:551 msgid "Type" msgstr "Tipo" -#: qcsrc/menu/xonotic/serverlist.c:531 +#: qcsrc/menu/xonotic/serverlist.c:552 msgid "Players" msgstr "Jogadores" @@ -2392,27 +3021,27 @@ msgstr "%s dB" 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 "Recebido um pedido HTTP de um id inválido %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 "erro ao receber notificação: o estado e %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 "erro: recebido HTML em vez de notificação de actualização\n" -#: qcsrc/menu/xonotic/util.qc:295 +#: qcsrc/menu/xonotic/util.qc:301 msgid "error: received carriage returns from update notification server\n" msgstr "" "erro: recebido 'carriage return' de um servidor de notificação de " "actualização\n" -#: qcsrc/menu/xonotic/util.qc:316 +#: qcsrc/menu/xonotic/util.qc:322 #, c-format msgid "" "Update can be downloaded at:\n" @@ -2421,21 +3050,21 @@ msgstr "" "Actualização pode ser transferida em:\n" "%s\n" -#: qcsrc/menu/xonotic/util.qc:337 +#: qcsrc/menu/xonotic/util.qc:351 msgid "Autogenerating mapinfo for newly added maps..." msgstr "Informação de mapas auto-gerada para novos mapas..." -#: qcsrc/menu/xonotic/util.qc:367 +#: qcsrc/menu/xonotic/util.qc:381 #, c-format msgid "^1%s TEST BUILD" msgstr "^1%s VERSAO DE TESTE" -#: qcsrc/menu/xonotic/util.qc:432 +#: qcsrc/menu/xonotic/util.qc:439 #, c-format msgid "Update to %s now!" msgstr "Actualize para %s agora!" -#: 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" @@ -2443,443 +3072,357 @@ msgstr "" "^1ERRO: A compressão de texturas é necessária mas não é suportada.\n" "^1Possíveis problemas visuais.\n" -#: qcsrc/menu/xonotic/util.qc:523 -msgid "Arena" -msgstr "Arena" +#: qcsrc/menu/xonotic/util.qc:643 +msgid "Use default" +msgstr "Usar defeito" -#: qcsrc/menu/xonotic/util.qc:524 -msgid "Assault" -msgstr "Assalto" +#: qcsrc/menu/xonotic/util.qc:663 +msgid "Team Color:" +msgstr "Cor da Equipa:" -#: qcsrc/menu/xonotic/util.qc:525 -msgid "Capture The Flag" -msgstr "Captura a Bandeira" +#: qcsrc/menu/xonotic/util.qh:50 +msgid "Enable panel" +msgstr "Actival painel" -#: qcsrc/menu/xonotic/util.qc:526 -msgid "Clan Arena" -msgstr "Clan Arena" +#: weapons.qc.tmp:1 +msgid "Rifle" +msgstr "Espingarda" -#: qcsrc/menu/xonotic/util.qc:527 -msgid "Deathmatch" -msgstr "Combate até à Morte" +#: weapons.qc.tmp:2 +msgid "Machine Gun" +msgstr "Machine Gun" -#: qcsrc/menu/xonotic/util.qc:528 -msgid "Domination" -msgstr "Domínio" +#: weapons.qc.tmp:3 +msgid "Rocket Launcher" +msgstr "Rocket Launcher" -#: qcsrc/menu/xonotic/util.qc:529 -msgid "Freeze Tag" -msgstr "Freeze Tag" +#: weapons.qc.tmp:4 +msgid "Port-O-Launch" +msgstr "Port-O-Launch" -#: qcsrc/menu/xonotic/util.qc:530 -msgid "Keepaway" -msgstr "Keepaway" +#: weapons.qc.tmp:5 +msgid "Grappling Hook" +msgstr "Grappling Hook" -#: qcsrc/menu/xonotic/util.qc:531 -msgid "Key Hunt" -msgstr "Procura da Chave" +#: weapons.qc.tmp:6 +msgid "Electro" +msgstr "Electro" -#: qcsrc/menu/xonotic/util.qc:532 -msgid "Last Man Standing" -msgstr "O Ultimo a Cair" +#: 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 "Shotgun" -#: qcsrc/menu/xonotic/util.qc:534 -msgid "Onslaught" -msgstr "Investida" +#: weapons.qc.tmp:9 +#, c-format +msgid "@!#%'n Tuba" +msgstr "@!#%'n Tuba" -#: qcsrc/menu/xonotic/util.qc:535 -msgid "Race" -msgstr "Corrida" +#: weapons.qc.tmp:10 +msgid "MinstaNex" +msgstr "MinstaNex" -#: qcsrc/menu/xonotic/util.qc:536 -msgid "Race CTS" -msgstr "Corrida CTS" +#: weapons.qc.tmp:11 +msgid "Crylink" +msgstr "Crylink" -#: qcsrc/menu/xonotic/util.qc:537 -msgid "Runematch" -msgstr "Luta de Runas" +#: weapons.qc.tmp:12 +msgid "Heavy Laser Assault Cannon" +msgstr "Heavy Laser Assault Cannon" -#: qcsrc/menu/xonotic/util.qc:538 -msgid "Team Deathmatch" -msgstr "Combate até à Morte por Equipas" +#: weapons.qc.tmp:13 +msgid "Mortar" +msgstr "Mortar" -#: qcsrc/menu/xonotic/util.qc:557 -#, c-format -msgid "@!#%'n Tuba Throwing" -msgstr "@!#%'n Tuba Throwing" +#: 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 "Por Defeito" +#: weapons.qc.tmp:15 +msgid "T.A.G. Seeker" +msgstr "T.A.G. Seeker" -#: qcsrc/menu/xonotic/util.qc:588 -msgid "Use default" -msgstr "Usar defeito" +#: weapons.qc.tmp:16 +msgid "Fireball" +msgstr "Fireball" -#: qcsrc/menu/xonotic/util.qc:608 -msgid "Team Color:" -msgstr "Cor da Equipa:" +#: weapons.qc.tmp:17 +msgid "Mine Layer" +msgstr "Mine Layer" -#: qcsrc/menu/xonotic/util.qh:47 -msgid "Enable panel" -msgstr "Actival painel" +#: weapons.qc.tmp:18 +msgid "Nex" +msgstr "Nex" -#: qcsrc/server/w_crylink.qc:2 -msgid "Crylink" -msgstr "Crylink" +#~ msgid "%s was riddled full of holes by %s" +#~ msgstr "%s foi enchido de buracos por %s" -#: qcsrc/server/w_crylink.qc:666 -#, c-format -msgid "%s succeeded at self-destructing themself with the Crylink" -msgstr "%s conseguiu auto-destruir-se com a Crylink" +#~ msgid "%s died of %s's great playing on the @!#%%'n Tuba" +#~ msgstr "%s morreu por causa da grande actuação de %s" -#: qcsrc/server/w_crylink.qc:671 -#, c-format -msgid "%s could not hide from %s's Crylink" -msgstr "%s não se conseguiu esconder da Crylink do %s" +#~ msgid "%s hurt his own ears with the @!#%%'n Tuba" +#~ msgstr "%s magoou-se a si próprio com a Tuba" -#: qcsrc/server/w_crylink.qc:673 -#, c-format -msgid "%s was too close to %s's Crylink" -msgstr "%s estava demasiado perto da Crylink do %s" +#~ msgid "%s was gunned by %s" +#~ msgstr "%s foi atingido por %s" -#: qcsrc/server/w_crylink.qc:675 -#, c-format -msgid "%s took a close look at %s's Crylink" -msgstr "%s pode ver de perto a Crylink do %s" +#~ msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" +#~ msgstr "%2$s ^7maltratou %1$s ^7com uma grande ^2caçadeira" -#: qcsrc/server/w_electro.qc:2 -msgid "Electro" -msgstr "Electro" +#~ msgid "%s was tagged by %s" +#~ msgstr "%s foi marcado por %s" -#: qcsrc/server/w_electro.qc:574 -#, c-format -msgid "%s could not remember where they put plasma" -msgstr "%s não se conseguiu lembrar onde pôs a plasma" +#~ msgid "%s ate %s's rocket" +#~ msgstr "%s comeu o foguete de %s" -#: qcsrc/server/w_electro.qc:576 -#, c-format -msgid "%s played with plasma" -msgstr "%s brincou com plasma" +#~ msgid "%s almost dodged %s's rocket" +#~ msgstr "%s quase se desviou do foguete de %s" -#: qcsrc/server/w_electro.qc:583 -#, c-format -msgid "%s just noticed %s's blue ball" -msgstr "%s acabou de reparar na bola azul de %s" +#~ msgid "%s got too close to %s's rocket" +#~ msgstr "%s estava demasiado perto do foguete de %s" -#: qcsrc/server/w_electro.qc:585 -#, c-format -msgid "%s got in touch with %s's blue ball" -msgstr "%s esteve em contacto com a bola azul de %s" +#~ msgid "%s was sniped by %s" +#~ msgstr "%s foi snipado por %s" -#: qcsrc/server/w_electro.qc:590 -#, c-format -msgid "%s felt the electrifying air of %s's combo" -msgstr "%s sentiu o ar electrizante do combo de %s" +#~ msgid "%s got hit in the head by %s" +#~ msgstr "%s foi atingido na cabeça por %s" -#: qcsrc/server/w_electro.qc:592 -#, c-format -msgid "%s got too close to %s's blue beam" -msgstr "%s estava perto demais do raio azul de %s" +#~ msgid "%s failed to hide from %s's rifle" +#~ msgstr "%s não se conseguiu esconder da espingarda de %s" -#: qcsrc/server/w_electro.qc:594 -#, c-format -msgid "%s was blasted by %s's blue beam" -msgstr "%s foi atingido pelo raio azul de %s" +#~ msgid "%s died in %s's bullet hail" +#~ msgstr "%s morreu na chuva de balas de %s" -#: qcsrc/server/w_fireball.qc:2 -msgid "Fireball" -msgstr "Fireball" +#~ msgid "%s failed to hide from %s's bullet hail" +#~ msgstr "%s não se conseguiu esconder da chuva de balas de %s" -#: qcsrc/server/w_fireball.qc:417 -#, c-format -msgid "%s forgot about some firemine" -msgstr "%s esqueceu-se das minas" +#~ msgid "%s sniped themself somehow" +#~ msgstr "%s snipou-se de alguma forma..." -#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240 -#, c-format -msgid "%s should have used a smaller gun" -msgstr "%s devia ter usado uma arma mais pequena" +#~ msgid "%s shot themself automatically" +#~ msgstr "%s disparou em si próprio" -#: qcsrc/server/w_fireball.qc:426 -#, c-format -msgid "%s tried to catch %s's firemine" -msgstr "%s tentou apanhar a mina de %s" +#~ msgid "%s felt %s doing the impossible to him" +#~ msgstr "%s sentiu %s fazer-lhe o impossível" -#: qcsrc/server/w_fireball.qc:428 -#, c-format -msgid "%s fatefully ignored %s's firemine" -msgstr "%s ignorou fatalmente a mina de %s" +#~ msgid "%s has been vaporized by %s" +#~ msgstr "%s foi vaporizado por %s" -#: qcsrc/server/w_fireball.qc:435 -#, c-format -msgid "%s could not hide from %s's fireball" -msgstr "%s não se conseguiu esconder da bola de fogo de %s" +#~ msgid "%s is now thinking with portals" +#~ msgstr "%s está agora a pensar com portais" -#: qcsrc/server/w_fireball.qc:437 -#, c-format -msgid "%s saw the pretty lights of %s's fireball" -msgstr "%s viu a bela luminosidade da bola de fogo de %s" +#~ msgid "%s stepped on %s's mine" +#~ msgstr "%s pisou a mina de %s" -#: qcsrc/server/w_fireball.qc:440 -#, c-format -msgid "%s got too close to %s's fireball" -msgstr "%s estava demasiado perto da bola de fogo de %s" +#~ msgid "%s almost dodged %s's mine" +#~ msgstr "%s quase se desviou da mina de %s" -#: qcsrc/server/w_fireball.qc:442 -#, c-format -msgid "%s tasted %s's fireball" -msgstr "%s provou a bola de fogo de %s" +#~ msgid "%s got too close to %s's mine" +#~ msgstr "%s estava perto demais da mina de %s" -#: qcsrc/server/w_grenadelauncher.qc:2 -msgid "Mortar" -msgstr "Mortar" +#~ msgid "%s exploded" +#~ msgstr "%s explodiu" -#: qcsrc/server/w_grenadelauncher.qc:383 -#, c-format -msgid "%s tried out his own grenade" -msgstr "%s experimentou a sua própria granada" +#~ msgid "%s was lasered to death by %s" +#~ msgstr "%s foi lasereado até à morte por %s" -#: qcsrc/server/w_grenadelauncher.qc:385 -#, c-format -msgid "%s detonated" -msgstr "%s foi detonado" +#~ msgid "%s was cut in half by %s's gauntlet" +#~ msgstr "%s foi cortado ao meio pela gauntlet de %s" -#: qcsrc/server/w_grenadelauncher.qc:391 -#, c-format -msgid "%s didn't see %s's grenade" -msgstr "%s não viu a granada de %s" +#~ msgid "%s lasered themself to hell" +#~ msgstr "%s laserou-se até à morte" -#: qcsrc/server/w_grenadelauncher.qc:393 -#, c-format -msgid "%s almost dodged %s's grenade" -msgstr "%s quase se desviou da granada de %s" +#~ msgid "%s has run into %s's gravity bomb" +#~ msgstr "%s correu contra uma bomba gravitacional %s" -#: qcsrc/server/w_grenadelauncher.qc:395 -#, c-format -msgid "%s ate %s's grenade" -msgstr "%s comeu a granada de %s" +#~ msgid "%s did the impossible" +#~ msgstr "%s fez o impossível" -#: qcsrc/server/w_hagar.qc:2 -msgid "Hagar" -msgstr "Hagar" +#~ msgid "%s was cut down by %s" +#~ msgstr "%s foi totalmente cortado por %s" -#: qcsrc/server/w_hagar.qc:395 qcsrc/server/w_seeker.qc:655 -#, c-format -msgid "%s played with tiny rockets" -msgstr "%s brincou com pequenos foguetes" +#~ msgid "%s was pummeled by %s" +#~ msgstr "%s foi serrado por %s" -#: qcsrc/server/w_hagar.qc:399 -#, c-format -msgid "%s hoped %s's missiles wouldn't bounce" -msgstr "%s rezou para que os misseis de %s não resaltassem" +#~ msgid "%s hoped %s's missiles wouldn't bounce" +#~ msgstr "%s rezou para que os misseis de %s não resaltassem" -#: qcsrc/server/w_hagar.qc:401 qcsrc/server/w_seeker.qc:661 -#, c-format -msgid "%s was pummeled by %s" -msgstr "%s foi serrado por %s" +#~ msgid "%s played with tiny rockets" +#~ msgstr "%s brincou com pequenos foguetes" -#: qcsrc/server/w_hlac.qc:2 -msgid "Heavy Laser Assault Cannon" -msgstr "Heavy Laser Assault Cannon" +#~ msgid "%s ate %s's grenade" +#~ msgstr "%s comeu a granada de %s" -#: qcsrc/server/w_hlac.qc:242 -#, c-format -msgid "%s was cut down by %s" -msgstr "%s foi totalmente cortado por %s" +#~ msgid "%s almost dodged %s's grenade" +#~ msgstr "%s quase se desviou da granada de %s" -#: qcsrc/server/w_hook.qc:2 -msgid "Grappling Hook" -msgstr "Grappling Hook" +#~ msgid "%s didn't see %s's grenade" +#~ msgstr "%s não viu a granada de %s" -#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296 -#, c-format -msgid "%s did the impossible" -msgstr "%s fez o impossível" +#~ msgid "%s detonated" +#~ msgstr "%s foi detonado" -#: qcsrc/server/w_hook.qc:268 -#, c-format -msgid "%s has run into %s's gravity bomb" -msgstr "%s correu contra uma bomba gravitacional %s" +#~ msgid "%s tried out his own grenade" +#~ msgstr "%s experimentou a sua própria granada" -#: qcsrc/server/w_laser.qc:2 -msgid "Laser" -msgstr "Laser" +#~ msgid "%s tasted %s's fireball" +#~ msgstr "%s provou a bola de fogo de %s" -#: qcsrc/server/w_laser.qc:311 -#, c-format -msgid "%s lasered themself to hell" -msgstr "%s laserou-se até à morte" +#~ msgid "%s got too close to %s's fireball" +#~ msgstr "%s estava demasiado perto da bola de fogo de %s" -#: qcsrc/server/w_laser.qc:315 -#, c-format -msgid "%s was cut in half by %s's gauntlet" -msgstr "%s foi cortado ao meio pela gauntlet de %s" +#~ msgid "%s saw the pretty lights of %s's fireball" +#~ msgstr "%s viu a bela luminosidade da bola de fogo de %s" -#: qcsrc/server/w_laser.qc:317 -#, c-format -msgid "%s was lasered to death by %s" -msgstr "%s foi lasereado até à morte por %s" +#~ msgid "%s could not hide from %s's fireball" +#~ msgstr "%s não se conseguiu esconder da bola de fogo de %s" -#: qcsrc/server/w_minelayer.qc:2 -msgid "Mine Layer" -msgstr "Mine Layer" +#~ msgid "%s fatefully ignored %s's firemine" +#~ msgstr "%s ignorou fatalmente a mina de %s" -#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501 -#, c-format -msgid "%s exploded" -msgstr "%s explodiu" +#~ msgid "%s tried to catch %s's firemine" +#~ msgstr "%s tentou apanhar a mina de %s" -#: qcsrc/server/w_minelayer.qc:527 -#, c-format -msgid "%s got too close to %s's mine" -msgstr "%s estava perto demais da mina de %s" +#~ msgid "%s should have used a smaller gun" +#~ msgstr "%s devia ter usado uma arma mais pequena" -#: qcsrc/server/w_minelayer.qc:529 -#, c-format -msgid "%s almost dodged %s's mine" -msgstr "%s quase se desviou da mina de %s" +#~ msgid "%s forgot about some firemine" +#~ msgstr "%s esqueceu-se das minas" -#: qcsrc/server/w_minelayer.qc:531 -#, c-format -msgid "%s stepped on %s's mine" -msgstr "%s pisou a mina de %s" +#~ msgid "%s was blasted by %s's blue beam" +#~ msgstr "%s foi atingido pelo raio azul de %s" -#: qcsrc/server/w_minstanex.qc:2 -msgid "MinstaNex" -msgstr "MinstaNex" +#~ msgid "%s got too close to %s's blue beam" +#~ msgstr "%s estava perto demais do raio azul de %s" -#: 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 está agora a pensar com portais" +#~ msgid "%s felt the electrifying air of %s's combo" +#~ msgstr "%s sentiu o ar electrizante do combo 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 foi vaporizado por %s" +#~ msgid "%s got in touch with %s's blue ball" +#~ msgstr "%s esteve em contacto com a bola azul de %s" -#: qcsrc/server/w_nex.qc:2 -msgid "Nex" -msgstr "Nex" +#~ msgid "%s just noticed %s's blue ball" +#~ msgstr "%s acabou de reparar na bola azul de %s" -#: qcsrc/server/w_porto.qc:2 -msgid "Port-O-Launch" -msgstr "Port-O-Launch" +#~ msgid "%s played with plasma" +#~ msgstr "%s brincou com plasma" -#: qcsrc/server/w_porto.qc:298 -#, c-format -msgid "%s felt %s doing the impossible to him" -msgstr "%s sentiu %s fazer-lhe o impossível" +#~ msgid "%s could not remember where they put plasma" +#~ msgstr "%s não se conseguiu lembrar onde pôs a plasma" -#: qcsrc/server/w_rifle.qc:2 -msgid "Rifle" -msgstr "Espingarda" +#~ msgid "%s took a close look at %s's Crylink" +#~ msgstr "%s pode ver de perto a Crylink do %s" -#: qcsrc/server/w_rifle.qc:233 -#, c-format -msgid "%s shot themself automatically" -msgstr "%s disparou em si próprio" +#~ msgid "%s was too close to %s's Crylink" +#~ msgstr "%s estava demasiado perto da Crylink do %s" -#: qcsrc/server/w_rifle.qc:235 -#, c-format -msgid "%s sniped themself somehow" -msgstr "%s snipou-se de alguma forma..." +#~ msgid "%s could not hide from %s's Crylink" +#~ msgstr "%s não se conseguiu esconder da Crylink do %s" -#: qcsrc/server/w_rifle.qc:242 -#, c-format -msgid "%s failed to hide from %s's bullet hail" -msgstr "%s não se conseguiu esconder da chuva de balas de %s" +#~ msgid "%s succeeded at self-destructing themself with the Crylink" +#~ msgstr "%s conseguiu auto-destruir-se com a Crylink" -#: qcsrc/server/w_rifle.qc:244 -#, c-format -msgid "%s died in %s's bullet hail" -msgstr "%s morreu na chuva de balas de %s" +#~ msgid "Disable multithreaded OpenGL" +#~ msgstr "Desactivar OpenGL em múltiplos threads" -#: qcsrc/server/w_rifle.qc:251 -#, c-format -msgid "%s failed to hide from %s's rifle" -msgstr "%s não se conseguiu esconder da espingarda de %s" +#~ msgid "HTTP downloads:" +#~ msgstr "Transferências via HTTP:" -#: qcsrc/server/w_rifle.qc:256 -#, c-format -msgid "%s got hit in the head by %s" -msgstr "%s foi atingido na cabeça por %s" +#~ msgid "Network speed:" +#~ msgstr "Velocidade da Rede:" -#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321 -#, c-format -msgid "%s was sniped by %s" -msgstr "%s foi snipado por %s" +#~ msgid "Minimize input latency" +#~ msgstr "Minimizar latência de entrada" -#: qcsrc/server/w_rocketlauncher.qc:2 -msgid "Rocket Launcher" -msgstr "Rocket Launcher" +#~ msgid "Mouse filter" +#~ msgstr "Filtro do Rato" -#: qcsrc/server/w_rocketlauncher.qc:505 -#, c-format -msgid "%s got too close to %s's rocket" -msgstr "%s estava demasiado perto do foguete de %s" +#~ msgid "UI mouse speed:" +#~ msgstr "Velocidade do rato:" -#: qcsrc/server/w_rocketlauncher.qc:507 -#, c-format -msgid "%s almost dodged %s's rocket" -msgstr "%s quase se desviou do foguete de %s" +#~ msgid "Blur and sharpen postprocessing" +#~ msgstr "Blur e postprocessing" -#: qcsrc/server/w_rocketlauncher.qc:509 -#, c-format -msgid "%s ate %s's rocket" -msgstr "%s comeu o foguete de %s" +#~ msgid "High Dynamic Range (HDR)" +#~ msgstr "High Dynamic Range (HDR)" -#: qcsrc/server/w_seeker.qc:2 -msgid "T.A.G. Seeker" -msgstr "T.A.G. Seeker" +#~ msgid "Flash blend approximation" +#~ msgstr "Aproximação Flash Blend" -#: qcsrc/server/w_seeker.qc:659 -#, c-format -msgid "%s was tagged by %s" -msgstr "%s foi marcado por %s" +#~ msgid "WRN^None" +#~ msgstr "Nenhum" -#: qcsrc/server/w_shotgun.qc:2 -msgid "Shotgun" -msgstr "Shotgun" +#~ msgid "RNG^Full" +#~ msgstr "Total" -#: qcsrc/server/w_shotgun.qc:219 -#, c-format -msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" -msgstr "%2$s ^7maltratou %1$s ^7com uma grande ^2caçadeira" +#~ msgid "RNG^Long" +#~ msgstr "Alto" -#: qcsrc/server/w_shotgun.qc:221 -#, c-format -msgid "%s was gunned by %s" -msgstr "%s foi atingido por %s" +#~ msgid "RNG^Normal" +#~ msgstr "Normal" -#: qcsrc/server/w_tuba.qc:2 -#, c-format -msgid "@!#%'n Tuba" -msgstr "@!#%'n Tuba" +#~ msgid "RNG^Short" +#~ msgstr "Baixo" -#: qcsrc/server/w_tuba.qc:252 -#, c-format -msgid "%s hurt his own ears with the @!#%%'n Tuba" -msgstr "%s magoou-se a si próprio com a Tuba" +#~ msgid "RNG^Very short" +#~ msgstr "Muito baixo" -#: qcsrc/server/w_tuba.qc:256 -#, c-format -msgid "%s died of %s's great playing on the @!#%%'n Tuba" -msgstr "%s morreu por causa da grande actuação de %s" +#~ msgid "Taunt range:" +#~ msgstr "Nível dos taunts:" -#: qcsrc/server/w_uzi.qc:2 -msgid "Machine Gun" -msgstr "Machine Gun" +#~ msgid "VOCS^All" +#~ msgstr "Todos" -#: qcsrc/server/w_uzi.qc:323 -#, c-format -msgid "%s was riddled full of holes by %s" -msgstr "%s foi enchido de buracos por %s" +#~ msgid "VOCS^Taunts" +#~ msgstr "Taunts" + +#~ msgid "VOCS^None" +#~ msgstr "Nenhum" + +#~ msgid "Spatial voices:" +#~ msgstr "Vozes espaciais:" + +#~ msgid "All players" +#~ msgstr "Todos os jogadores" + +#~ msgid "Teammates" +#~ msgstr "Companheiros de Equipa" + +#~ msgid "Show names:" +#~ msgstr "Mostrar nomes:" + +#~ msgid "Waypoint scale:" +#~ msgstr "Escala dos Caminhos:" + +#~ msgid "Waypoints setup..." +#~ msgstr "Configurar caminhos..." + +#~ msgid "HTST^None" +#~ msgstr "Nenhum" + +#~ msgid "Size:" +#~ msgstr "Tamanho:" + +#~ msgid "Weapon settings..." +#~ msgstr "Definições das Armas..." + +#~ msgid "Zoom speed:" +#~ msgstr "Velocidade de Ampliação (ZOOM):" + +#~ msgid "View bobbing:" +#~ msgstr "Ver tremor:" + +#~ msgid "CA:" +#~ msgstr "CA:" + +#~ msgid "Ping:" +#~ msgstr "Ping:" + +#~ msgid "Gameplay:" +#~ msgstr "Jogabilidade:" + +#~ msgid "%d/%d, %d free player slots" +#~ msgstr "%d/%d, %d slots disponíveis" diff --git a/menu.dat.ro.po b/menu.dat.ro.po index 7d08c4917..fd1d5bf62 100644 --- a/menu.dat.ro.po +++ b/menu.dat.ro.po @@ -7,7 +7,7 @@ msgid "" 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-01-18 11:53+0100\t\n" "Last-Translator: MirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -16,34 +16,103 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: qcsrc/common/mapinfo.qc:1092 qcsrc/menu/xonotic/skinlist.c:163 +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "Arunca @!#%'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 "Meciul Mortii" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "Ultimul Supravietuitor" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Arena" + +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "Runematch" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Cursa" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "Cursa CTS" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "Meciul Mortii (in echipa)" + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Captureaza Steagul" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Clan Arena" + +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Dominatie" + +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Vanatoarea Cheilor" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "Asalt" + +#: 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 "Inghet" + +#: qcsrc/common/mapinfo.qh:81 +msgid "Keepaway" +msgstr "Keepaway" + +#: qcsrc/menu/command/menu_cmd.qc:41 #, c-format msgid "error: status is %d\n" msgstr "eroare: statusul este %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 "Utilizare: menu_cmd comanda..., unde comenzile posibile sunt:\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 - reincarca toate variabilele de pe pagina de meniu curenta\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 OBIECT - selecteaza un obiect din meniu ca obiect principal\n" -#: qcsrc/menu/gamecommand.qc:193 +#: qcsrc/menu/command/menu_cmd.qc:179 msgid "error creating curl handle\n" msgstr "eroare in crearea unei manevre curl" -#: 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 "" "Comanda invalida. Pentru o lista cu comenzile suportate, scrieti menu_cmd " @@ -72,17 +141,17 @@ msgstr "%d (%s)" msgid "custom" msgstr "personalizat" -#: qcsrc/menu/menu.qc:29 +#: qcsrc/menu/menu.qc:37 #, c-format msgid "^4MQC Build information: ^1%s\n" msgstr "^4MQC Informatii compilare: %s\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 "Nivelul %d: %s" @@ -113,10 +182,14 @@ msgstr "Credite" #: 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" @@ -125,7 +198,7 @@ msgstr "OK" msgid "Welcome" msgstr "Bun venit" -#: 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 " @@ -135,18 +208,34 @@ msgstr "" "dumneavoastra de jucator pentru a incepe. Puteti schimba aceste preferinte " "mai tarziu din cadrul meniului." -#: qcsrc/menu/xonotic/dialog_firstrun.c:38 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 -msgid "Text language:" -msgstr "Limba text:" - -#: 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 "Nume:" -#: 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 "Limba text:" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:77 +msgid "Allow player statistics to use your nickname at stats.xonotic.org?" +msgstr "Permite statisticilor sa foloseasca numele tau pe stats.xonotic.org?" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:81 +msgid "ALWU2N^Yes" +msgstr "ALWU2N^Da" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:82 +msgid "ALWU2N^No" +msgstr "ALWU2N^Nu" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:83 +msgid "ALWU2N^Undecided" +msgstr "ALWU2N^Nedecis" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:87 msgid "Save settings" msgstr "Salvare setari" @@ -205,7 +294,7 @@ msgid "Text alignment:" msgstr "Aliniere text:" #: 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 "Centru:" @@ -349,12 +438,12 @@ msgid "Status bar" msgstr "Bara 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 "Aliniere stanga" #: 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 "Aliniere dreapta" @@ -371,6 +460,7 @@ msgid "Flip speed/acceleration positions" msgstr "Inversare pozitie viteza/acceleratie" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:29 msgid "Speed:" msgstr "Viteza:" @@ -462,8 +552,8 @@ msgstr "Radar:" #: 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 "Opacitate:" @@ -492,6 +582,7 @@ msgid "North" msgstr "Nord" #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61 msgid "Scale:" msgstr "Marime:" @@ -568,7 +659,6 @@ msgid "Fade out after:" msgstr "Atenuare opacitate dupa:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36 msgid "Never" msgstr "Niciodata" @@ -602,34 +692,38 @@ msgid "Weapon icons:" msgstr "Iconuri arme:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45 +msgid "Show only owned weapons" +msgstr "Afiseaza numai armele detinute" + +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 msgid "Show weapon ID as:" msgstr "Afisaj ID arme ca:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49 msgid "SHOWAS^None" msgstr "Nici una" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50 msgid "Number" msgstr "Numar" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 msgid "Bind" msgstr "Tasta" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54 msgid "Show Accuracy" msgstr "Afisaj Acuratete" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 msgid "Show Ammo" msgstr "Afisaj Munitie" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58 msgid "Ammo bar color:" msgstr "Culoare bara munitie:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64 msgid "Ammo bar alpha:" msgstr "Opacitate bara munitie:" @@ -641,24 +735,24 @@ msgstr "Configurate Interfata (HUD)" msgid "Panel background defaults:" msgstr "Setari normale fond:" -#: 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 "Fundal:" #: 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 "Dezactivat" #: 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 "Culoare:" -#: 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 "Marime borduri:" @@ -667,11 +761,11 @@ msgstr "Marime borduri:" msgid "Team color:" msgstr "Culoare echipa:" -#: 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 "Testare culoare echipa in timpul configurarii" -#: 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 "Ajustare:" @@ -745,127 +839,123 @@ msgstr "Setari Jucator" msgid "Game type:" msgstr "Mod joc:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46 -msgid "Match settings:" -msgstr "Setari meci:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48 msgid "Time limit:" msgstr "Limita de timp:" -#: 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 "Utilizare setari harta" -#: 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 "Limita de puncte:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63 msgid "Player slots:" msgstr "Numar maxim jucatori:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66 msgid "Number of bots:" msgstr "Numar boti:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69 msgid "Bot skill:" msgstr "Dificultate boti:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72 msgid "Botlike" msgstr "Nula" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73 msgid "Beginner" msgstr "Incepator" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 msgid "You will win" msgstr "Vei castiga" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 msgid "You can win" msgstr "Poti castiga" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 msgid "You might win" msgstr "Ai putea castiga" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 msgid "Advanced" msgstr "Avansat" -#: 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 "Profesional" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 msgid "Assassin" msgstr "Asasin" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 msgid "Unhuman" msgstr "Inuman" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 msgid "Godlike" msgstr "Dumnezeiesc" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:88 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87 msgid "Mutators..." msgstr "Modificari speciale..." -#: 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 "Setari avansate..." -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103 msgid "Map list:" msgstr "Lista harti:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109 msgid "Select all" msgstr "Selecteaza totul" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112 msgid "Select none" msgstr "Golire selectie" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118 msgid "Start Multiplayer!" msgstr "Pornire Joc Multiplayer!" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153 msgid "Capture limit:" msgstr "Limita de capturi:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157 msgid "Lives:" msgstr "Vieti:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 msgid "Laps:" msgstr "Ture:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 msgid "Goals:" msgstr "Goluri:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163 msgid "Frag limit:" msgstr "Limita de omoruri:" @@ -969,28 +1059,28 @@ msgstr "Plasare obiecte" msgid "MinstaGib only" msgstr "Numai MinstaGib" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81 msgid "Title:" msgstr "Titlu:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87 msgid "Author:" msgstr "Autor:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93 msgid "Features:" msgstr "Trasaturi:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98 msgid "Game types:" msgstr "Moduri de joc:" -#: 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 "Inchidere" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124 msgid "MAP^Play" msgstr "Joaca" @@ -1012,108 +1102,121 @@ msgid "%s Arena" msgstr "Arena %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 "Satiruta laterala" #: 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 "Zbor Rachete" -#: 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 "Proiectile Invizibile" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:272 msgid "No start weapons" msgstr "Fara arme initiale" -#: 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 "Gravitatie scazuta" -#: 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 "Jucatori transparenti" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86 msgid "Hook" msgstr "Carlig" -#: 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 "Lovituri in aer" -#: 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 "Vampir" -#: 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 "Arme persistente" -#: 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 "Pierdere de sange" -#: 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 "Reactie" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:98 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:100 +msgid "No powerups" +msgstr "Fara powerupuri" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:102 +msgid "Powerups" +msgstr "Powerupuri" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104 msgid "MUT^None" msgstr "Nici una" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170 msgid "Gameplay mutators:" msgstr "Modificari speciale joc:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201 msgid "Weapon & item mutators:" msgstr "Modificari speciale arme si obiecte:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204 msgid "Grappling hook" msgstr "Carlig" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223 msgid "Weapon arenas:" msgstr "Arene arme:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226 msgid "Regular (no arena)" msgstr "Normal (fara arene)" -#: 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 "cu arma laser" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255 msgid "Special arenas:" msgstr "Arene speciale:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268 msgid "Most weapons" msgstr "Majoritatea armelor" @@ -1122,26 +1225,26 @@ msgid "Demo" msgstr "Demonstratie" #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 -msgid "Record demos while playing" +msgid "Automatically record demos while playing" msgstr "Creare demonstratii in timpul jocului" -#: 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 "Filtrare:" -#: 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 "Curatare" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45 msgid "Timedemo" msgstr "Timedemo" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48 msgid "DEMO^Play" msgstr "Vizualizare" @@ -1162,6 +1265,7 @@ msgid "Pause" msgstr "Pauza" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 msgid "Address:" msgstr "Adresa:" @@ -1170,7 +1274,7 @@ msgid "Info..." msgstr "Informatii..." #: 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 "Alaturare!" @@ -1178,307 +1282,494 @@ msgstr "Alaturare!" msgid "Server Information" msgstr "Informatii Server" -#: 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 locuri disponibile" +msgid "%d/%d" +msgstr "%d/%d" + +#: 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 "Setare normala" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 #, c-format -msgid "%d modified settings" -msgstr "%d setari modificate" +msgid "%d modified" +msgstr "%d modificate" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 -msgid "Official settings" -msgstr "Setarile oficiale" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 +msgid "Official" +msgstr "Oficial" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197 -msgid "N/A (can't connect)" -msgstr "N/A (nu se poate conecta)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208 +msgid "N/A (auth library missing, can't connect)" +msgstr "N/A (libraria de autentificare lipseste, conectiune imposibila)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205 -msgid "not supported (can't connect)" -msgstr "nesuportat (nu se poate conecta)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:210 +msgid "N/A (auth library missing)" +msgstr "N/A (libraria de autentificare lipseste)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207 -msgid "not supported (won't encrypt)" -msgstr "nesuportat (nu se poate encripta)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216 +msgid "Not supported (can't connect)" +msgstr "Nesuportat (nu se poate conecta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211 -msgid "supported (will encrypt)" -msgstr "suportat (se va encripta)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218 +msgid "Not supported (won't encrypt)" +msgstr "Nesuportat (nu se poate encripta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213 -msgid "supported (won't encrypt)" -msgstr "suportat (nu se va encripta)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222 +msgid "Supported (will encrypt)" +msgstr "Suportat (se va encripta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217 -msgid "requested (will encrypt)" -msgstr "cerut (se va encripta)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224 +msgid "Supported (won't encrypt)" +msgstr "Suportat (nu se va encripta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219 -msgid "requested (won't encrypt)" -msgstr "cerut (nu se va encripta)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228 +msgid "Requested (will encrypt)" +msgstr "Necesar (se va encripta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223 -msgid "required (can't connect)" -msgstr "necesar (nu se poate conecta)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230 +msgid "Requested (won't encrypt)" +msgstr "Necesar (nu se va encripta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225 -msgid "required (will encrypt)" -msgstr "necesar (se va encripta)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234 +msgid "Required (can't connect)" +msgstr "Necesar (nu se poate conecta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269 -msgid "Players:" -msgstr "Jucatori:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236 +msgid "Required (will encrypt)" +msgstr "Necesar (se va encripta)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254 -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38 -msgid "Type:" -msgstr "Tip:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:256 +msgid "Hostname:" +msgstr "Nume server:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270 +msgid "Gametype:" +msgstr "Mod joc:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275 msgid "Map:" msgstr "Harta:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264 -msgid "Gameplay:" -msgstr "Mod:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274 -msgid "Bots:" -msgstr "Boti:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280 msgid "Mod:" msgstr "Modificare:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285 msgid "Version:" msgstr "Versiune:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289 -msgid "Ping:" -msgstr "Latenta:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290 +msgid "Settings:" +msgstr "Setari:" -#: 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 "Jucatori:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301 -msgid "Key:" -msgstr "Cheie:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302 +msgid "Bots:" +msgstr "Boti:" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307 +msgid "Free slots:" +msgstr "Numar maxim jucatori:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313 msgid "Encryption:" msgstr "Encriptare:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318 +msgid "ID:" +msgstr "ID:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323 +msgid "Key:" +msgstr "Cheie:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60 +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19 msgid "Model:" msgstr "Model:" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 -msgid "Field of view:" -msgstr "Camp vizual:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92 -msgid "View bobbing:" -msgstr "Miscare camera mers:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96 -msgid "Zoom factor:" -msgstr "Factor Zoom:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100 -msgid "Zoom speed:" -msgstr "Viteza Zoom:" +msgid "No crosshair" +msgstr "Fara ochian" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:103 -msgid "Weapon settings..." -msgstr "Setari arme..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90 +msgid "Per weapon crosshair" +msgstr "Ochianul depinde de arma" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110 -msgid "Crosshair:" -msgstr "Ochian:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93 +msgid "Custom crosshair" +msgstr "Ochian customizat" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:111 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 -msgid "Per weapon" -msgstr "Depinde de arma" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112 msgid "Crosshair size:" msgstr "Marime ochian:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:134 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117 msgid "Crosshair alpha:" msgstr "Opacitate ochian:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:138 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123 msgid "Crosshair color:" msgstr "Culoare ochian:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125 +msgid "Per weapon" +msgstr "Depinde de arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127 msgid "By health" msgstr "Dupa sanatate" -#: 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 "personalizat" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148 -msgid "Enable center dot" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 +msgid "Other crosshair settings" +msgstr "Alte setari ochian" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6 +msgid "Model settings" +msgstr "Setari model" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6 +msgid "View settings" +msgstr "Setari vedere" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 +msgid "Weapon settings" +msgstr "Setari arme" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6 +msgid "HUD settings" +msgstr "Setari HUD" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 +#: 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 "Aplica imediat" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6 +msgid "Crosshair settings" +msgstr "Setari ochian" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28 +msgid "Enable center crosshair dot" msgstr "Utilizare punct ochian" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151 -msgid "Size:" -msgstr "Marime:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31 +msgid "Dot size:" +msgstr "Marime punct:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158 -msgid "Hit test:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36 +msgid "Dot alpha:" +msgstr "Opacitate punct:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41 +msgid "Dot color:" +msgstr "Culoare punct:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43 +msgid "Use normal crosshair color" +msgstr "Folosire culoarea normala ochian" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54 +msgid "Crosshair animations:" +msgstr "Animatii ochian:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57 +msgid "Smooth effects of crosshairs" +msgstr "Tranzitie efecte ochian" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61 +msgid "Use rings to indicate weapon status" +msgstr "Foloseste inele pentru a indica statutul armei" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67 +msgid "Hit testing:" msgstr "Detectare tinta:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 -msgid "HTST^None" -msgstr "Nici una" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69 +msgid "HTTST^Disabled" +msgstr "HTTST^Dezactivat" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160 -msgid "TrueAim" -msgstr "TrueAim" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70 +msgid "HTTST^TrueAim" +msgstr "HTTST^TrueAim" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161 -msgid "Enemies" -msgstr "Dusmani" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71 +msgid "HTTST^Enemies" +msgstr "HTTST^Dusmani" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164 -msgid "Waypoints setup..." -msgstr "Setari indicatoare..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76 +msgid "Blur crosshair if the shot is obstructed" +msgstr "Blureaza ochianul daca lovitura este obstructionata" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81 +msgid "Animate when hitting an enemy" +msgstr "Animeaza cand lovesti un dusman" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85 +msgid "Animate when picking up an item" +msgstr "Animeaza cand ridici un obiect" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:40 +msgid "Damage:" +msgstr "Ranire:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:43 +msgid "Overlay:" +msgstr "Suprapunere:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:47 +msgid "Factor:" +msgstr "Factor:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:52 +msgid "Fade rate:" +msgstr "Durata atenuare:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:58 +msgid "Waypoints" +msgstr "Indicatoare" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:71 +msgid "Edge offset:" +msgstr "Distantare margine:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:80 +msgid "Show names above players" +msgstr "Afiseaza numele deasupra jucatorilor" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:83 +msgid "Only when near crosshair" +msgstr "Numai langa ochian" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:86 +msgid "Display health and armor" +msgstr "Afiseaza viata si armura" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:4 msgid "Enter HUD editor" msgstr "Editor interfata" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174 -msgid "Force models:" -msgstr "Modele jucator fortate:" +#: 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 "Pentru ca editorul HUD sa mearga, trebuie sa te afli intr-un joc." -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 -msgid "MDL^None" -msgstr "Nici una" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30 +msgid "Do you wish to start a local game to set up the HUD?" +msgstr "Doresti sa pornesti un joc local pentru configurare HUD?" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176 -msgid "MDL^Custom" -msgstr "Personalizat" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33 +msgid "HDCNFRM^Yes" +msgstr "HDCNFRM^Da" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177 -msgid "MDL^All" -msgstr "Toate" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36 +msgid "HDCNFRM^No" +msgstr "HDCNFRM^Nu" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180 -msgid "Disable gore effects" -msgstr "Dezactivare efecte violente" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28 +msgid "Body fading:" +msgstr "Atenuare corpuri:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31 msgid "Gibs:" msgstr "Cotlete:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33 msgid "GIBS^None" msgstr "Nici unul" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34 msgid "GIBS^Few" msgstr "Putine" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35 msgid "GIBS^Many" msgstr "Multe" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36 msgid "GIBS^Lots" msgstr "Foarte multe" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:191 -msgid "Damage splash:" -msgstr "Efect ranire:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40 +msgid "Playermodel LOD:" +msgstr "Nivel De Detaliu jucatori:" -#: 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 "Aplica imediat" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44 +msgid "Force models:" +msgstr "Modele jucator fortate:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5 -msgid "Waypoints" -msgstr "Indicatoare" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45 +msgid "MDL^None" +msgstr "Nici una" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23 -msgid "Show base waypoints" -msgstr "Afisaj indicatoare de baza" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46 +msgid "MDL^Custom" +msgstr "Personalizat" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25 -msgid "Waypoint scale:" -msgstr "Marime indicatoare:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47 +msgid "MDL^All" +msgstr "Toate" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29 -msgid "Waypoint alpha:" -msgstr "Opacitate indicatoare:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50 +msgid "Force player models to mine" +msgstr "Inlocuieste culorile jucatorilor cu ale mele" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34 -msgid "Show names:" -msgstr "Afisaj nume:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52 +msgid "Force player colors to mine" +msgstr "Inlocuieste culorile jucatorilor cu ale mele" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37 -msgid "Teammates" -msgstr "Coechipieri" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28 +msgid "Field of view:" +msgstr "Camp vizual:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38 -msgid "All players" -msgstr "Toti jucatorii" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31 +msgid "Zoom:" +msgstr "Zoom:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 -msgid "Weapon settings" -msgstr "Setari arme" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33 +msgid "RETICLE^Fullscreen" +msgstr "RETICLE^Ecran plin" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 -msgid "Weapon priority list:" -msgstr "Lista prioritate arme:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34 +msgid "RETICLE^With reticle" +msgstr "RETICLE^Cu ochian" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34 -msgid "Up" -msgstr "Sus" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38 +msgid "ZOOM^Factor:" +msgstr "ZOOM^Factor:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37 -msgid "Down" -msgstr "Jos" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42 +msgid "ZOOM^Speed:" +msgstr "ZOOM^Viteza:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 -msgid "Use priority list for weapon cycling" -msgstr "Utilizare lista pentru selectarea armelor" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52 +msgid "ZOOM^Instant" +msgstr "ZOOM^Instant" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43 -msgid "Auto switch weapons on pickup" -msgstr "Selectare automata a armelor obtinute" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56 +msgid "ZOOM^Sensitivity:" +msgstr "ZOOM^Sensitivitate:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:45 -msgid "Draw 1st person weapon model" -msgstr "Afisaj model 1st person" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59 +msgid "Velocity zoom:" +msgstr "Zoom viteza:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55 -msgid "Flip view horizontally" -msgstr "Oglindire orizontala ecran" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61 +msgid "VZOOM^Disabled" +msgstr "VZOOM^Dezactivat" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62 +msgid "VZOOM^Forward only" +msgstr "VZOOM^Numai inainte" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63 +msgid "VZOOM^All directions" +msgstr "VZOOM^Toate directiile" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67 +msgid "VZOOM^Speed" +msgstr "VZOOM^Viteza" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:72 +msgid "Allow passing through walls while spectating" +msgstr "Permite trecerea prin pereti ca spectator" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:75 +msgid "1st person perspective" +msgstr "Perspectiva 1st person" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:79 +msgid "Smooth the view when landing from a jump" +msgstr "Efect tranzitie camera pentru aterizare" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:83 +msgid "Smooth the view while crouching" +msgstr "Efect tranzitie camera pentru sedere" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:87 +msgid "View waving while idle" +msgstr "Rotatie ambienta camera" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:91 +msgid "View bobbing while walking around" +msgstr "Miscare camera in timpul mersului" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:96 +msgid "3rd person perspective" +msgstr "Perspectiva 3rd person" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:100 +msgid "Back distance" +msgstr "Distanta in spate" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106 +msgid "Up distance" +msgstr "Distanta in sus" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 +msgid "Weapon priority list:" +msgstr "Lista prioritate arme:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33 +msgid "Up" +msgstr "Sus" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36 +msgid "Down" +msgstr "Jos" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:41 +msgid "Use priority list for weapon cycling" +msgstr "Utilizare lista pentru selectarea armelor" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:43 +msgid "Auto switch weapons on pickup" +msgstr "Selectare automata a armelor obtinute" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:46 +msgid "Draw 1st person weapon model" +msgstr "Afisaj model 1st person" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58 +msgid "Gun model swaying" +msgstr "Miscare model arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63 +msgid "Gun model bobbing" +msgstr "Miscare model arma" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68 +msgid "VWMDL^Scale" +msgstr "VWMDL^Marime" #: qcsrc/menu/xonotic/dialog_news.c:4 msgid "News" @@ -1492,18 +1783,146 @@ msgstr "http://www.xonotic.org/team/blog/" msgid "Quit" msgstr "Iesire" -#: qcsrc/menu/xonotic/dialog_quit.c:17 +#: qcsrc/menu/xonotic/dialog_quit.c:18 msgid "Are you sure you want to quit?" msgstr "Sunteti sigur ca vreti sa iesiti?" -#: qcsrc/menu/xonotic/dialog_quit.c:20 +#: qcsrc/menu/xonotic/dialog_quit.c:21 msgid "Yes" msgstr "Da" -#: qcsrc/menu/xonotic/dialog_quit.c:21 +#: qcsrc/menu/xonotic/dialog_quit.c:22 msgid "No" msgstr "Nu" +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:4 +msgid "Sandbox Tools" +msgstr "Utilitati Sandbox" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:24 +msgid "Spawn" +msgstr "Creaza" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:25 +msgid "Remove *" +msgstr "Sterge *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27 +msgid "Copy *" +msgstr "Copiaza *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28 +msgid "Paste" +msgstr "Creaza copie" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:30 +msgid "Bone:" +msgstr "Os:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:35 +msgid "Set * as child" +msgstr "Marcheaza * ca atasament" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:36 +msgid "Attach to *" +msgstr "Atasaza pe *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:38 +msgid "Detach from *" +msgstr "Detaseaza de pe *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:41 +msgid "Visual object properties for *:" +msgstr "Propietati vizuale pentru *:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:43 +msgid "Set skin:" +msgstr "Seteaza skin:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45 +msgid "Set alpha:" +msgstr "Seteaza opacitate:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48 +msgid "Set color main:" +msgstr "Seteaza culoare principala:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50 +msgid "Set color glow:" +msgstr "Seteaza culoare stralucire:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:54 +msgid "Set frame:" +msgstr "Setare animatie:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:58 +msgid "Physical object properties for *:" +msgstr "Proprietati fizice pentru *:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:60 +msgid "Set material:" +msgstr "Setare material:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:66 +msgid "Set solidity:" +msgstr "Seteaza soliditate:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:67 +msgid "Non-solid" +msgstr "Non-solid" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:68 +msgid "Solid" +msgstr "Solid" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:69 +msgid "Set physics:" +msgstr "Setare fizici:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:70 +msgid "Static" +msgstr "Static" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:71 +msgid "Movable" +msgstr "Poate fi mutat" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:72 +msgid "Physical" +msgstr "Fizic" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74 +msgid "Set scale:" +msgstr "Seteaza marime:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:76 +msgid "Set force:" +msgstr "Setare forta:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:80 +msgid "Claim *" +msgstr "Clameaza *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:82 +msgid "* object info" +msgstr "Informatii obiect *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:83 +msgid "* mesh info" +msgstr "Informatii model *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:84 +msgid "* attachment info" +msgstr "Informatii atasamente *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:85 +msgid "Show help" +msgstr "Afisaj ajutor" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:86 +msgid "* is the object you are facing" +msgstr "* este obiectul la care te uiti" + #: qcsrc/menu/xonotic/dialog_settings.c:4 msgid "Settings" msgstr "Setari" @@ -1529,9 +1948,9 @@ msgid "Audio" msgstr "Audio" #: qcsrc/menu/xonotic/dialog_settings.c:22 -#: qcsrc/menu/xonotic/dialog_settings_network.c:4 -msgid "Network" -msgstr "Retea" +#: qcsrc/menu/xonotic/dialog_settings_user.c:4 +msgid "User" +msgstr "Utilizator" #: qcsrc/menu/xonotic/dialog_settings.c:23 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4 @@ -1542,194 +1961,170 @@ msgstr "Altele" msgid "Master:" msgstr "General:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:33 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:35 msgid "Music:" msgstr "Muzica:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:41 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:45 msgid "VOL^Ambient:" msgstr "Ambianta:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:48 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:54 msgid "Info:" msgstr "Informatii:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:55 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:63 msgid "Items:" msgstr "Obiecte:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:62 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:72 msgid "Pain:" msgstr "Durere:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:69 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:81 msgid "Player:" msgstr "Jucator:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:76 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:90 msgid "Shots:" msgstr "Focuri de arma:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:83 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:99 msgid "Voice:" msgstr "Voci:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:91 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:109 msgid "Weapons:" msgstr "Arme:" -#: 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 "Atenuare sonora in stil nou" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:119 +msgid "Mute sounds when not active" +msgstr "Amuteste sonorul cand fereastra nu e activa" + +#: qcsrc/menu/xonotic/dialog_settings_audio.c:122 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:194 msgid "Frequency:" msgstr "Frecventa:" -#: 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 "Canale:" -#: 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 "Stereo" -#: 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 "Inversare canale stereo" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:148 msgid "Headphone friendly mode" msgstr "Mod casti audio" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 -msgid "Spatial voices:" -msgstr "Voci spatializate:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:132 -msgid "VOCS^None" -msgstr "Nici una" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:133 -msgid "VOCS^Taunts" -msgstr "Glume" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 -msgid "VOCS^All" -msgstr "Toate" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 -msgid "Taunt range:" -msgstr "Distanta voci:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:140 -msgid "RNG^Very short" -msgstr "Foarte scurta" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:141 -msgid "RNG^Short" -msgstr "Scurta" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:142 -msgid "RNG^Normal" -msgstr "Normala" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:143 -msgid "RNG^Long" -msgstr "Lunga" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 +msgid "Hit indication sound" +msgstr "Indicator sonor lovituri" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:144 -msgid "RNG^Full" -msgstr "Toate" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:172 +msgid "Chat message sound" +msgstr "Indicator sonor chat:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:151 -msgid "Automatic taunts" -msgstr "Glume automate" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:174 +msgid "Menu sounds" +msgstr "Sunete meniu" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:160 -msgid "Time warning:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:177 +msgid "Time announcer:" msgstr "Avertisment timp:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:162 -msgid "WRN^None" -msgstr "Nici una" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:179 +msgid "WRN^Disabled" +msgstr "WRN^Dezactivat" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:163 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:180 msgid "1 minute" msgstr "1 minut" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:164 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:181 msgid "5 minutes" msgstr "5 minute" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:165 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:182 msgid "WRN^Both" msgstr "Ambele" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:168 -msgid "Hit indicator" -msgstr "Indicator lovituri" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:189 +msgid "Automatic taunts" +msgstr "Glume automate" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 -msgid "Menu sounds" -msgstr "Sunete meniu" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:199 +msgid "Debug info about sounds" +msgstr "Informatii debug despre sunete" #: qcsrc/menu/xonotic/dialog_settings_effects.c:38 msgid "Quality preset:" @@ -1792,230 +2187,226 @@ msgid "DET^Insane" msgstr "Extrem" #: qcsrc/menu/xonotic/dialog_settings_effects.c:62 -msgid "Antialiasing:" -msgstr "Margini fine:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:64 -msgid "AA^Disabled" -msgstr "Dezactivat" - -#: 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 "Calitate texturi:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:73 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 msgid "RES^Leet" msgstr "Minima" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:74 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 msgid "RES^Lowest" msgstr "Cea mai joasa" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:75 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:67 +msgid "RES^Very low" +msgstr "RES^Foarte jos" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:68 msgid "RES^Low" msgstr "Joasa" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:76 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:69 msgid "RES^Normal" msgstr "Normala" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:77 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 msgid "RES^Good" msgstr "Ridicata" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:78 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:71 msgid "RES^Best" msgstr "Cea mai ridicata" -#: 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 "Evitare compresie rapida texturi" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 -msgid "Anisotropy:" -msgstr "Filtrare anisotropica:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:102 -msgid "ANISO^Disabled" -msgstr "Dezactivat" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:93 +msgid "Use lightmaps" +msgstr "Utilizare lightmap" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:105 -msgid "8x" -msgstr "8x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:94 +msgid "Deluxe mapping" +msgstr "Texturi Deluxe" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 -msgid "16x" -msgstr "16x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:96 +msgid "Gloss" +msgstr "Suprafete lucioase" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 -msgid "Particle quality:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 +msgid "Particles quality:" msgstr "Calicate particule:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:113 -msgid "Particle distance:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:103 +msgid "Particles distance:" msgstr "Distanta particule:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:117 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 +msgid "Damage effects:" +msgstr "Efecte ranire:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:108 +msgid "DMGPRTCLS^Disabled" +msgstr "DMGPRTCLS^Dezactivat" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:109 +msgid "DMGPRTCLS^Skeletal" +msgstr "DMGPRTCLS^Skeletal" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 +msgid "DMGPRTCLS^All" +msgstr "DMGPRTCLS^Toate" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:114 msgid "Decals" msgstr "Semne" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:118 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:115 msgid "Decals on models" msgstr "Semne pe modele" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:122 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:119 msgid "Distance:" msgstr "Distanta:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:128 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:125 msgid "Time:" msgstr "Durata:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 -msgid "Use lightmaps" -msgstr "Utilizare lightmap" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:135 -msgid "Deluxe mapping" -msgstr "Texturi Deluxe" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:137 -msgid "Gloss" -msgstr "Suprafete lucioase" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:140 -msgid "Offset mapping" -msgstr "Relief" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 -msgid "Relief mapping" -msgstr "Detaliu relief" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:145 -msgid "Reflections:" -msgstr "Reflectii:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:148 -msgid "Blurred" -msgstr "Blurate" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 -msgid "REFL^Good" -msgstr "Bune" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:150 -msgid "Sharp" -msgstr "Ascutite" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:131 +msgid "Coronas" +msgstr "Coroane lumini" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 -msgid "Show surfaces" -msgstr "Afisaj suprafete" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:132 +msgid "Use Occlusion Queries" +msgstr "Utilizare Ocluzii" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 msgid "No dynamic lighting" msgstr "Luminozitate dinamica dezactivata" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 -msgid "Flash blend approximation" -msgstr "Luminozitate dinamica rapida" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:136 +msgid "Fake corona lighting" +msgstr "Luminozitate falsa" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:161 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:138 msgid "Realtime dynamic lighting" msgstr "Luminozitate dinamica in timp real" -#: 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 "Umbre" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:165 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 msgid "Realtime world lighting" msgstr "Luminozitate ambienta in timp real" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:170 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:147 msgid "Use normal maps" msgstr "Utilizare texturi normale" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:172 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 msgid "Soft shadows" msgstr "Umbre fine" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:175 -msgid "Coronas" -msgstr "Coroane lumini" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:153 +msgid "Show surfaces" +msgstr "Afisaj suprafete" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:176 -msgid "Use Occlusion Queries" -msgstr "Utilizare Ocluzii" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 +msgid "Offset mapping" +msgstr "Relief" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:178 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +msgid "Relief mapping" +msgstr "Detaliu relief" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 +msgid "LOD" +msgstr "Nivel De Detalui" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 msgid "Bloom" msgstr "Luminozitate moale" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:180 -msgid "High Dynamic Range (HDR)" -msgstr "Distanta Dinamica Inalta (HDR)" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:164 +msgid "Reflections:" +msgstr "Reflectii:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:167 +msgid "Blurred" +msgstr "Blurate" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:168 +msgid "REFL^Good" +msgstr "Bune" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:169 +msgid "Sharp" +msgstr "Ascutite" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:184 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:174 msgid "Motion blur:" msgstr "Blurare viteza:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:189 -msgid "Blur and sharpen postprocessing" -msgstr "Postprocesare blurare si ascutire" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:179 +msgid "Extra postprocessing effects" +msgstr "Efecte post-procesare extra" #: qcsrc/menu/xonotic/dialog_settings_input.c:26 msgid "Key bindings:" msgstr "Taste:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:31 +#: qcsrc/menu/xonotic/dialog_settings_input.c:30 msgid "Change key..." msgstr "Schimbare tasta..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:35 +#: qcsrc/menu/xonotic/dialog_settings_input.c:34 msgid "Edit..." msgstr "Editare..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:46 -msgid "Sensitivity:" -msgstr "Sensitivitate:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:45 +msgid "Pressing \"enter console\" key also closes it" +msgstr "\"enter console\" inchide deasemenea consola" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:47 +msgid "Automatically repeat jumping if holding jump" +msgstr "Repeta saritura daca butonul de sarit este apasat" #: qcsrc/menu/xonotic/dialog_settings_input.c:51 -msgid "UI mouse speed:" -msgstr "Viteza mouse in meniu:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:53 +#: qcsrc/menu/xonotic/dialog_settings_input.c:56 +msgid "Use joystick input" +msgstr "Utilizare joystick" -#: qcsrc/menu/xonotic/dialog_settings_input.c:55 -msgid "Mouse filter" -msgstr "Filtrare mouse" +#: qcsrc/menu/xonotic/dialog_settings_input.c:61 +msgid "Mouse:" +msgstr "Mouse:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:57 -msgid "Invert mouse" -msgstr "Inversare mouse" +#: qcsrc/menu/xonotic/dialog_settings_input.c:64 +msgid "Sensitivity:" +msgstr "Sensitivitate:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:60 -#: qcsrc/menu/xonotic/dialog_settings_input.c:62 -msgid "Use joystick input" -msgstr "Utilizare joystick" +#: qcsrc/menu/xonotic/dialog_settings_input.c:68 +msgid "Smooth aiming" +msgstr "Miscare lina" -#: qcsrc/menu/xonotic/dialog_settings_input.c:65 -#: qcsrc/menu/xonotic/dialog_settings_input.c:67 -msgid "Turn off OS mouse acceleration" -msgstr "Dezactivare acceleratie mouse din OS" +#: qcsrc/menu/xonotic/dialog_settings_input.c:71 +msgid "Invert aiming" +msgstr "Inversare mouse" + +#: 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 "Dezactivare acceleratie mouse din sistem" -#: qcsrc/menu/xonotic/dialog_settings_input.c:69 -msgid "\"enter console\" also closes" -msgstr "\"enter\" inchide si consola" +#: qcsrc/menu/xonotic/dialog_settings_input.c:85 +msgid "Enable built in mouse acceleration" +msgstr "Activare acceleratie mouse din motor" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5 msgid "User defined key bind" @@ -2038,96 +2429,261 @@ msgid "Cancel" msgstr "Anulare" #: qcsrc/menu/xonotic/dialog_settings_misc.c:26 -msgid "Menu skins:" -msgstr "Stil meniu:" +msgid "Network:" +msgstr "Retea:" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:47 -msgid "Show current time" -msgstr "Afisaj ora" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:31 +msgid "56k" +msgstr "56k" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:49 -msgid "Show current date" -msgstr "Afisaj data" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:32 +msgid "ISDN" +msgstr "ISDN" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:51 +#: 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 rapid" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 +msgid "Broadband" +msgstr "Cablu/Fibra optica" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:39 +msgid "Input packets/s:" +msgstr "Pachete intrare/secunda:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:45 +msgid "Local latency:" +msgstr "Latenta locala:" + +#: 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 "Afisaj grafic retea" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:59 +msgid "Client-side movement prediction" +msgstr "Predictie miscare" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +msgid "Movement error compensation" +msgstr "Compensare eroare miscare" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:66 +msgid "Downloads:" +msgstr "Descarcari simultane:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:69 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:81 +msgid "Maximum:" +msgstr "Maxim:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:73 +msgid "Speed (kB/s):" +msgstr "Viteza (kB/s):" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:78 +msgid "Framerate:" +msgstr "Cadre:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:83 +msgid "MAXFPS^5 fps" +msgstr "MAXFPS^5 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:84 +msgid "MAXFPS^10 fps" +msgstr "MAXFPS^10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:85 +msgid "MAXFPS^20 fps" +msgstr "MAXFPS^20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:86 +msgid "MAXFPS^30 fps" +msgstr "MAXFPS^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:87 +msgid "MAXFPS^40 fps" +msgstr "MAXFPS^40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:88 +msgid "MAXFPS^50 fps" +msgstr "MAXFPS^50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:89 +msgid "MAXFPS^60 fps" +msgstr "MAXFPS^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:90 +msgid "MAXFPS^70 fps" +msgstr "MAXFPS^70 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:91 +msgid "MAXFPS^100 fps" +msgstr "MAXFPS^100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:92 +msgid "MAXFPS^125 fps" +msgstr "MAXFPS^125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:93 +msgid "MAXFPS^200 fps" +msgstr "MAXFPS^200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:94 +msgid "MAXFPS^Unlimited" +msgstr "MAXFPS^Nelimitat" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:98 +msgid "Target:" +msgstr "Tinta:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:100 +msgid "TRGT^Disabled" +msgstr "TRGT^Dezactivat" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:101 +msgid "TRGT^30 fps" +msgstr "TRGT^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:102 +msgid "TRGT^40 fps" +msgstr "TRGT^40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:103 +msgid "TRGT^50 fps" +msgstr "TRGT^50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:104 +msgid "TRGT^60 fps" +msgstr "TRGT^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:105 +msgid "TRGT^100 fps" +msgstr "TRGT^100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:106 +msgid "TRGT^125 fps" +msgstr "TRGT^125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:107 +msgid "TRGT^200 fps" +msgstr "TRGT^200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:111 +msgid "Idle limit:" +msgstr "Limita de timp:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:113 +msgid "IDLFPS^10 fps" +msgstr "IDLFPS^10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:114 +msgid "IDLFPS^20 fps" +msgstr "IDLFPS^20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:115 +msgid "IDLFPS^30 fps" +msgstr "IDLFPS^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:116 +msgid "IDLFPS^60 fps" +msgstr "IDLFPS^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:117 +msgid "IDLFPS^Unlimited" +msgstr "IDLFPS^Nelimitat" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:122 msgid "Show frames per second" msgstr "Afisaj cadre pe secunda" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:53 -msgid "Minimize input latency" -msgstr "Minimizare latenta control" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:125 +msgid "Save processing time for other apps" +msgstr "Salveaza timpul de procesare pentru alte aplicatii" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:129 +msgid "Menu tooltips:" +msgstr "Etichete meniu:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:131 +msgid "TLTIP^Disabled" +msgstr "TLTIP^Dezactivat" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:132 +msgid "TLTIP^Standard" +msgstr "TLTIP^Standard" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:133 +msgid "TLTIP^Advanced" +msgstr "TLTIP^Avansat" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:137 +msgid "Show current time" +msgstr "Afisaj ora" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:139 +msgid "Show current date" +msgstr "Afisaj data" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:141 +msgid "Enable developer mode" +msgstr "Activare mod programator" #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 msgid "Advanced settings" msgstr "Setari avansate" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31 msgid "Cvar filter:" msgstr "Filtru variabile:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44 msgid "Setting:" msgstr "Setari:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:48 +msgid "Type:" +msgstr "Tip:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:52 msgid "Value:" msgstr "Valoare:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:68 msgid "Description:" msgstr "Descriere:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:26 -msgid "Client-side movement prediction" -msgstr "Predictie miscare" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:30 -msgid "Show netgraph" -msgstr "Afisaj grafic retea" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:33 -msgid "Network speed:" -msgstr "Viteza retea:" - -#: 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 rapid" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:39 -msgid "Broadband" -msgstr "Cablu/Fibra optica" +#: qcsrc/menu/xonotic/dialog_settings_user.c:27 +msgid "Menu skins:" +msgstr "Stil meniu:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:42 -msgid "Input packets/s:" -msgstr "Pachete intrare/secunda:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:31 +msgid "Set skin" +msgstr "Setare skin" -#: qcsrc/menu/xonotic/dialog_settings_network.c:46 -msgid "HTTP downloads:" -msgstr "Descarcari HTTP:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:74 +msgid "Set language" +msgstr "Setare limba" -#: qcsrc/menu/xonotic/dialog_settings_network.c:49 -msgid "Downloads:" -msgstr "Descarcari simultane:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:79 +msgid "Disable gore effects and harsh language" +msgstr "Dezactivare efecte violente si limbaj violent" -#: qcsrc/menu/xonotic/dialog_settings_network.c:53 -msgid "Speed (kB/s):" -msgstr "Viteza (kB/s):" +#: qcsrc/menu/xonotic/dialog_settings_user.c:82 +msgid "Allow player statistics to track your client" +msgstr "Permite statisticilor sa-ti urmareasca clientul" -#: 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 "Permite statisticilor sa-ti foloseasca numele" #: qcsrc/menu/xonotic/dialog_settings_video.c:26 msgid "Resolution:" @@ -2177,103 +2733,173 @@ msgstr "Colosal" msgid "Color depth:" msgstr "Adancime culoare:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:44 +msgid "16bit" +msgstr "16 biti" + #: qcsrc/menu/xonotic/dialog_settings_video.c:45 +msgid "32bit" +msgstr "32 biti" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:48 msgid "Full screen" msgstr "Ecran plin" -#: qcsrc/menu/xonotic/dialog_settings_video.c:46 +#: qcsrc/menu/xonotic/dialog_settings_video.c:49 msgid "Vertical Synchronization" msgstr "Sincronizare Verticala" -#: qcsrc/menu/xonotic/dialog_settings_video.c:49 -msgid "Use OpenGL 2.0 shaders (GLSL)" -msgstr "Utilizare OpenGL 2.0 (GLSL)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:53 +msgid "Anisotropy:" +msgstr "Filtrare anisotropica:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:52 -msgid "Use GLSL to handle color control" -msgstr "Utilizare GLSL pentru culori" +#: qcsrc/menu/xonotic/dialog_settings_video.c:55 +msgid "ANISO^Disabled" +msgstr "Dezactivat" #: qcsrc/menu/xonotic/dialog_settings_video.c:56 -msgid "Vertex Buffer Objects (VBOs)" -msgstr "Tampon Memorie Obiecte (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 "Dezactivat" +msgid "16x" +msgstr "16x" -#: qcsrc/menu/xonotic/dialog_settings_video.c:60 -msgid "Vertices, some Tris (compatible)" -msgstr "Puncte, unele Triunghiuri (compatibil)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:62 +msgid "Antialiasing:" +msgstr "Margini fine:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:63 -msgid "Vertices" -msgstr "Puncte" +#: qcsrc/menu/xonotic/dialog_settings_video.c:65 +msgid "AA^Disabled" +msgstr "Dezactivat" -#: qcsrc/menu/xonotic/dialog_settings_video.c:64 -msgid "Vertices and Triangles" -msgstr "Puncte si Triunghiuri" +#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +msgid "High-quality frame buffer" +msgstr "Tampon cadru de inalta calitate" -#: qcsrc/menu/xonotic/dialog_settings_video.c:67 +#: qcsrc/menu/xonotic/dialog_settings_video.c:76 msgid "Depth first:" msgstr "Calcul adancime:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:69 +#: qcsrc/menu/xonotic/dialog_settings_video.c:78 msgid "DF^Disabled" msgstr "Dezactivat" -#: qcsrc/menu/xonotic/dialog_settings_video.c:70 +#: qcsrc/menu/xonotic/dialog_settings_video.c:79 msgid "DF^World" msgstr "Mediul" -#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +#: qcsrc/menu/xonotic/dialog_settings_video.c:80 msgid "DF^All" msgstr "Totul" -#: qcsrc/menu/xonotic/dialog_settings_video.c:75 -msgid "Disable multithreaded OpenGL" -msgstr "Dezactiveaza OpenGL multi-core" +#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +msgid "Vertex Buffer Objects (VBOs)" +msgstr "Tampon Memorie Obiecte (VBOs)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:77 -msgid "Wait for GPU to finish each frame" -msgstr "Asteapta ca GPU sa termine fiecare cadru" +#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +msgid "VBO^Off" +msgstr "Dezactivat" -#: qcsrc/menu/xonotic/dialog_settings_video.c:80 +#: qcsrc/menu/xonotic/dialog_settings_video.c:87 +msgid "Vertices, some Tris (compatible)" +msgstr "Puncte, unele Triunghiuri (compatibil)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:90 +msgid "Vertices" +msgstr "Puncte" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +msgid "Vertices and Triangles" +msgstr "Puncte si Triunghiuri" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:94 msgid "Brightness:" msgstr "Luminozitate:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +#: qcsrc/menu/xonotic/dialog_settings_video.c:97 msgid "Contrast:" msgstr "Contrast:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +#: qcsrc/menu/xonotic/dialog_settings_video.c:100 msgid "Gamma:" msgstr "Gama:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +#: qcsrc/menu/xonotic/dialog_settings_video.c:105 msgid "Contrast boost:" msgstr "Exagerare contrast:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:96 +#: qcsrc/menu/xonotic/dialog_settings_video.c:110 msgid "Saturation:" msgstr "Saturatie:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:102 +#: qcsrc/menu/xonotic/dialog_settings_video.c:116 msgid "LIT^Ambient:" msgstr "Ambianta:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:105 +#: qcsrc/menu/xonotic/dialog_settings_video.c:119 msgid "Intensity:" msgstr "Intensitate:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:123 +msgid "Use OpenGL 2.0 shaders (GLSL)" +msgstr "Utilizare OpenGL 2.0 (GLSL)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:125 +msgid "Use GLSL to handle color control" +msgstr "Utilizare GLSL pentru culori" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:128 +msgid "Wait for GPU to finish each frame" +msgstr "Asteapta ca GPU sa termine fiecare cadru" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:132 +msgid "Psycho coloring (easter egg)" +msgstr "Colorare psycho (ou de paste)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:135 +msgid "Trippy vertices (easter egg)" +msgstr "Deformare vertice (ou de paste)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:138 +msgid "Flip view horizontally" +msgstr "Oglindire orizontala ecran" + #: qcsrc/menu/xonotic/dialog_singleplayer.c:4 msgid "Singleplayer" msgstr "Joc singular" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:127 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:116 msgid "Instant action! (random map with bots)" msgstr "Actiune instanta! (harta aleatorie cu boti)" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:148 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:137 +msgid "Campaign Difficulty:" +msgstr "Dificultate Campanie:" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:138 +msgid "CSKL^Easy" +msgstr "CSKL^Usor" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:139 +msgid "CSKL^Medium" +msgstr "CSKL^Mediu" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:140 +msgid "CSKL^Hard" +msgstr "CSKL^Greu" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:142 msgid "Start Singleplayer!" msgstr "Pornire Joc Singular!" @@ -2309,23 +2935,23 @@ msgstr "roz" msgid "spectate" msgstr "spectator" -#: 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 "Nu mai apasati acest buton din nou!" -#: 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 "" "Huh? Nu se poate juca asta (m este NUL). Re-filtrez pentru a preveni asta pe " "viitor.\n" -#: qcsrc/menu/xonotic/maplist.c:286 +#: qcsrc/menu/xonotic/maplist.c:290 #, c-format msgid "%s's Xonotic Server" msgstr "Serverul Xonotic al lui %s" -#: 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" @@ -2333,7 +2959,11 @@ msgstr "" "Huh? Nu se poate juca asta (tipul jocului este invalid). Re-filtrez pentru a " "preveni asta pe viitor.\n" -#: qcsrc/menu/xonotic/playermodel.c:174 +#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128 +msgid "spectator" +msgstr "spectator" + +#: qcsrc/menu/xonotic/playermodel.c:177 msgid "<no model found>" msgstr "<nu a fost gasit nici un model>" @@ -2345,23 +2975,23 @@ msgstr "Stergere" msgid "Bookmark" msgstr "Favorit" -#: qcsrc/menu/xonotic/serverlist.c:527 +#: qcsrc/menu/xonotic/serverlist.c:548 msgid "Ping" msgstr "Latenta" -#: qcsrc/menu/xonotic/serverlist.c:528 +#: qcsrc/menu/xonotic/serverlist.c:549 msgid "Host name" msgstr "Nume server" -#: qcsrc/menu/xonotic/serverlist.c:529 +#: qcsrc/menu/xonotic/serverlist.c:550 msgid "Map" msgstr "Harta" -#: qcsrc/menu/xonotic/serverlist.c:530 +#: qcsrc/menu/xonotic/serverlist.c:551 msgid "Type" msgstr "Mod" -#: qcsrc/menu/xonotic/serverlist.c:531 +#: qcsrc/menu/xonotic/serverlist.c:552 msgid "Players" msgstr "Jucatori" @@ -2391,25 +3021,25 @@ msgstr "%s dB" 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 "Primit cerere HTTP pentru un id invalid %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 "eroare primire notificare update: statutul este %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 "eroare: primit HTML in schimbul unei notificari de update\n" -#: qcsrc/menu/xonotic/util.qc:295 +#: qcsrc/menu/xonotic/util.qc:301 msgid "error: received carriage returns from update notification server\n" msgstr "eroare: primit un mesaj eronat de la serverul de notificari update\n" -#: qcsrc/menu/xonotic/util.qc:316 +#: qcsrc/menu/xonotic/util.qc:322 #, c-format msgid "" "Update can be downloaded at:\n" @@ -2418,21 +3048,21 @@ msgstr "" "Un update se poate descarca aici:\n" "%s\n" -#: qcsrc/menu/xonotic/util.qc:337 +#: qcsrc/menu/xonotic/util.qc:351 msgid "Autogenerating mapinfo for newly added maps..." msgstr "Auto-generare mapinfo pentru hartile proaspat adaugate..." -#: qcsrc/menu/xonotic/util.qc:367 +#: qcsrc/menu/xonotic/util.qc:381 #, c-format msgid "^1%s TEST BUILD" msgstr "^1%s VERSIUNE TESTARE" -#: qcsrc/menu/xonotic/util.qc:432 +#: qcsrc/menu/xonotic/util.qc:439 #, c-format msgid "Update to %s now!" msgstr "Updatati la %s acum!" -#: 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" @@ -2440,474 +3070,480 @@ msgstr "" "^1EROARE: Comprimarea texturilor este necesara dar nu si suportata.\n" "^1Asteptati-va la probleme vizuale.\n" -#: qcsrc/menu/xonotic/util.qc:523 -msgid "Arena" -msgstr "Arena" +#: qcsrc/menu/xonotic/util.qc:643 +msgid "Use default" +msgstr "Utilizare setare normala" -#: qcsrc/menu/xonotic/util.qc:524 -msgid "Assault" -msgstr "Asalt" +#: qcsrc/menu/xonotic/util.qc:663 +msgid "Team Color:" +msgstr "Culoare echipa:" -#: qcsrc/menu/xonotic/util.qc:525 -msgid "Capture The Flag" -msgstr "Captureaza Steagul" +#: qcsrc/menu/xonotic/util.qh:50 +msgid "Enable panel" +msgstr "Activare panou" -#: qcsrc/menu/xonotic/util.qc:526 -msgid "Clan Arena" -msgstr "Clan Arena" +#: weapons.qc.tmp:1 +msgid "Rifle" +msgstr "Luneta" -#: qcsrc/menu/xonotic/util.qc:527 -msgid "Deathmatch" -msgstr "Meciul Mortii" +#: weapons.qc.tmp:2 +msgid "Machine Gun" +msgstr "Machine Gun" -#: qcsrc/menu/xonotic/util.qc:528 -msgid "Domination" -msgstr "Dominatie" +#: weapons.qc.tmp:3 +msgid "Rocket Launcher" +msgstr "Rocket Launcher" -#: qcsrc/menu/xonotic/util.qc:529 -msgid "Freeze Tag" -msgstr "Inghet" +#: weapons.qc.tmp:4 +msgid "Port-O-Launch" +msgstr "Port-O-Launch" -#: qcsrc/menu/xonotic/util.qc:530 -msgid "Keepaway" -msgstr "Keepaway" +#: weapons.qc.tmp:5 +msgid "Grappling Hook" +msgstr "Grappling Hook" -#: qcsrc/menu/xonotic/util.qc:531 -msgid "Key Hunt" -msgstr "Vanatoarea Cheilor" +#: weapons.qc.tmp:6 +msgid "Electro" +msgstr "Electro" -#: qcsrc/menu/xonotic/util.qc:532 -msgid "Last Man Standing" -msgstr "Ultimul Supravietuitor" +#: 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 "Shotgun" -#: qcsrc/menu/xonotic/util.qc:534 -msgid "Onslaught" -msgstr "Onslaught" +#: weapons.qc.tmp:9 +#, c-format +msgid "@!#%'n Tuba" +msgstr "@!#%'n Tuba" -#: qcsrc/menu/xonotic/util.qc:535 -msgid "Race" -msgstr "Cursa" +#: weapons.qc.tmp:10 +msgid "MinstaNex" +msgstr "MinstaNex" -#: qcsrc/menu/xonotic/util.qc:536 -msgid "Race CTS" -msgstr "Cursa 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 "Heavy Laser Assault Cannon" -#: qcsrc/menu/xonotic/util.qc:538 -msgid "Team Deathmatch" -msgstr "Meciul Mortii (in echipa)" +#: weapons.qc.tmp:13 +msgid "Mortar" +msgstr "Mortar" -#: qcsrc/menu/xonotic/util.qc:557 -#, c-format -msgid "@!#%'n Tuba Throwing" -msgstr "Arunca @!#%'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 "Setare normala" +#: weapons.qc.tmp:15 +msgid "T.A.G. Seeker" +msgstr "T.A.G. Seeker" -#: qcsrc/menu/xonotic/util.qc:588 -msgid "Use default" -msgstr "Utilizare setare normala" +#: weapons.qc.tmp:16 +msgid "Fireball" +msgstr "Fireball" -#: qcsrc/menu/xonotic/util.qc:608 -msgid "Team Color:" -msgstr "Culoare echipa:" +#: weapons.qc.tmp:17 +msgid "Mine Layer" +msgstr "Mine Layer" -#: qcsrc/menu/xonotic/util.qh:47 -msgid "Enable panel" -msgstr "Activare panou" +#: weapons.qc.tmp:18 +msgid "Nex" +msgstr "Nex" -#: qcsrc/server/w_crylink.qc:2 -msgid "Crylink" -msgstr "Crylink" +#~ msgid "Powerup sharpen" +#~ msgstr "Ascutire powerup" -#: qcsrc/server/w_crylink.qc:666 -#, c-format -msgid "%s succeeded at self-destructing themself with the Crylink" -msgstr "%s a reusit sa se auto-distruga cu Crylink-ul" +#~ msgid "Damage & water blur" +#~ msgstr "Blurare ranire & apa:" -#: qcsrc/server/w_crylink.qc:671 -#, c-format -msgid "%s could not hide from %s's Crylink" -msgstr "%s nu s-a putut ascunde de Crylink-ul lui %s" +#~ msgid "Speedometer" +#~ msgstr "Vitezometru" -#: qcsrc/server/w_crylink.qc:673 -#, c-format -msgid "%s was too close to %s's Crylink" -msgstr "%s s-a apropiat prea mult de Crylink-ul lui %s" +#~ msgid "qu/s (hidden)" +#~ msgstr "qu/s (ascuns)" -#: qcsrc/server/w_crylink.qc:675 -#, c-format -msgid "%s took a close look at %s's Crylink" -msgstr "%s s-a uitat in deaproape la Crylink-ul lui %s" +#~ msgid "Show accelerometer" +#~ msgstr "Afisaj metru acceleratie" -#: qcsrc/server/w_electro.qc:2 -msgid "Electro" -msgstr "Electro" +#~ msgid "Accelerometer scale:" +#~ msgstr "Marime metru acceleratie:" -#: qcsrc/server/w_electro.qc:574 -#, c-format -msgid "%s could not remember where they put plasma" -msgstr "%s a uitat unde a pus plasma" +#~ msgid "Sniper Rifle" +#~ msgstr "Sniper Rifle" -#: qcsrc/server/w_electro.qc:576 -#, c-format -msgid "%s played with plasma" -msgstr "%s s-a jucat cu plasma" +#~ msgid "Waypoint settings:" +#~ msgstr "Setari indicatoare:" -#: qcsrc/server/w_electro.qc:583 -#, c-format -msgid "%s just noticed %s's blue ball" -msgstr "%s tocmai a observat bilele albastre ale lui %s" +#~ msgid "Panel enabled if not observing" +#~ msgstr "Panou activ pentru non-observatori" -#: qcsrc/server/w_electro.qc:585 -#, c-format -msgid "%s got in touch with %s's blue ball" -msgstr "%s a intrat in contact cu bila albastra a lui %s" +#~ msgid "%s was riddled full of holes by %s" +#~ msgstr "%s a fost gaurit de %s" -#: qcsrc/server/w_electro.qc:590 -#, c-format -msgid "%s felt the electrifying air of %s's combo" -msgstr "%s a simtit forta electrica a combinatiei lui %s" +#~ msgid "%s died of %s's great playing on the @!#%%'n Tuba" +#~ msgstr "%s a murit de la cantecul lui %s cu @!#%%'n Tuba" -#: qcsrc/server/w_electro.qc:592 -#, c-format -msgid "%s got too close to %s's blue beam" -msgstr "%s s-a apropiat prea mult de raza albastra a lui %s" +#~ msgid "%s hurt his own ears with the @!#%%'n Tuba" +#~ msgstr "%s si-a spart urechile cu propria @!#%%'n Tuba" -#: qcsrc/server/w_electro.qc:594 -#, c-format -msgid "%s was blasted by %s's blue beam" -msgstr "%s a fost lovit de raza albastra a lui %s" +#~ msgid "%s was gunned by %s" +#~ msgstr "%s a fost impuscat de %s" -#: qcsrc/server/w_fireball.qc:2 -msgid "Fireball" -msgstr "Fireball" +#~ msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" +#~ msgstr "%2$s ^7l-a plesnit pe %1$s ^7cu o ^2Pusca ^7foarte mare" -#: qcsrc/server/w_fireball.qc:417 -#, c-format -msgid "%s forgot about some firemine" -msgstr "%s a uitat o minge de foc" +#~ msgid "%s was tagged by %s" +#~ msgstr "%s a fost marcat 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 trebuia sa foloseasca o arma mai mica" +#~ msgid "%s ate %s's rocket" +#~ msgstr "%s a mancat racheta lui %s" -#: qcsrc/server/w_fireball.qc:426 -#, c-format -msgid "%s tried to catch %s's firemine" -msgstr "%s a incercat sa prinda mingea de foc a lui %s" +#~ msgid "%s almost dodged %s's rocket" +#~ msgstr "%s aproape ca s-a ferit de racheta lui %s" -#: qcsrc/server/w_fireball.qc:428 -#, c-format -msgid "%s fatefully ignored %s's firemine" -msgstr "%s a ignorat mingea de foc a lui %s cu incredere" +#~ msgid "%s got too close to %s's rocket" +#~ msgstr "%s s-a apropiat prea mult de racheta lui %s" -#: qcsrc/server/w_fireball.qc:435 -#, c-format -msgid "%s could not hide from %s's fireball" -msgstr "%s nu s-a putut ascunde de Fireball-ul lui %s" +#~ msgid "%s was sniped by %s" +#~ msgstr "%s a fost nimerit cu luneta de %s" -#: qcsrc/server/w_fireball.qc:437 -#, c-format -msgid "%s saw the pretty lights of %s's fireball" -msgstr "%s a vazut luminita de la capatul Fireball-ului lui %s" +#~ msgid "%s got hit in the head by %s" +#~ msgstr "%s a fost lovit in cap de %s" -#: qcsrc/server/w_fireball.qc:440 -#, c-format -msgid "%s got too close to %s's fireball" -msgstr "%s s-a apropiat prea mult de Fireball-ul lui %s" +#~ msgid "%s failed to hide from %s's rifle" +#~ msgstr "%s nu a reusit sa se ascunda de luneta lui %s" -#: qcsrc/server/w_fireball.qc:442 -#, c-format -msgid "%s tasted %s's fireball" -msgstr "%s a gustat din Fireball-ul lui %s" +#~ msgid "%s died in %s's bullet hail" +#~ msgstr "%s a murit in ploaia de gloante a lui %s" -#: qcsrc/server/w_grenadelauncher.qc:2 -msgid "Mortar" -msgstr "Mortar" +#~ msgid "%s failed to hide from %s's bullet hail" +#~ msgstr "%s nu a reusit sa se ascunda de ploaia de gloante a lui %s" -#: qcsrc/server/w_grenadelauncher.qc:383 -#, c-format -msgid "%s tried out his own grenade" -msgstr "%s si-a incercat propria grenada" +#~ msgid "%s sniped themself somehow" +#~ msgstr "%s s-a impuscat oarecum cu luneta" -#: qcsrc/server/w_grenadelauncher.qc:385 -#, c-format -msgid "%s detonated" -msgstr "%s a detonat" +#~ msgid "%s shot themself automatically" +#~ msgstr "%s s-a impuscat automat" -#: qcsrc/server/w_grenadelauncher.qc:391 -#, c-format -msgid "%s didn't see %s's grenade" -msgstr "%s nu a vazut grenada lui %s" +#~ msgid "%s felt %s doing the impossible to him" +#~ msgstr "%s a simtit cum %s a reusit imposibilul" -#: qcsrc/server/w_grenadelauncher.qc:393 -#, c-format -msgid "%s almost dodged %s's grenade" -msgstr "%s aproape ca s-a ferit de grenada lui %s" +#~ msgid "%s has been vaporized by %s" +#~ msgstr "%s a fost vaporizat de %s" -#: qcsrc/server/w_grenadelauncher.qc:395 -#, c-format -msgid "%s ate %s's grenade" -msgstr "%s a mancat grenada lui %s" +#~ msgid "%s is now thinking with portals" +#~ msgstr "%s gandeste acum cu portaluri" -#: qcsrc/server/w_hagar.qc:2 -msgid "Hagar" -msgstr "Hagar" +#~ msgid "%s stepped on %s's mine" +#~ msgstr "%s a calcat pe mina lui %s" -#: qcsrc/server/w_hagar.qc:395 qcsrc/server/w_seeker.qc:655 -#, c-format -msgid "%s played with tiny rockets" -msgstr "%s s-a jucat cu rachete" +#~ msgid "%s almost dodged %s's mine" +#~ msgstr "%s aproape ca s-a ferit de mina lui %s" -#: qcsrc/server/w_hagar.qc:399 -#, c-format -msgid "%s hoped %s's missiles wouldn't bounce" -msgstr "%s a sperat ca rachetele lui %s nu vor ricosa" +#~ msgid "%s got too close to %s's mine" +#~ msgstr "%s s-a apropiat prea mult de mina lui %s" -#: qcsrc/server/w_hagar.qc:401 qcsrc/server/w_seeker.qc:661 -#, c-format -msgid "%s was pummeled by %s" -msgstr "%s a fost batut mar de %s" +#~ msgid "%s exploded" +#~ msgstr "%s a explodat" -#: qcsrc/server/w_hlac.qc:2 -msgid "Heavy Laser Assault Cannon" -msgstr "Heavy Laser Assault Cannon" +#~ msgid "%s was lasered to death by %s" +#~ msgstr "%s a fost omorat cu laser de %s" -#: qcsrc/server/w_hlac.qc:242 -#, c-format -msgid "%s was cut down by %s" -msgstr "%s a fost taiat de %s" +#~ msgid "%s was cut in half by %s's gauntlet" +#~ msgstr "%s a fost taiat in doua de socul lui %s" -#: qcsrc/server/w_hook.qc:2 -msgid "Grappling Hook" -msgstr "Grappling Hook" +#~ msgid "%s lasered themself to hell" +#~ msgstr "%s s-a lovit prea mult cu laserul" -#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296 -#, c-format -msgid "%s did the impossible" -msgstr "%s a reusit imposibilul" +#~ msgid "%s has run into %s's gravity bomb" +#~ msgstr "%s a fost absorbit de bomba gravitationala a lui %s" -#: qcsrc/server/w_hook.qc:268 -#, c-format -msgid "%s has run into %s's gravity bomb" -msgstr "%s a fost absorbit de bomba gravitationala a lui %s" +#~ msgid "%s did the impossible" +#~ msgstr "%s a reusit imposibilul" -#: qcsrc/server/w_laser.qc:2 -msgid "Laser" -msgstr "Laser" +#~ msgid "%s was cut down by %s" +#~ msgstr "%s a fost taiat de %s" -#: qcsrc/server/w_laser.qc:311 -#, c-format -msgid "%s lasered themself to hell" -msgstr "%s s-a lovit prea mult cu laserul" +#~ msgid "%s was pummeled by %s" +#~ msgstr "%s a fost batut mar de %s" -#: qcsrc/server/w_laser.qc:315 -#, c-format -msgid "%s was cut in half by %s's gauntlet" -msgstr "%s a fost taiat in doua de socul lui %s" +#~ msgid "%s hoped %s's missiles wouldn't bounce" +#~ msgstr "%s a sperat ca rachetele lui %s nu vor ricosa" -#: qcsrc/server/w_laser.qc:317 -#, c-format -msgid "%s was lasered to death by %s" -msgstr "%s a fost omorat cu laser de %s" +#~ msgid "%s played with tiny rockets" +#~ msgstr "%s s-a jucat cu rachete" -#: qcsrc/server/w_minelayer.qc:2 -msgid "Mine Layer" -msgstr "Mine Layer" +#~ msgid "%s ate %s's grenade" +#~ msgstr "%s a mancat grenada lui %s" -#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501 -#, c-format -msgid "%s exploded" -msgstr "%s a explodat" +#~ msgid "%s almost dodged %s's grenade" +#~ msgstr "%s aproape ca s-a ferit de grenada lui %s" -#: qcsrc/server/w_minelayer.qc:527 -#, c-format -msgid "%s got too close to %s's mine" -msgstr "%s s-a apropiat prea mult de mina lui %s" +#~ msgid "%s didn't see %s's grenade" +#~ msgstr "%s nu a vazut grenada lui %s" -#: qcsrc/server/w_minelayer.qc:529 -#, c-format -msgid "%s almost dodged %s's mine" -msgstr "%s aproape ca s-a ferit de mina lui %s" +#~ msgid "%s detonated" +#~ msgstr "%s a detonat" -#: qcsrc/server/w_minelayer.qc:531 -#, c-format -msgid "%s stepped on %s's mine" -msgstr "%s a calcat pe mina lui %s" +#~ msgid "%s tried out his own grenade" +#~ msgstr "%s si-a incercat propria grenada" -#: qcsrc/server/w_minstanex.qc:2 -msgid "MinstaNex" -msgstr "MinstaNex" +#~ msgid "%s tasted %s's fireball" +#~ msgstr "%s a gustat din Fireball-ul lui %s" -#: 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 gandeste acum cu portaluri" +#~ msgid "%s got too close to %s's fireball" +#~ msgstr "%s s-a apropiat prea mult de Fireball-ul lui %s" -#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:255 -#, c-format -msgid "%s has been vaporized by %s" -msgstr "%s a fost vaporizat de %s" +#~ msgid "%s saw the pretty lights of %s's fireball" +#~ msgstr "%s a vazut luminita de la capatul Fireball-ului lui %s" -#: qcsrc/server/w_nex.qc:2 -msgid "Nex" -msgstr "Nex" +#~ msgid "%s could not hide from %s's fireball" +#~ msgstr "%s nu s-a putut ascunde de Fireball-ul lui %s" -#: qcsrc/server/w_porto.qc:2 -msgid "Port-O-Launch" -msgstr "Port-O-Launch" +#~ msgid "%s fatefully ignored %s's firemine" +#~ msgstr "%s a ignorat mingea de foc a lui %s cu incredere" -#: qcsrc/server/w_porto.qc:298 -#, c-format -msgid "%s felt %s doing the impossible to him" -msgstr "%s a simtit cum %s a reusit imposibilul" +#~ msgid "%s tried to catch %s's firemine" +#~ msgstr "%s a incercat sa prinda mingea de foc a lui %s" -#: qcsrc/server/w_rifle.qc:2 -msgid "Rifle" -msgstr "Luneta" +#~ msgid "%s should have used a smaller gun" +#~ msgstr "%s trebuia sa foloseasca o arma mai mica" -#: qcsrc/server/w_rifle.qc:233 -#, c-format -msgid "%s shot themself automatically" -msgstr "%s s-a impuscat automat" +#~ msgid "%s forgot about some firemine" +#~ msgstr "%s a uitat o minge de foc" -#: qcsrc/server/w_rifle.qc:235 -#, c-format -msgid "%s sniped themself somehow" -msgstr "%s s-a impuscat oarecum cu luneta" +#~ msgid "%s was blasted by %s's blue beam" +#~ msgstr "%s a fost lovit de raza albastra a lui %s" -#: qcsrc/server/w_rifle.qc:242 -#, c-format -msgid "%s failed to hide from %s's bullet hail" -msgstr "%s nu a reusit sa se ascunda de ploaia de gloante a lui %s" +#~ msgid "%s got too close to %s's blue beam" +#~ msgstr "%s s-a apropiat prea mult de raza albastra a lui %s" -#: qcsrc/server/w_rifle.qc:244 -#, c-format -msgid "%s died in %s's bullet hail" -msgstr "%s a murit in ploaia de gloante a lui %s" +#~ msgid "%s felt the electrifying air of %s's combo" +#~ msgstr "%s a simtit forta electrica a combinatiei lui %s" -#: qcsrc/server/w_rifle.qc:251 -#, c-format -msgid "%s failed to hide from %s's rifle" -msgstr "%s nu a reusit sa se ascunda de luneta lui %s" +#~ msgid "%s got in touch with %s's blue ball" +#~ msgstr "%s a intrat in contact cu bila albastra a lui %s" -#: qcsrc/server/w_rifle.qc:256 -#, c-format -msgid "%s got hit in the head by %s" -msgstr "%s a fost lovit in cap de %s" +#~ msgid "%s just noticed %s's blue ball" +#~ msgstr "%s tocmai a observat bilele albastre ale lui %s" -#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321 -#, c-format -msgid "%s was sniped by %s" -msgstr "%s a fost nimerit cu luneta de %s" +#~ msgid "%s played with plasma" +#~ msgstr "%s s-a jucat cu plasma" -#: qcsrc/server/w_rocketlauncher.qc:2 -msgid "Rocket Launcher" -msgstr "Rocket Launcher" +#~ msgid "%s could not remember where they put plasma" +#~ msgstr "%s a uitat unde a pus plasma" -#: qcsrc/server/w_rocketlauncher.qc:505 -#, c-format -msgid "%s got too close to %s's rocket" -msgstr "%s s-a apropiat prea mult de racheta lui %s" +#~ msgid "%s took a close look at %s's Crylink" +#~ msgstr "%s s-a uitat in deaproape la Crylink-ul lui %s" -#: qcsrc/server/w_rocketlauncher.qc:507 -#, c-format -msgid "%s almost dodged %s's rocket" -msgstr "%s aproape ca s-a ferit de racheta lui %s" +#~ msgid "%s was too close to %s's Crylink" +#~ msgstr "%s s-a apropiat prea mult de Crylink-ul lui %s" -#: qcsrc/server/w_rocketlauncher.qc:509 -#, c-format -msgid "%s ate %s's rocket" -msgstr "%s a mancat racheta lui %s" +#~ msgid "%s could not hide from %s's Crylink" +#~ msgstr "%s nu s-a putut ascunde de Crylink-ul lui %s" -#: qcsrc/server/w_seeker.qc:2 -msgid "T.A.G. Seeker" -msgstr "T.A.G. Seeker" +#~ msgid "%s succeeded at self-destructing themself with the Crylink" +#~ msgstr "%s a reusit sa se auto-distruga cu Crylink-ul" -#: qcsrc/server/w_seeker.qc:659 -#, c-format -msgid "%s was tagged by %s" -msgstr "%s a fost marcat de %s" +#~ msgid "Capture The Flag" +#~ msgstr "Captureaza Steagul" -#: qcsrc/server/w_shotgun.qc:2 -msgid "Shotgun" -msgstr "Shotgun" +#~ msgid "Disable multithreaded OpenGL" +#~ msgstr "Dezactiveaza OpenGL multi-core" -#: qcsrc/server/w_shotgun.qc:219 -#, c-format -msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" -msgstr "%2$s ^7l-a plesnit pe %1$s ^7cu o ^2Pusca ^7foarte mare" +#~ msgid "HTTP downloads:" +#~ msgstr "Descarcari HTTP:" -#: qcsrc/server/w_shotgun.qc:221 -#, c-format -msgid "%s was gunned by %s" -msgstr "%s a fost impuscat de %s" +#~ msgid "Network speed:" +#~ msgstr "Viteza retea:" -#: qcsrc/server/w_tuba.qc:2 -#, c-format -msgid "@!#%'n Tuba" -msgstr "@!#%'n Tuba" +#~ msgid "Minimize input latency" +#~ msgstr "Minimizare latenta control" -#: qcsrc/server/w_tuba.qc:252 -#, c-format -msgid "%s hurt his own ears with the @!#%%'n Tuba" -msgstr "%s si-a spart urechile cu propria @!#%%'n Tuba" +#~ msgid "\"enter console\" also closes" +#~ msgstr "\"enter\" inchide si consola" -#: qcsrc/server/w_tuba.qc:256 -#, c-format -msgid "%s died of %s's great playing on the @!#%%'n Tuba" -msgstr "%s a murit de la cantecul lui %s cu @!#%%'n Tuba" +#~ msgid "Turn off OS mouse acceleration" +#~ msgstr "Dezactivare acceleratie mouse din OS" -#: qcsrc/server/w_uzi.qc:2 -msgid "Machine Gun" -msgstr "Machine Gun" +#~ msgid "Invert mouse" +#~ msgstr "Inversare mouse" -#: qcsrc/server/w_uzi.qc:323 -#, c-format -msgid "%s was riddled full of holes by %s" -msgstr "%s a fost gaurit de %s" +#~ msgid "Mouse filter" +#~ msgstr "Filtrare mouse" -#~ msgid "%d/%d" -#~ msgstr "%d/%d" +#~ msgid "UI mouse speed:" +#~ msgstr "Viteza mouse in meniu:" -#~ msgid "Waypoint settings:" -#~ msgstr "Setari indicatoare:" +#~ msgid "Blur and sharpen postprocessing" +#~ msgstr "Postprocesare blurare si ascutire" -#~ msgid "Sniper Rifle" -#~ msgstr "Sniper Rifle" +#~ msgid "High Dynamic Range (HDR)" +#~ msgstr "Distanta Dinamica Inalta (HDR)" -#~ msgid "Accelerometer scale:" -#~ msgstr "Marime metru acceleratie:" +#~ msgid "Flash blend approximation" +#~ msgstr "Luminozitate dinamica rapida" -#~ msgid "Show accelerometer" -#~ msgstr "Afisaj metru acceleratie" +#~ msgid "Particle distance:" +#~ msgstr "Distanta particule:" -#~ msgid "qu/s (hidden)" -#~ msgstr "qu/s (ascuns)" +#~ msgid "Particle quality:" +#~ msgstr "Calicate particule:" -#~ msgid "Speedometer" -#~ msgstr "Vitezometru" +#~ msgid "Hit indicator" +#~ msgstr "Indicator lovituri" -#~ msgid "Damage & water blur" -#~ msgstr "Blurare ranire & apa:" +#~ msgid "WRN^None" +#~ msgstr "Nici una" -#~ msgid "Powerup sharpen" -#~ msgstr "Ascutire powerup" +#~ msgid "Time warning:" +#~ msgstr "Avertisment timp:" -#, fuzzy -#~ msgid "Panel enabled if not observing" -#~ msgstr "Activa pentru spectatori" +#~ msgid "RNG^Full" +#~ msgstr "Toate" + +#~ msgid "RNG^Long" +#~ msgstr "Lunga" + +#~ msgid "RNG^Normal" +#~ msgstr "Normala" + +#~ msgid "RNG^Short" +#~ msgstr "Scurta" + +#~ msgid "RNG^Very short" +#~ msgstr "Foarte scurta" + +#~ msgid "Taunt range:" +#~ msgstr "Distanta voci:" + +#~ msgid "VOCS^All" +#~ msgstr "Toate" + +#~ msgid "VOCS^Taunts" +#~ msgstr "Glume" + +#~ msgid "VOCS^None" +#~ msgstr "Nici una" + +#~ msgid "Spatial voices:" +#~ msgstr "Voci spatializate:" + +#~ msgid "Network" +#~ msgstr "Retea" + +#~ msgid "All players" +#~ msgstr "Toti jucatorii" + +#~ msgid "Teammates" +#~ msgstr "Coechipieri" + +#~ msgid "Show names:" +#~ msgstr "Afisaj nume:" + +#~ msgid "Waypoint alpha:" +#~ msgstr "Opacitate indicatoare:" + +#~ msgid "Waypoint scale:" +#~ msgstr "Marime indicatoare:" + +#~ msgid "Show base waypoints" +#~ msgstr "Afisaj indicatoare de baza" + +#~ msgid "Damage splash:" +#~ msgstr "Efect ranire:" + +#~ msgid "Disable gore effects" +#~ msgstr "Dezactivare efecte violente" + +#~ msgid "Waypoints setup..." +#~ msgstr "Setari indicatoare..." + +#~ msgid "Enemies" +#~ msgstr "Dusmani" + +#~ msgid "TrueAim" +#~ msgstr "TrueAim" + +#~ msgid "HTST^None" +#~ msgstr "Nici una" + +#~ msgid "Hit test:" +#~ msgstr "Detectare tinta:" + +#~ msgid "Size:" +#~ msgstr "Marime:" + +#~ msgid "Enable center dot" +#~ msgstr "Utilizare punct ochian" + +#~ msgid "Crosshair:" +#~ msgstr "Ochian:" + +#~ msgid "Weapon settings..." +#~ msgstr "Setari arme..." + +#~ msgid "Zoom speed:" +#~ msgstr "Viteza Zoom:" + +#~ msgid "Zoom factor:" +#~ msgstr "Factor Zoom:" + +#~ msgid "View bobbing:" +#~ msgstr "Miscare camera mers:" + +#~ msgid "CA:" +#~ msgstr "CA:" + +#~ msgid "Ping:" +#~ msgstr "Latenta:" + +#~ msgid "Gameplay:" +#~ msgstr "Mod:" + +#~ msgid "required (will encrypt)" +#~ msgstr "necesar (se va encripta)" + +#~ msgid "required (can't connect)" +#~ msgstr "necesar (nu se poate conecta)" + +#~ msgid "requested (won't encrypt)" +#~ msgstr "cerut (nu se va encripta)" + +#~ msgid "requested (will encrypt)" +#~ msgstr "cerut (se va encripta)" + +#~ msgid "supported (won't encrypt)" +#~ msgstr "suportat (nu se va encripta)" + +#~ msgid "supported (will encrypt)" +#~ msgstr "suportat (se va encripta)" + +#~ msgid "not supported (won't encrypt)" +#~ msgstr "nesuportat (nu se poate encripta)" + +#~ msgid "not supported (can't connect)" +#~ msgstr "nesuportat (nu se poate conecta)" + +#~ msgid "N/A (can't connect)" +#~ msgstr "N/A (nu se poate conecta)" + +#~ msgid "Official settings" +#~ msgstr "Setarile oficiale" + +#~ msgid "%d modified settings" +#~ msgstr "%d setari modificate" + +#~ msgid "%d/%d, %d free player slots" +#~ msgstr "%d/%d, %d locuri disponibile" + +#~ msgid "Record demos while playing" +#~ msgstr "Creare demonstratii in timpul jocului" + +#~ msgid "Match settings:" +#~ msgstr "Setari meci:" diff --git a/menu.dat.ru.po b/menu.dat.ru.po index 1ad8ddcc6..e6c5b6f51 100644 --- a/menu.dat.ru.po +++ b/menu.dat.ru.po @@ -2,12 +2,12 @@ # Copyright (C) 2011 Team Xonotic # This file is distributed under the same license as the Xonotic package. # Lord Canistra <lordcanistra@gmail.com>, 2011. -# +# msgid "" msgstr "" "Project-Id-Version: 0.1preview\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-02 07:51+0200\n" +"POT-Creation-Date: 2012-01-26 12:24+0100\n" "PO-Revision-Date: 2011-01-20 13:16+0300\n" "Last-Translator: Nikoli <nikoli@lavabit.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -16,33 +16,102 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: qcsrc/common/mapinfo.qc:1092 qcsrc/menu/xonotic/skinlist.c:163 +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "@!#%'n Швыряние Тубой" + +#: 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 "Deathmatch" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "Last Man Standing" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Arena" + +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "Runematch" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Race" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "Race CTS" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "Team Deathmatch" + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Capture The Flag" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Clan Arena" + +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Domination" + +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Key Hunt" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "Assault" + +#: 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 "Keepaway" + +#: qcsrc/menu/command/menu_cmd.qc:41 #, c-format msgid "error: status is %d\n" msgstr "ошибка: статус %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 "Использование: menu_cmd command..., где возможные команды:\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 " синх. - обновляет все cvar на текущей странице меню\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 ITEM - определить элемент меню как главный элемент\n" -#: qcsrc/menu/gamecommand.qc:193 +#: qcsrc/menu/command/menu_cmd.qc:179 msgid "error creating curl handle\n" msgstr "ошибка при создании curl handle\n" -#: 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 "" "Неверная команда. Попробуйте menu_cmd help, чтобы получить список доступных " @@ -71,17 +140,17 @@ msgstr "%d (%s)" msgid "custom" msgstr "особо" -#: qcsrc/menu/menu.qc:29 -#, fuzzy, c-format +#: qcsrc/menu/menu.qc:37 +#, c-format msgid "^4MQC Build information: ^1%s\n" msgstr "^4Сведения о сборке MQC: %s\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 "Уровень %d: %s" @@ -113,10 +182,14 @@ msgstr "Разработчики" #: 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 "ОК" @@ -125,7 +198,7 @@ msgstr "ОК" msgid "Welcome" msgstr "Добро пожаловать" -#: 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 " @@ -134,18 +207,34 @@ msgstr "" "Добро пожаловать в Xonotic. Для начала, пожалуйста, выберите ваш язык и " "введите ваше имя. Позже вы сможете изменить эти настройки в меню." -#: qcsrc/menu/xonotic/dialog_firstrun.c:38 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 -msgid "Text language:" -msgstr "Язык меню:" - -#: 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 "Имя:" -#: 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 "Язык меню:" + +#: 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 "Сохранить настройки:" @@ -165,7 +254,7 @@ msgstr "Показывать только текущий вид боеприпа #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:28 msgid "Align icon:" -msgstr "" +msgstr "Выровнять иконки:" #: qcsrc/menu/xonotic/dialog_hudpanel_ammo.c:29 #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:36 @@ -187,37 +276,32 @@ msgstr "Справа" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:4 msgid "Centerprint" -msgstr "" +msgstr "Главные сообщения" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:23 -#, fuzzy msgid "Message duration:" -msgstr "Насыщенность:" +msgstr "Длительность сообщения:" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:27 -#, fuzzy msgid "Fade time:" msgstr "Время исчезновения:" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:31 -#, fuzzy msgid "Flip messages order" msgstr "Обратить порядок уведомлений" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:33 -#, fuzzy msgid "Text alignment:" -msgstr "Выравнивание иконок:" +msgstr "Выравнивание текста:" #: 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 "" +msgstr "По центру" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:41 -#, fuzzy msgid "Font scale:" -msgstr "Размер отметок:" +msgstr "Размер шрифта:" #: qcsrc/menu/xonotic/dialog_hudpanel_chat.c:4 msgid "Chat Panel" @@ -329,9 +413,8 @@ msgid "Entry fadetime:" msgstr "Время исчезновения:" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:4 -#, fuzzy msgid "Physics Panel" -msgstr "Панель чата" +msgstr "Панель физики" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:22 #: qcsrc/menu/xonotic/dialog_hudpanel_pressedkeys.c:21 @@ -340,62 +423,55 @@ msgid "Panel disabled" msgstr "Отключена" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:23 -#, fuzzy msgid "Panel enabled" -msgstr "Отключена" +msgstr "Включена" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:24 -#, fuzzy msgid "Panel enabled even observing" msgstr "Включена при наблюдении" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:25 -#, fuzzy msgid "Panel enabled only in Race/CTS" msgstr "Панель включена в командных играх" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:31 -#, fuzzy msgid "Status bar" msgstr "Включить полосу состояния" #: 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 "Слева" #: 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 "Справа" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:35 -#, fuzzy msgid "Inward align" msgstr "Внутрь" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:36 -#, fuzzy msgid "Outward align" msgstr "Наружу" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:40 -#, fuzzy msgid "Flip speed/acceleration positions" msgstr "Поменять местами здоровье и броню" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_settings_misc.c:29 msgid "Speed:" msgstr "Скорость (кБ/с):" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:45 msgid "Include vertical speed" -msgstr "" +msgstr "С вертикальной скоростью" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:56 msgid "Speed unit:" -msgstr "" +msgstr "Единица скорости:" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:58 msgid "qu/s" @@ -418,23 +494,20 @@ msgid "knots" msgstr "узлы" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:64 -#, fuzzy msgid "Show" -msgstr "Показывать Боеприпасы" +msgstr "Показывать" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:67 -#, fuzzy msgid "Top speed" -msgstr "Скорость увеличения:" +msgstr "Максимум скорости:" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:73 -#, fuzzy msgid "Acceleration:" -msgstr "Отражения:" +msgstr "Ускорение:" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:74 msgid "Include vertical acceleration" -msgstr "" +msgstr "С вертикальним ускорением" #: qcsrc/menu/xonotic/dialog_hudpanel_powerups.c:4 msgid "Powerups Panel" @@ -480,8 +553,8 @@ msgstr "Радар:" #: 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 "Прозрачность:" @@ -510,6 +583,7 @@ msgid "North" msgstr "Север" #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61 msgid "Scale:" msgstr "Размер:" @@ -539,24 +613,23 @@ msgstr "Таблица Очков" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:22 msgid "Score:" -msgstr "" +msgstr "Очки:" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:25 msgid "Rankings:" -msgstr "" +msgstr "Рейтинг:" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:26 -#, fuzzy msgid "Off" msgstr "Отключено" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:27 msgid "And me" -msgstr "" +msgstr "И мне" #: qcsrc/menu/xonotic/dialog_hudpanel_score.c:28 msgid "Pure" -msgstr "" +msgstr "Чистый" #: qcsrc/menu/xonotic/dialog_hudpanel_timer.c:4 msgid "Timer Panel" @@ -587,7 +660,6 @@ msgid "Fade out after:" msgstr "Исчезать после:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36 msgid "Never" msgstr "Никогда" @@ -613,43 +685,46 @@ msgid "Alpha" msgstr "Исчезновение" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:38 -#, fuzzy msgid "EF^Both" -msgstr "1 и 5 минут" +msgstr "Оба" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:42 msgid "Weapon icons:" msgstr "Иконки оружия:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:45 +msgid "Show only owned weapons" +msgstr "Показывать только свое оружие" + +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 msgid "Show weapon ID as:" msgstr "Показывать ID оружия как:" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:46 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:49 msgid "SHOWAS^None" msgstr "Не показывать" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:47 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:50 msgid "Number" msgstr "Число" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:48 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 msgid "Bind" msgstr "Привязка" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:51 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:54 msgid "Show Accuracy" msgstr "Показывать Точность" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:52 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 msgid "Show Ammo" msgstr "Показывать Боеприпасы" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:55 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:58 msgid "Ammo bar color:" msgstr "Цвет полосы боеприпасов" -#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:61 +#: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:64 msgid "Ammo bar alpha:" msgstr "Прозрачность полосы боеприпасов:" @@ -661,24 +736,24 @@ msgstr "Настройка панелей" msgid "Panel background defaults:" msgstr "Фон по умолчанию:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 qcsrc/menu/xonotic/util.qc:575 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 qcsrc/menu/xonotic/util.qc:630 msgid "Background:" msgstr "Фон:" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:25 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:37 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:52 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:578 -#: qcsrc/menu/xonotic/util.qc:594 qcsrc/menu/xonotic/util.qc:611 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:633 +#: qcsrc/menu/xonotic/util.qc:649 qcsrc/menu/xonotic/util.qc:666 msgid "Disable" msgstr "Отключить" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:583 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:638 msgid "Color:" msgstr "Цвет:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:591 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:646 msgid "Border size:" msgstr "Ширина краёв:" @@ -687,11 +762,11 @@ msgstr "Ширина краёв:" msgid "Team color:" msgstr "Цвет команды:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:617 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:672 msgid "Test team color in configure mode" msgstr "Проверить цвет команды в режиме настройки" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:620 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:675 msgid "Padding:" msgstr "Промежуток:" @@ -765,127 +840,123 @@ msgstr "Настройки игрока" msgid "Game type:" msgstr "Вид игры:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46 -msgid "Match settings:" -msgstr "Настройки состязания:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48 msgid "Time limit:" msgstr "Предел времени:" -#: 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 "Исп. предел карты" -#: 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 "Предел очков:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63 msgid "Player slots:" msgstr "Кол-во игроков:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66 msgid "Number of bots:" msgstr "Кол-во ботов:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69 msgid "Bot skill:" msgstr "Уровень ботов:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72 msgid "Botlike" msgstr "Ботоподобный" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73 msgid "Beginner" msgstr "Новичок" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 msgid "You will win" msgstr "Легко победить" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 msgid "You can win" msgstr "Можно победить" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 msgid "You might win" msgstr "Возможно победить" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 msgid "Advanced" msgstr "Продвинутый" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 msgid "Expert" msgstr "Опытный" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 msgid "Pro" msgstr "Профессионал" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 msgid "Assassin" msgstr "Убийца" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 msgid "Unhuman" msgstr "Сверхчеловек" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 msgid "Godlike" msgstr "Богоподобный" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:88 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87 msgid "Mutators..." msgstr "Мутаторы..." -#: 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 "Доп. настройки..." -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103 msgid "Map list:" msgstr "Список карт:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109 msgid "Select all" msgstr "Выбрать все" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112 msgid "Select none" msgstr "Снять выделение" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118 msgid "Start Multiplayer!" msgstr "Начать игру по сети" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153 msgid "Capture limit:" msgstr "Предел захватов:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157 msgid "Lives:" msgstr "Жизни:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 msgid "Laps:" msgstr "Круги:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 msgid "Goals:" msgstr "Цели:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163 msgid "Frag limit:" msgstr "Предел убийств:" @@ -989,29 +1060,28 @@ msgstr "С оружием" msgid "MinstaGib only" msgstr "Только MinstaGib" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81 msgid "Title:" msgstr "Заголовок:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87 msgid "Author:" msgstr "Автор:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93 msgid "Features:" msgstr "Особенности:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98 msgid "Game types:" msgstr "Режимы игры:" -#: 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 "Закрыть" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124 msgid "MAP^Play" msgstr "Играть" @@ -1033,110 +1103,123 @@ msgid "%s Arena" msgstr "%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 "Уклонение" #: 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 "Ракетный полёт" -#: 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 "Начинать без оружия" -#: 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 "Низкая гравитация" # В игре это включает не невидимость, а полупрозрачность, хотя так переводить вполне уместно. -#: 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 "Невидимость" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86 msgid "Hook" msgstr "Крюк" -#: 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 "Воздушный бой" -#: 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 "Вампиризм" -#: 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 "Оружия остаются" -#: 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 "Кровотечение" -#: 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 "Реактивный ранец" -#: 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 +msgid "Powerups" +msgstr "Бонусы" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104 msgid "MUT^None" msgstr "Отсутствуют" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170 msgid "Gameplay mutators:" msgstr "Мутаторы игрового процесса:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201 msgid "Weapon & item mutators:" msgstr "Мутаторы оружия и предметов:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204 msgid "Grappling hook" msgstr "Крюк" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223 msgid "Weapon arenas:" msgstr "Арены оружия" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226 msgid "Regular (no arena)" msgstr "Обычная (не арена)" -#: 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 "с лазером" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255 msgid "Special arenas:" msgstr "Особые арены:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268 msgid "Most weapons" msgstr "Большинство оружия" @@ -1145,27 +1228,26 @@ msgid "Demo" msgstr "Демо" #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 -msgid "Record demos while playing" +msgid "Automatically record demos while playing" msgstr "Записывать демо во время игры" -#: 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 "Фильтр:" -#: 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 "Очистить" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45 msgid "Timedemo" msgstr "Проверка производительности" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48 msgid "DEMO^Play" msgstr "Играть" @@ -1186,6 +1268,7 @@ msgid "Pause" msgstr "Пауза" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 msgid "Address:" msgstr "Адрес:" @@ -1194,7 +1277,7 @@ msgid "Info..." msgstr "Сведения..." #: 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 "Присоединиться" @@ -1202,290 +1285,468 @@ msgstr "Присоединиться" msgid "Server Information" msgstr "Сведения о сервере" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:115 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:116 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:183 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:189 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:199 +#: 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_multiplayer_join_serverinfo.c:158 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:179 #, c-format -msgid "%d/%d, %d free player slots" -msgstr "" +msgid "%d/%d" +msgstr "%d/%d" + +#: 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 "По умолчанию" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 #, c-format -msgid "%d modified settings" +msgid "%d modified" msgstr "кол-во изменённых настроек: %d" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 -msgid "Official settings" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 +msgid "Official" msgstr "Официальные настройки" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197 -msgid "N/A (can't connect)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208 +msgid "N/A (auth library missing, can't connect)" msgstr "Н/Д (не могу подключиться)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205 -msgid "not supported (can't connect)" -msgstr "не поддерживается (не могу подключиться)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:210 +msgid "N/A (auth library missing)" +msgstr "Библиотека не установлена" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207 -msgid "not supported (won't encrypt)" -msgstr "не поддерживается (шифрования не будет)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216 +msgid "Not supported (can't connect)" +msgstr "Не поддерживается (не могу подключиться)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211 -msgid "supported (will encrypt)" -msgstr "поддерживается (будет шифрование)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218 +msgid "Not supported (won't encrypt)" +msgstr "Не поддерживается (шифрования не будет)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213 -msgid "supported (won't encrypt)" -msgstr "поддерживается (шифрования не будет)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222 +msgid "Supported (will encrypt)" +msgstr "Поддерживается (будет шифрование)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217 -msgid "requested (will encrypt)" -msgstr "запрошено (будет шифрование)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224 +msgid "Supported (won't encrypt)" +msgstr "Поддерживается (шифрования не будет)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219 -msgid "requested (won't encrypt)" -msgstr "запрошено (шифрования не будет)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228 +msgid "Requested (will encrypt)" +msgstr "Запрошено (будет шифрование)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223 -msgid "required (can't connect)" -msgstr "требуется (не могу подключиться)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230 +msgid "Requested (won't encrypt)" +msgstr "Запрошено (шифрования не будет)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225 -msgid "required (will encrypt)" -msgstr "требуется (будет шифрование)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234 +msgid "Required (can't connect)" +msgstr "Требуется (не могу подключиться)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269 -msgid "Players:" -msgstr "Игроки:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236 +msgid "Required (will encrypt)" +msgstr "Требуется (будет шифрование)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254 -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38 -msgid "Type:" -msgstr "Вид:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:256 +msgid "Hostname:" +msgstr "Имя сервера" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270 +msgid "Gametype:" +msgstr "Вид игры:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275 msgid "Map:" msgstr "Карта:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264 -msgid "Gameplay:" -msgstr "Геймплей:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274 -msgid "Bots:" -msgstr "Боты:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280 msgid "Mod:" msgstr "Мод:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285 msgid "Version:" msgstr "Версия:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289 -msgid "Ping:" -msgstr "Пинг:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290 +msgid "Settings:" +msgstr "Настройки" -#: 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 "Игроки:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301 -msgid "Key:" -msgstr "Ключ:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302 +msgid "Bots:" +msgstr "Боты:" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307 +msgid "Free slots:" +msgstr "Свободные места:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313 msgid "Encryption:" msgstr "Шифрование:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318 +msgid "ID:" +msgstr "ID:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323 +msgid "Key:" +msgstr "Ключ:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60 +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19 msgid "Model:" msgstr "Модель:" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 -msgid "Field of view:" -msgstr "Угол обзора:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92 -msgid "View bobbing:" -msgstr "Качание вида:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96 -msgid "Zoom factor:" -msgstr "Множитель увеличения:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100 -msgid "Zoom speed:" -msgstr "Скорость увеличения:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:103 -msgid "Weapon settings..." -msgstr "Настройки оружия..." +msgid "No crosshair" +msgstr "Нет прицела" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110 -msgid "Crosshair:" -msgstr "Прицел:" - -#: 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 +msgid "Per weapon crosshair" msgstr "Зависит от оружия" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93 +msgid "Custom crosshair" +msgstr "Выбрать прицел:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112 msgid "Crosshair size:" msgstr "Величина прицела:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:134 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117 msgid "Crosshair alpha:" msgstr "Прозрачность:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:138 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123 msgid "Crosshair color:" msgstr "Цвет прицела:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125 +msgid "Per weapon" +msgstr "Зависит от оружия" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127 msgid "By health" -msgstr "" +msgstr "По здоровью" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:143 -#, fuzzy +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:131 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:47 msgid "Custom" msgstr "особо" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148 -msgid "Enable center dot" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 +msgid "Other crosshair settings" +msgstr "Настройки состязания:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6 +msgid "Model settings" +msgstr "Настройки модели" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6 +msgid "View settings" +msgstr "Посмотреть настройки:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 +msgid "Weapon settings" +msgstr "Настройки оружия" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6 +msgid "HUD settings" +msgstr "Настройки HUD" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 +#: 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 "Применить" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6 +msgid "Crosshair settings" +msgstr "Настройки прицела" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28 +msgid "Enable center crosshair dot" msgstr "Точка в центре" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151 -msgid "Size:" -msgstr "Размер:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31 +msgid "Dot size:" +msgstr "Размер точки:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36 +msgid "Dot alpha:" +msgstr "Прозрачность точки:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41 +msgid "Dot color:" +msgstr "Цвет точки:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43 +msgid "Use normal crosshair color" +msgstr "Нормальный цвет прицела" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54 +msgid "Crosshair animations:" +msgstr "Анимация прицела:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57 +msgid "Smooth effects of crosshairs" +msgstr "Эффекты анимации для прицела" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61 +msgid "Use rings to indicate weapon status" +msgstr "Состояния оружия показывать кольцом" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158 -msgid "Hit test:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67 +msgid "Hit testing:" msgstr "Проверка на попадание:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 -msgid "HTST^None" -msgstr "Отключена" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69 +msgid "HTTST^Disabled" +msgstr "Отключено" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160 -msgid "TrueAim" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70 +msgid "HTTST^TrueAim" msgstr "TrueAim" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161 -msgid "Enemies" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71 +msgid "HTTST^Enemies" msgstr "Враги" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164 -msgid "Waypoints setup..." -msgstr "Настройка отметок..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76 +msgid "Blur crosshair if the shot is obstructed" +msgstr "Расплывчатий прицел при препятствиях выстрелу " -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81 +msgid "Animate when hitting an enemy" +msgstr "Анимировать, если прицел на враге" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85 +msgid "Animate when picking up an item" +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: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 "Войти в редактор HUD" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174 -msgid "Force models:" -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 "HUD редактор работает только в запущенной игре" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 -msgid "MDL^None" -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 "Начать местную игру, чтобы редактировать HUD?" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176 -msgid "MDL^Custom" -msgstr "Вместо нестандартных" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33 +msgid "HDCNFRM^Yes" +msgstr "Да" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177 -msgid "MDL^All" -msgstr "Вместо всех" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36 +msgid "HDCNFRM^No" +msgstr "Нет" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180 -msgid "Disable gore effects" -msgstr "Отключить эффекты жестокости" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28 +msgid "Body fading:" +msgstr "Затемнять убитых:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31 msgid "Gibs:" msgstr "Ошмётки:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33 msgid "GIBS^None" msgstr "Нет" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34 msgid "GIBS^Few" msgstr "Мало" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35 msgid "GIBS^Many" msgstr "Много" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36 msgid "GIBS^Lots" msgstr "Тонны" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:191 -msgid "Damage splash:" -msgstr "Изображ. урона" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40 +msgid "Playermodel LOD:" +msgstr "Игровая модель LOD:" -#: 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 "Применить" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44 +msgid "Force models:" +msgstr "Использовать свои модели:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5 -msgid "Waypoints" -msgstr "Отметки" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45 +msgid "MDL^None" +msgstr "Нет" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23 -msgid "Show base waypoints" -msgstr "Показывать основные отметки" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46 +msgid "MDL^Custom" +msgstr "Вместо нестандартных" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25 -msgid "Waypoint scale:" -msgstr "Размер отметок:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47 +msgid "MDL^All" +msgstr "Вместо всех" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29 -msgid "Waypoint alpha:" -msgstr "Прозрачность отметок:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50 +msgid "Force player models to mine" +msgstr "Всех игроков как мою модель показывать" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34 -msgid "Show names:" -msgstr "Показывать имена:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52 +msgid "Force player colors to mine" +msgstr "Всех игроков показывать в моем цвете" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37 -msgid "Teammates" -msgstr "Союзники" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28 +msgid "Field of view:" +msgstr "Угол обзора:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38 -msgid "All players" -msgstr "Все игроки" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31 +msgid "Zoom:" +msgstr "Распахнуть" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 -msgid "Weapon settings" -msgstr "Настройки оружия" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33 +msgid "RETICLE^Fullscreen" +msgstr "На весь экран" + +#: 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 +msgid "ZOOM^Speed:" +msgstr "Скорость (кБ/с):" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52 +msgid "ZOOM^Instant" +msgstr "Мгновенный" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56 +msgid "ZOOM^Sensitivity:" +msgstr "Чувствительность:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59 +msgid "Velocity zoom:" +msgstr "С возрастанием скорости:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61 +msgid "VZOOM^Disabled" +msgstr "Отключено" + +#: 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 +msgid "Back distance" +msgstr "Глубина" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106 +msgid "Up distance" +msgstr "Высота:" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 msgid "Weapon priority list:" msgstr "Список приоритета оружия:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33 msgid "Up" msgstr "Вверх" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36 msgid "Down" msgstr "Вниз" @@ -1497,13 +1758,21 @@ msgstr "Использовать приоритеты для прокрутки msgid "Auto switch weapons on pickup" msgstr "Автоматически переключаться на поднятое оружие" -#: 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 "Показывать модель оружия в руках" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55 -msgid "Flip view horizontally" -msgstr "Перевернуть изображение по горизонтали" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58 +msgid "Gun model swaying" +msgstr "Инерция оружия" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63 +msgid "Gun model bobbing" +msgstr "<Поменять модель оружия>" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68 +msgid "VWMDL^Scale" +msgstr "Размер" #: qcsrc/menu/xonotic/dialog_news.c:4 msgid "News" @@ -1517,18 +1786,146 @@ msgstr "http://www.xonotic.org/team/blog/" msgid "Quit" msgstr "Выход" -#: qcsrc/menu/xonotic/dialog_quit.c:17 +#: qcsrc/menu/xonotic/dialog_quit.c:18 msgid "Are you sure you want to quit?" msgstr "Вы точно желаете выйти?" -#: qcsrc/menu/xonotic/dialog_quit.c:20 +#: qcsrc/menu/xonotic/dialog_quit.c:21 msgid "Yes" msgstr "Да" -#: qcsrc/menu/xonotic/dialog_quit.c:21 +#: qcsrc/menu/xonotic/dialog_quit.c:22 msgid "No" msgstr "Нет" +#: 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 +msgid "Remove *" +msgstr "Убрать" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27 +msgid "Copy *" +msgstr "Копировать" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28 +msgid "Paste" +msgstr "Вставить" + +#: 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 +msgid "Set skin:" +msgstr "Оформления:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45 +msgid "Set alpha:" +msgstr "Установить прозрачность:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48 +msgid "Set color main:" +msgstr "Установить главный цвет:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50 +msgid "Set color glow:" +msgstr "Цвет люминафора:" + +#: 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 +msgid "Set solidity:" +msgstr "Установить прочность:" + +#: 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 +msgid "Physical" +msgstr "Физика" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74 +msgid "Set scale:" +msgstr "Установить размер:" + +#: 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 +msgid "Show help" +msgstr "Показывать помощь" + +#: 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 "Настройки" @@ -1554,9 +1951,9 @@ msgid "Audio" msgstr "Звук" #: qcsrc/menu/xonotic/dialog_settings.c:22 -#: qcsrc/menu/xonotic/dialog_settings_network.c:4 -msgid "Network" -msgstr "Сеть" +#: qcsrc/menu/xonotic/dialog_settings_user.c:4 +msgid "User" +msgstr "Пользователь" #: qcsrc/menu/xonotic/dialog_settings.c:23 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4 @@ -1567,194 +1964,170 @@ msgstr "Разное" msgid "Master:" msgstr "Главный:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:33 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:35 msgid "Music:" msgstr "Музыка:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:41 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:45 msgid "VOL^Ambient:" msgstr "Фоновые звуки:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:48 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:54 msgid "Info:" msgstr "Инфо:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:55 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:63 msgid "Items:" msgstr "Предметы:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:62 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:72 msgid "Pain:" msgstr "Боль:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:69 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:81 msgid "Player:" msgstr "Игрок:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:76 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:90 msgid "Shots:" msgstr "Выстрелы:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:83 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:99 msgid "Voice:" msgstr "Голос:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:91 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:109 msgid "Weapons:" msgstr "Оружие:" -#: 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 "Частота:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:100 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:124 msgid "8 kHz" msgstr "8 кГц" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:101 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:125 msgid "11.025 kHz" msgstr "11.025 кГц" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:102 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:126 msgid "16 kHz" msgstr "16 кГц" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:103 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 msgid "22.05 kHz" msgstr "22.05 кГц" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:104 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:128 msgid "24 kHz" msgstr "24 кГц" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:105 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:129 msgid "32 kHz" msgstr "32 кГц" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:106 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:130 msgid "44.1 kHz" msgstr "44.1 кГц" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:107 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 msgid "48 kHz" msgstr "48 кГц" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:110 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 msgid "Channels:" msgstr "Каналы:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:112 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:136 msgid "Mono" msgstr "Моно" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:113 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 msgid "Stereo" msgstr "Стерео" -#: 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 "Обмен местами каналов" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:148 msgid "Headphone friendly mode" msgstr "Ориентированный на наушники режим" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 -msgid "Spatial voices:" -msgstr "Объёмные голоса:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:132 -msgid "VOCS^None" -msgstr "Отключены" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:133 -msgid "VOCS^Taunts" -msgstr "Насмешки" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 -msgid "VOCS^All" -msgstr "Все" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 -msgid "Taunt range:" -msgstr "Радиус насмешек:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:140 -msgid "RNG^Very short" -msgstr "Очень маленький" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:141 -msgid "RNG^Short" -msgstr "Маленький" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:142 -msgid "RNG^Normal" -msgstr "Обычный" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:143 -msgid "RNG^Long" -msgstr "Большой" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 +msgid "Hit indication sound" +msgstr "Оповещать о попадании" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:144 -msgid "RNG^Full" -msgstr "Полный" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:172 +msgid "Chat message sound" +msgstr "Звук чата:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:151 -msgid "Automatic taunts" -msgstr "Автоматические насмешки" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:174 +msgid "Menu sounds" +msgstr "Звуки меню" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:160 -msgid "Time warning:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:177 +msgid "Time announcer:" msgstr "Предупреждение о таймауте за:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:162 -msgid "WRN^None" -msgstr "Нет" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:179 +msgid "WRN^Disabled" +msgstr "Отключено" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:163 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:180 msgid "1 minute" msgstr "1 минуту" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:164 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:181 msgid "5 minutes" msgstr "5 минут" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:165 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:182 msgid "WRN^Both" msgstr "1 и 5 минут" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:168 -msgid "Hit indicator" -msgstr "Оповещать о попадании" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:189 +msgid "Automatic taunts" +msgstr "Автоматические насмешки" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 -msgid "Menu sounds" -msgstr "Звуки меню" +#: 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:" @@ -1817,231 +2190,227 @@ msgid "DET^Insane" msgstr "Высочайшая" #: qcsrc/menu/xonotic/dialog_settings_effects.c:62 -msgid "Antialiasing:" -msgstr "Сглаживание:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:64 -msgid "AA^Disabled" -msgstr "Отключено" - -#: 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 "Разрешение текстур:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:73 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 msgid "RES^Leet" msgstr "Ужасное" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:74 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 msgid "RES^Lowest" msgstr "Нижайшее" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:75 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:67 +msgid "RES^Very low" +msgstr "Низкое" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:68 msgid "RES^Low" msgstr "Низкое" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:76 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:69 msgid "RES^Normal" msgstr "Обычное" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:77 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 msgid "RES^Good" msgstr "Хорошее" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:78 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:71 msgid "RES^Best" msgstr "Лучшее" -#: 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 "Избегать сжатия текстур с потерями" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 -msgid "Anisotropy:" -msgstr "Анизотропия:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:102 -msgid "ANISO^Disabled" -msgstr "Отключена" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:93 +msgid "Use lightmaps" +msgstr "Использовать карты освещения" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:105 -msgid "8x" -msgstr "8x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:94 +msgid "Deluxe mapping" +msgstr "Особое качество" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 -msgid "16x" -msgstr "16x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:96 +msgid "Gloss" +msgstr "Блеск" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 -msgid "Particle quality:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 +msgid "Particles quality:" msgstr "Качество частиц:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:113 -msgid "Particle distance:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:103 +msgid "Particles distance:" msgstr "Дальность частиц:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:117 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 +msgid "Damage effects:" +msgstr "Эффект повреждения:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:108 +msgid "DMGPRTCLS^Disabled" +msgstr "Отключено" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:109 +msgid "DMGPRTCLS^Skeletal" +msgstr "Только на модели" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 +msgid "DMGPRTCLS^All" +msgstr "Все" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:114 msgid "Decals" msgstr "Декали:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:118 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:115 msgid "Decals on models" -msgstr "" +msgstr "Также на объектах" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:122 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:119 msgid "Distance:" msgstr "Дальность:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:128 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:125 msgid "Time:" msgstr "Время:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 -msgid "Use lightmaps" -msgstr "Использовать карты освещения" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:135 -msgid "Deluxe mapping" -msgstr "Особое качество" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:137 -msgid "Gloss" -msgstr "Блеск" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:140 -msgid "Offset mapping" -msgstr "Офсетное текстурирование" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 -msgid "Relief mapping" -msgstr "Рельефное текстурирование" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:145 -msgid "Reflections:" -msgstr "Отражения:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:148 -msgid "Blurred" -msgstr "Размытые" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 -msgid "REFL^Good" -msgstr "Хорошие" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:150 -msgid "Sharp" -msgstr "Резкие" +# Перевод может быть неверным. +#: qcsrc/menu/xonotic/dialog_settings_effects.c:131 +msgid "Coronas" +msgstr "Короны" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 -msgid "Show surfaces" -msgstr "Показывать поверхности" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:132 +msgid "Use Occlusion Queries" +msgstr "Использовать Occlusion Queries (Проверка видимости)" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 msgid "No dynamic lighting" msgstr "Без динамического освещения" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 -msgid "Flash blend approximation" -msgstr "Грубая имитация" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:136 +msgid "Fake corona lighting" +msgstr "Освещение короны" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:161 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:138 msgid "Realtime dynamic lighting" msgstr "Дин. освещение в реальном времени" -#: 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 "Тени" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:165 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 msgid "Realtime world lighting" msgstr "Дин. освещение мира в реальном времени" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:170 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:147 msgid "Use normal maps" msgstr "Использовать карты нормалей" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:172 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 msgid "Soft shadows" msgstr "Мягкие тени" -# Перевод может быть неверным. -#: qcsrc/menu/xonotic/dialog_settings_effects.c:175 -msgid "Coronas" -msgstr "Короны" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:153 +msgid "Show surfaces" +msgstr "Показывать поверхности" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:176 -msgid "Use Occlusion Queries" -msgstr "Использовать Occlusion Queries (Проверка видимости)" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 +msgid "Offset mapping" +msgstr "Офсетное текстурирование" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +msgid "Relief mapping" +msgstr "Рельефное текстурирование" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 +msgid "LOD" +msgstr "LOD - степень детализации " -#: qcsrc/menu/xonotic/dialog_settings_effects.c:178 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 msgid "Bloom" msgstr "Свечение" -#: 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 "Отражения:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:167 +msgid "Blurred" +msgstr "Размытые" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:168 +msgid "REFL^Good" +msgstr "Хорошие" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:184 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:169 +msgid "Sharp" +msgstr "Резкие" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:174 msgid "Motion blur:" msgstr "Размытие от движения:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:189 -msgid "Blur and sharpen postprocessing" -msgstr "" +#: 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 "Привязки клавиш:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:31 +#: qcsrc/menu/xonotic/dialog_settings_input.c:30 msgid "Change key..." msgstr "Сменить кнопку..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:35 +#: qcsrc/menu/xonotic/dialog_settings_input.c:34 msgid "Edit..." msgstr "Изменить..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:46 -msgid "Sensitivity:" -msgstr "Чувствительность:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:45 +msgid "Pressing \"enter console\" key also closes it" +msgstr "\"открыть консоль\" также закрывает" -#: qcsrc/menu/xonotic/dialog_settings_input.c:51 -msgid "UI mouse speed:" -msgstr "Скорость мыши в UI:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:47 +msgid "Automatically repeat jumping if holding jump" +msgstr "Повторять прыжок автоматически при удержании" -#: qcsrc/menu/xonotic/dialog_settings_input.c:55 -msgid "Mouse filter" -msgstr "Фильтр мыши" - -#: qcsrc/menu/xonotic/dialog_settings_input.c:57 -msgid "Invert mouse" -msgstr "Обратить мышь" - -#: qcsrc/menu/xonotic/dialog_settings_input.c:60 -#: qcsrc/menu/xonotic/dialog_settings_input.c:62 +#: 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_input.c:65 -#: qcsrc/menu/xonotic/dialog_settings_input.c:67 -msgid "Turn off OS mouse acceleration" -msgstr "Отключить ускорение OS мыши" +#: qcsrc/menu/xonotic/dialog_settings_input.c:61 +msgid "Mouse:" +msgstr "Мышь:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:69 -msgid "\"enter console\" also closes" -msgstr "\"открыть консоль\" также закрывает" +#: qcsrc/menu/xonotic/dialog_settings_input.c:64 +msgid "Sensitivity:" +msgstr "Чувствительность:" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:68 +msgid "Smooth aiming" +msgstr "Плавное прицеливание" + +#: qcsrc/menu/xonotic/dialog_settings_input.c:71 +msgid "Invert aiming" +msgstr "Обратить мышь" + +#: 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_input.c:85 +msgid "Enable built in mouse acceleration" +msgstr "Включить ускорение мыши" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5 msgid "User defined key bind" @@ -2064,96 +2433,261 @@ msgid "Cancel" msgstr "Отмена" #: qcsrc/menu/xonotic/dialog_settings_misc.c:26 -msgid "Menu skins:" -msgstr "Оформления:" +msgid "Network:" +msgstr "Сеть" + +#: 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" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:34 +msgid "Fast ADSL" +msgstr "Быстрый ADSL" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 +msgid "Broadband" +msgstr "Широкополосное" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:39 +msgid "Input packets/s:" +msgstr "Кол-во пакетов/с" + +#: 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 "UDP порт клиента:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:55 +msgid "Show netgraph" +msgstr "Показывать netgraph" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:59 +msgid "Client-side movement prediction" +msgstr "Предсказание движения на стороне клиента" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +msgid "Movement error compensation" +msgstr "Компенсация ошибки движения" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:66 +msgid "Downloads:" +msgstr "Загрузки:" + +#: 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 "Скорость (кБ/с):" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:78 +msgid "Framerate:" +msgstr "Частота кадров:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:83 +msgid "MAXFPS^5 fps" +msgstr "5 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:84 +msgid "MAXFPS^10 fps" +msgstr "10 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:85 +msgid "MAXFPS^20 fps" +msgstr "20 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:86 +msgid "MAXFPS^30 fps" +msgstr "30 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:87 +msgid "MAXFPS^40 fps" +msgstr "40 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:88 +msgid "MAXFPS^50 fps" +msgstr "50 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:89 +msgid "MAXFPS^60 fps" +msgstr "60 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:90 +msgid "MAXFPS^70 fps" +msgstr "70 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:91 +msgid "MAXFPS^100 fps" +msgstr "100 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:92 +msgid "MAXFPS^125 fps" +msgstr "125 кадров в секунду" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:47 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:93 +msgid "MAXFPS^200 fps" +msgstr "200 кадров в секунду" + +#: 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 +msgid "TRGT^Disabled" +msgstr "Отключено" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:101 +msgid "TRGT^30 fps" +msgstr "30 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:102 +msgid "TRGT^40 fps" +msgstr "40 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:103 +msgid "TRGT^50 fps" +msgstr "50 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:104 +msgid "TRGT^60 fps" +msgstr "60 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:105 +msgid "TRGT^100 fps" +msgstr "100 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:106 +msgid "TRGT^125 fps" +msgstr "125 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:107 +msgid "TRGT^200 fps" +msgstr "200 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:111 +msgid "Idle limit:" +msgstr "Предел неактивности:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:113 +msgid "IDLFPS^10 fps" +msgstr "10 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:114 +msgid "IDLFPS^20 fps" +msgstr "20 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:115 +msgid "IDLFPS^30 fps" +msgstr "30 кадров в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:116 +msgid "IDLFPS^60 fps" +msgstr "60 кадров в секунду" + +#: 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 "Показывать кадры/с (FPS)" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:125 +msgid "Save processing time for other apps" +msgstr "Беречь время процессора для других приложений" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:129 +msgid "Menu tooltips:" +msgstr "Меню для инструментов:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:131 +msgid "TLTIP^Disabled" +msgstr "Отключено" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:132 +msgid "TLTIP^Standard" +msgstr "Стандарт" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:133 +msgid "TLTIP^Advanced" +msgstr "Продвинутый" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:137 msgid "Show current time" msgstr "Показывать время" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:49 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:139 msgid "Show current date" msgstr "Показывать дату" -#: qcsrc/menu/xonotic/dialog_settings_misc.c:51 -msgid "Show frames per second" -msgstr "Показывать кадры/с (FPS)" - -#: qcsrc/menu/xonotic/dialog_settings_misc.c:53 -msgid "Minimize input latency" -msgstr "Уменьшить задержку ввода" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:141 +msgid "Enable developer mode" +msgstr "Включить режим разработчика" #: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 msgid "Advanced settings" msgstr "Доп. настройки" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31 msgid "Cvar filter:" msgstr "Фильтр Cvar:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44 msgid "Setting:" msgstr "Настройка:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42 +#: 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:56 +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:68 msgid "Description:" msgstr "Описание:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:26 -msgid "Client-side movement prediction" -msgstr "Предсказание движения на стороне клиента" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:30 -msgid "Show netgraph" -msgstr "Показывать netgraph" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:33 -msgid "Network speed:" -msgstr "Скорость соединения:" - -#: 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" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:38 -msgid "Fast ADSL" -msgstr "Быстрый ADSL" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:39 -msgid "Broadband" -msgstr "Широкополосное" +#: qcsrc/menu/xonotic/dialog_settings_user.c:27 +msgid "Menu skins:" +msgstr "Оформления:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:42 -msgid "Input packets/s:" -msgstr "Кол-во пакетов/с" +#: qcsrc/menu/xonotic/dialog_settings_user.c:31 +msgid "Set skin" +msgstr "Оформления:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:46 -msgid "HTTP downloads:" -msgstr "HTTP загрузки:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:74 +msgid "Set language" +msgstr "Язык" -#: qcsrc/menu/xonotic/dialog_settings_network.c:49 -msgid "Downloads:" -msgstr "Загрузки:" +#: qcsrc/menu/xonotic/dialog_settings_user.c:79 +msgid "Disable gore effects and harsh language" +msgstr "Отключить эффекты жестокости" -#: qcsrc/menu/xonotic/dialog_settings_network.c:53 -msgid "Speed (kB/s):" -msgstr "Скорость (кБ/с):" +#: 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 "UDP порт клиента:" +#: 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:" @@ -2203,103 +2737,173 @@ msgstr "Колоссальный" msgid "Color depth:" msgstr "Глубина цвета:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:44 +msgid "16bit" +msgstr "16 бит" + #: qcsrc/menu/xonotic/dialog_settings_video.c:45 +msgid "32bit" +msgstr "32 бита" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:48 msgid "Full screen" msgstr "На весь экран" -#: qcsrc/menu/xonotic/dialog_settings_video.c:46 +#: qcsrc/menu/xonotic/dialog_settings_video.c:49 msgid "Vertical Synchronization" msgstr "Вертикальная синхронизация" -#: qcsrc/menu/xonotic/dialog_settings_video.c:49 -msgid "Use OpenGL 2.0 shaders (GLSL)" -msgstr "Использовать шейдеры OpenGL 2.0 (GLSL)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:53 +msgid "Anisotropy:" +msgstr "Анизотропия:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:52 -msgid "Use GLSL to handle color control" -msgstr "Использовать GLSL для управления цветом" +#: qcsrc/menu/xonotic/dialog_settings_video.c:55 +msgid "ANISO^Disabled" +msgstr "Отключена" #: qcsrc/menu/xonotic/dialog_settings_video.c:56 -msgid "Vertex Buffer Objects (VBOs)" -msgstr "Использование Vertex Buffer Objects (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 "Отключено" +msgid "16x" +msgstr "16x" -#: qcsrc/menu/xonotic/dialog_settings_video.c:60 -msgid "Vertices, some Tris (compatible)" -msgstr "Вершины, некоторые треугольники (совместимо)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:62 +msgid "Antialiasing:" +msgstr "Сглаживание:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:63 -msgid "Vertices" -msgstr "Вершины" +#: qcsrc/menu/xonotic/dialog_settings_video.c:65 +msgid "AA^Disabled" +msgstr "Отключено" -#: qcsrc/menu/xonotic/dialog_settings_video.c:64 -msgid "Vertices and Triangles" -msgstr "Вершины и треугольники" +#: 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 "Сперва глубина:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:69 +#: qcsrc/menu/xonotic/dialog_settings_video.c:78 msgid "DF^Disabled" msgstr "Отключено" -#: qcsrc/menu/xonotic/dialog_settings_video.c:70 +#: qcsrc/menu/xonotic/dialog_settings_video.c:79 msgid "DF^World" msgstr "Мир" -#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +#: qcsrc/menu/xonotic/dialog_settings_video.c:80 msgid "DF^All" msgstr "Всё" -#: qcsrc/menu/xonotic/dialog_settings_video.c:75 -msgid "Disable multithreaded OpenGL" -msgstr "Отключить многопоточный OpenGL" +#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +msgid "Vertex Buffer Objects (VBOs)" +msgstr "Использование Vertex Buffer Objects (VBOs)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:77 -msgid "Wait for GPU to finish each frame" -msgstr "Ждать завершения каждого кадра GPU" +#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +msgid "VBO^Off" +msgstr "Отключено" -#: qcsrc/menu/xonotic/dialog_settings_video.c:80 +#: qcsrc/menu/xonotic/dialog_settings_video.c:87 +msgid "Vertices, some Tris (compatible)" +msgstr "Вершины, некоторые треугольники (совместимо)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:90 +msgid "Vertices" +msgstr "Вершины" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +msgid "Vertices and Triangles" +msgstr "Вершины и треугольники" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:94 msgid "Brightness:" msgstr "Яркость:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +#: qcsrc/menu/xonotic/dialog_settings_video.c:97 msgid "Contrast:" msgstr "Контраст:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +#: qcsrc/menu/xonotic/dialog_settings_video.c:100 msgid "Gamma:" msgstr "Гамма:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +#: qcsrc/menu/xonotic/dialog_settings_video.c:105 msgid "Contrast boost:" msgstr "Усиление контраста:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:96 +#: qcsrc/menu/xonotic/dialog_settings_video.c:110 msgid "Saturation:" msgstr "Насыщенность:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:102 +#: qcsrc/menu/xonotic/dialog_settings_video.c:116 msgid "LIT^Ambient:" msgstr "Окружающее освещение:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:105 +#: qcsrc/menu/xonotic/dialog_settings_video.c:119 msgid "Intensity:" msgstr "Мощность:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:123 +msgid "Use OpenGL 2.0 shaders (GLSL)" +msgstr "Использовать шейдеры OpenGL 2.0 (GLSL)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:125 +msgid "Use GLSL to handle color control" +msgstr "Использовать GLSL для управления цветом" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:128 +msgid "Wait for GPU to finish each frame" +msgstr "Ждать завершения каждого кадра GPU" + +#: 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 "Перевернуть изображение по горизонтали" + #: qcsrc/menu/xonotic/dialog_singleplayer.c:4 msgid "Singleplayer" msgstr "Одиночная игра" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:127 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:116 msgid "Instant action! (random map with bots)" msgstr "Быстрая игра (случайная карта с ботами)" -#: qcsrc/menu/xonotic/dialog_singleplayer.c:148 +#: qcsrc/menu/xonotic/dialog_singleplayer.c:137 +msgid "Campaign Difficulty:" +msgstr "Уровень трудности:" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:138 +msgid "CSKL^Easy" +msgstr "Легкий" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:139 +msgid "CSKL^Medium" +msgstr "Средняя" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:140 +msgid "CSKL^Hard" +msgstr "Трудный" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:142 msgid "Start Singleplayer!" msgstr "Начать одиночную игру" @@ -2335,23 +2939,23 @@ msgstr "розовая" msgid "spectate" msgstr "наблюдать" -#: 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 "Не нажимайте снова эту кнопку!" -#: 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 "" "Что? Не могу зайти (m = NULL). Перефильтрую, чтобы такого больше не " "случалось.\n" -#: qcsrc/menu/xonotic/maplist.c:286 +#: qcsrc/menu/xonotic/maplist.c:290 #, c-format msgid "%s's Xonotic Server" msgstr "Сервер Xonotic от %s" -#: 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" @@ -2359,7 +2963,11 @@ msgstr "" "Что? Не могу зайти (неверный вид игры). Перефильтрую, чтобы такого больше не " "случалось.\n" -#: qcsrc/menu/xonotic/playermodel.c:174 +#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128 +msgid "spectator" +msgstr "наблюдать" + +#: qcsrc/menu/xonotic/playermodel.c:177 msgid "<no model found>" msgstr "<модель игрока не найдена>" @@ -2371,23 +2979,23 @@ msgstr "Убрать" msgid "Bookmark" msgstr "В закладки" -#: qcsrc/menu/xonotic/serverlist.c:527 +#: qcsrc/menu/xonotic/serverlist.c:548 msgid "Ping" msgstr "Пинг" -#: qcsrc/menu/xonotic/serverlist.c:528 +#: qcsrc/menu/xonotic/serverlist.c:549 msgid "Host name" msgstr "Имя сервера" -#: qcsrc/menu/xonotic/serverlist.c:529 +#: qcsrc/menu/xonotic/serverlist.c:550 msgid "Map" msgstr "Карта" -#: qcsrc/menu/xonotic/serverlist.c:530 +#: qcsrc/menu/xonotic/serverlist.c:551 msgid "Type" msgstr "Вид" -#: qcsrc/menu/xonotic/serverlist.c:531 +#: qcsrc/menu/xonotic/serverlist.c:552 msgid "Players" msgstr "Игроки" @@ -2417,27 +3025,27 @@ msgstr "%s дБ" 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 "Получены данные HTTP запроса для неверного id %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 "ошибка при получении уведомления об обновлении: статус %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 "ошибка: получение HTML вместо уведомления об обновлении\n" -#: qcsrc/menu/xonotic/util.qc:295 +#: qcsrc/menu/xonotic/util.qc:301 msgid "error: received carriage returns from update notification server\n" msgstr "" "ошибка: получены символы возврата строки от сервера уведомлений об " "обновлениях\n" -#: qcsrc/menu/xonotic/util.qc:316 +#: qcsrc/menu/xonotic/util.qc:322 #, c-format msgid "" "Update can be downloaded at:\n" @@ -2446,21 +3054,21 @@ msgstr "" "Обновление может быть загружено с:\n" "%s\n" -#: qcsrc/menu/xonotic/util.qc:337 +#: qcsrc/menu/xonotic/util.qc:351 msgid "Autogenerating mapinfo for newly added maps..." msgstr "Автоматическое создание mapinfo для новых карт..." -#: qcsrc/menu/xonotic/util.qc:367 +#: qcsrc/menu/xonotic/util.qc:381 #, c-format msgid "^1%s TEST BUILD" -msgstr "" +msgstr "^1%s TEST BUILD" -#: qcsrc/menu/xonotic/util.qc:432 +#: qcsrc/menu/xonotic/util.qc:439 #, c-format msgid "Update to %s now!" msgstr "Обновитесь до %s сейчас же!" -#: 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" @@ -2468,475 +3076,213 @@ msgstr "" "1^ОШИБКА: Сжатие текстур требуется, но не поддерживается.\n" "1^Ожидайте проблемы с отображением.\n" -#: qcsrc/menu/xonotic/util.qc:523 -msgid "Arena" -msgstr "Arena" - -#: qcsrc/menu/xonotic/util.qc:524 -msgid "Assault" -msgstr "Assault" - -#: qcsrc/menu/xonotic/util.qc:525 -msgid "Capture The Flag" -msgstr "Capture The Flag" - -#: qcsrc/menu/xonotic/util.qc:526 -msgid "Clan Arena" -msgstr "Clan Arena" - -#: qcsrc/menu/xonotic/util.qc:527 -msgid "Deathmatch" -msgstr "Deathmatch" - -#: qcsrc/menu/xonotic/util.qc:528 -msgid "Domination" -msgstr "Domination" - -#: qcsrc/menu/xonotic/util.qc:529 -msgid "Freeze Tag" -msgstr "Freeze Tag" - -#: qcsrc/menu/xonotic/util.qc:530 -msgid "Keepaway" -msgstr "Keepaway" - -#: qcsrc/menu/xonotic/util.qc:531 -msgid "Key Hunt" -msgstr "Key Hunt" - -#: qcsrc/menu/xonotic/util.qc:532 -msgid "Last Man Standing" -msgstr "Last Man Standing" - -#: qcsrc/menu/xonotic/util.qc:533 -msgid "Nexball" -msgstr "Nexball" - -#: qcsrc/menu/xonotic/util.qc:534 -msgid "Onslaught" -msgstr "Onslaught" - -#: qcsrc/menu/xonotic/util.qc:535 -msgid "Race" -msgstr "Race" - -#: qcsrc/menu/xonotic/util.qc:536 -msgid "Race CTS" -msgstr "Race CTS" - -#: qcsrc/menu/xonotic/util.qc:537 -msgid "Runematch" -msgstr "Runematch" - -#: qcsrc/menu/xonotic/util.qc:538 -msgid "Team Deathmatch" -msgstr "Team Deathmatch" - -#: qcsrc/menu/xonotic/util.qc:557 -#, c-format -msgid "@!#%'n Tuba Throwing" -msgstr "@!#%'n Швыряние Тубой" - -#: qcsrc/menu/xonotic/util.qc:577 qcsrc/menu/xonotic/util.qc:593 -#: qcsrc/menu/xonotic/util.qc:602 qcsrc/menu/xonotic/util.qc:610 -#: qcsrc/menu/xonotic/util.qc:622 -msgid "Default" -msgstr "По умолчанию" - -#: qcsrc/menu/xonotic/util.qc:588 +#: qcsrc/menu/xonotic/util.qc:643 msgid "Use default" msgstr "Исп. настройки по умолчанию" -#: qcsrc/menu/xonotic/util.qc:608 +#: qcsrc/menu/xonotic/util.qc:663 msgid "Team Color:" msgstr "Цвет команды:" -#: qcsrc/menu/xonotic/util.qh:47 +#: qcsrc/menu/xonotic/util.qh:50 msgid "Enable panel" msgstr "Включить панель" -#: qcsrc/server/w_crylink.qc:2 -msgid "Crylink" -msgstr "Crylink" +#: weapons.qc.tmp:1 +msgid "Rifle" +msgstr "Оружие" -#: qcsrc/server/w_crylink.qc:666 -#, c-format -msgid "%s succeeded at self-destructing themself with the Crylink" -msgstr "" +#: weapons.qc.tmp:2 +msgid "Machine Gun" +msgstr "Machine Gun" -#: qcsrc/server/w_crylink.qc:671 -#, c-format -msgid "%s could not hide from %s's Crylink" -msgstr "" +#: weapons.qc.tmp:3 +msgid "Rocket Launcher" +msgstr "Rocket Launcher" -#: qcsrc/server/w_crylink.qc:673 -#, c-format -msgid "%s was too close to %s's Crylink" -msgstr "" +#: weapons.qc.tmp:4 +msgid "Port-O-Launch" +msgstr "Port-O-Launch" -#: qcsrc/server/w_crylink.qc:675 -#, c-format -msgid "%s took a close look at %s's Crylink" -msgstr "" +#: weapons.qc.tmp:5 +msgid "Grappling Hook" +msgstr "Grappling Hook" -#: qcsrc/server/w_electro.qc:2 +#: weapons.qc.tmp:6 msgid "Electro" msgstr "Electro" -#: qcsrc/server/w_electro.qc:574 -#, c-format -msgid "%s could not remember where they put plasma" -msgstr "" - -#: qcsrc/server/w_electro.qc:576 -#, c-format -msgid "%s played with plasma" -msgstr "" - -#: qcsrc/server/w_electro.qc:583 -#, c-format -msgid "%s just noticed %s's blue ball" -msgstr "" - -#: qcsrc/server/w_electro.qc:585 -#, c-format -msgid "%s got in touch with %s's blue ball" -msgstr "" - -#: qcsrc/server/w_electro.qc:590 -#, c-format -msgid "%s felt the electrifying air of %s's combo" -msgstr "" - -#: qcsrc/server/w_electro.qc:592 -#, c-format -msgid "%s got too close to %s's blue beam" -msgstr "" - -#: qcsrc/server/w_electro.qc:594 -#, c-format -msgid "%s was blasted by %s's blue beam" -msgstr "" - -#: qcsrc/server/w_fireball.qc:2 -msgid "Fireball" -msgstr "Fireball" - -#: qcsrc/server/w_fireball.qc:417 -#, c-format -msgid "%s forgot about some firemine" -msgstr "" - -#: qcsrc/server/w_fireball.qc:419 qcsrc/server/w_hlac.qc:240 -#, c-format -msgid "%s should have used a smaller gun" -msgstr "" - -#: qcsrc/server/w_fireball.qc:426 -#, c-format -msgid "%s tried to catch %s's firemine" -msgstr "" +#: weapons.qc.tmp:7 +msgid "Laser" +msgstr "Laser" -#: qcsrc/server/w_fireball.qc:428 -#, c-format -msgid "%s fatefully ignored %s's firemine" -msgstr "" +#: weapons.qc.tmp:8 +msgid "Shotgun" +msgstr "Shotgun" -#: qcsrc/server/w_fireball.qc:435 +#: weapons.qc.tmp:9 #, c-format -msgid "%s could not hide from %s's fireball" -msgstr "" +msgid "@!#%'n Tuba" +msgstr "@!#%'n Tuba" -#: qcsrc/server/w_fireball.qc:437 -#, c-format -msgid "%s saw the pretty lights of %s's fireball" -msgstr "" +#: weapons.qc.tmp:10 +msgid "MinstaNex" +msgstr "MinstaNex" -#: qcsrc/server/w_fireball.qc:440 -#, c-format -msgid "%s got too close to %s's fireball" -msgstr "" +#: weapons.qc.tmp:11 +msgid "Crylink" +msgstr "Crylink" -#: qcsrc/server/w_fireball.qc:442 -#, c-format -msgid "%s tasted %s's fireball" -msgstr "" +#: weapons.qc.tmp:12 +msgid "Heavy Laser Assault Cannon" +msgstr "Heavy Laser Assault Cannon" -#: qcsrc/server/w_grenadelauncher.qc:2 +#: weapons.qc.tmp:13 msgid "Mortar" msgstr "Mortar" -#: qcsrc/server/w_grenadelauncher.qc:383 -#, c-format -msgid "%s tried out his own grenade" -msgstr "" - -#: qcsrc/server/w_grenadelauncher.qc:385 -#, c-format -msgid "%s detonated" -msgstr "" - -#: qcsrc/server/w_grenadelauncher.qc:391 -#, c-format -msgid "%s didn't see %s's grenade" -msgstr "" - -#: qcsrc/server/w_grenadelauncher.qc:393 -#, c-format -msgid "%s almost dodged %s's grenade" -msgstr "" - -#: qcsrc/server/w_grenadelauncher.qc:395 -#, c-format -msgid "%s ate %s's grenade" -msgstr "" - -#: qcsrc/server/w_hagar.qc:2 +#: weapons.qc.tmp:14 msgid "Hagar" msgstr "Hagar" -#: qcsrc/server/w_hagar.qc:395 qcsrc/server/w_seeker.qc:655 -#, c-format -msgid "%s played with tiny rockets" -msgstr "" - -#: qcsrc/server/w_hagar.qc:399 -#, c-format -msgid "%s hoped %s's missiles wouldn't bounce" -msgstr "" - -#: qcsrc/server/w_hagar.qc:401 qcsrc/server/w_seeker.qc:661 -#, c-format -msgid "%s was pummeled by %s" -msgstr "" - -#: qcsrc/server/w_hlac.qc:2 -msgid "Heavy Laser Assault Cannon" -msgstr "Heavy Laser Assault Cannon" - -#: qcsrc/server/w_hlac.qc:242 -#, c-format -msgid "%s was cut down by %s" -msgstr "" - -#: qcsrc/server/w_hook.qc:2 -msgid "Grappling Hook" -msgstr "Grappling Hook" - -#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296 -#, c-format -msgid "%s did the impossible" -msgstr "" - -#: qcsrc/server/w_hook.qc:268 -#, c-format -msgid "%s has run into %s's gravity bomb" -msgstr "" - -#: qcsrc/server/w_laser.qc:2 -msgid "Laser" -msgstr "Laser" - -#: qcsrc/server/w_laser.qc:311 -#, c-format -msgid "%s lasered themself to hell" -msgstr "" - -#: qcsrc/server/w_laser.qc:315 -#, c-format -msgid "%s was cut in half by %s's gauntlet" -msgstr "" +#: weapons.qc.tmp:15 +msgid "T.A.G. Seeker" +msgstr "T.A.G. Seeker" -#: qcsrc/server/w_laser.qc:317 -#, c-format -msgid "%s was lasered to death by %s" -msgstr "" +#: weapons.qc.tmp:16 +msgid "Fireball" +msgstr "Fireball" -#: qcsrc/server/w_minelayer.qc:2 +#: weapons.qc.tmp:17 msgid "Mine Layer" msgstr "Mine Layer" -#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501 -#, c-format -msgid "%s exploded" -msgstr "" +#: weapons.qc.tmp:18 +msgid "Nex" +msgstr "Nex" -#: qcsrc/server/w_minelayer.qc:527 -#, c-format -msgid "%s got too close to %s's mine" -msgstr "" +#~ msgid "Powerup sharpen" +#~ msgstr "Панель бонусов" -#: qcsrc/server/w_minelayer.qc:529 -#, c-format -msgid "%s almost dodged %s's mine" -msgstr "" +#~ msgid "Damage & water blur" +#~ msgstr "Размытие от урона:" -#: qcsrc/server/w_minelayer.qc:531 -#, c-format -msgid "%s stepped on %s's mine" -msgstr "" +#~ msgid "Waypoint settings:" +#~ msgstr "Настройки отметок:" -#: qcsrc/server/w_minstanex.qc:2 -msgid "MinstaNex" -msgstr "MinstaNex" +#~ msgid "Sniper Rifle" +#~ msgstr "Sniper Rifle" -#: 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 "" +#~ msgid "Accelerometer scale:" +#~ msgstr "Размер акселерометра:" -#: qcsrc/server/w_minstanex.qc:295 qcsrc/server/w_nex.qc:255 -#, c-format -msgid "%s has been vaporized by %s" -msgstr "" +#~ msgid "Show accelerometer" +#~ msgstr "Показывать акселерометр" -#: qcsrc/server/w_nex.qc:2 -msgid "Nex" -msgstr "Nex" +# "quake units per second" +# you can also translate it as inch/second +# as it is roughly the same +#~ msgid "qu/s (hidden)" +#~ msgstr "qu/s (без назв.)" -#: qcsrc/server/w_porto.qc:2 -msgid "Port-O-Launch" -msgstr "Port-O-Launch" +#~ msgid "Speedometer" +#~ msgstr "Спидометр" -#: qcsrc/server/w_porto.qc:298 -#, c-format -msgid "%s felt %s doing the impossible to him" -msgstr "" +#~ msgid "Disable multithreaded OpenGL" +#~ msgstr "Отключить многопоточный OpenGL" -#: qcsrc/server/w_rifle.qc:2 -msgid "Rifle" -msgstr "" +#~ msgid "HTTP downloads:" +#~ msgstr "HTTP загрузки:" -#: qcsrc/server/w_rifle.qc:233 -#, c-format -msgid "%s shot themself automatically" -msgstr "" +#~ msgid "Network speed:" +#~ msgstr "Скорость соединения:" -#: qcsrc/server/w_rifle.qc:235 -#, c-format -msgid "%s sniped themself somehow" -msgstr "" +#~ msgid "Minimize input latency" +#~ msgstr "Уменьшить задержку ввода" -#: qcsrc/server/w_rifle.qc:242 -#, c-format -msgid "%s failed to hide from %s's bullet hail" -msgstr "" +#~ msgid "Mouse filter" +#~ msgstr "Фильтр мыши" -#: qcsrc/server/w_rifle.qc:244 -#, c-format -msgid "%s died in %s's bullet hail" -msgstr "" +#~ msgid "UI mouse speed:" +#~ msgstr "Скорость мыши в UI:" -#: qcsrc/server/w_rifle.qc:251 -#, c-format -msgid "%s failed to hide from %s's rifle" -msgstr "" +#~ msgid "High Dynamic Range (HDR)" +#~ msgstr "High Dynamic Range (HDR)" -#: qcsrc/server/w_rifle.qc:256 -#, c-format -msgid "%s got hit in the head by %s" -msgstr "" +#~ msgid "Flash blend approximation" +#~ msgstr "Грубая имитация" -#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321 -#, c-format -msgid "%s was sniped by %s" -msgstr "" +#~ msgid "WRN^None" +#~ msgstr "Нет" -#: qcsrc/server/w_rocketlauncher.qc:2 -msgid "Rocket Launcher" -msgstr "Rocket Launcher" +#~ msgid "RNG^Full" +#~ msgstr "Полный" -#: qcsrc/server/w_rocketlauncher.qc:505 -#, c-format -msgid "%s got too close to %s's rocket" -msgstr "" +#~ msgid "RNG^Long" +#~ msgstr "Большой" -#: qcsrc/server/w_rocketlauncher.qc:507 -#, c-format -msgid "%s almost dodged %s's rocket" -msgstr "" +#~ msgid "RNG^Normal" +#~ msgstr "Обычный" -#: qcsrc/server/w_rocketlauncher.qc:509 -#, c-format -msgid "%s ate %s's rocket" -msgstr "" +#~ msgid "RNG^Short" +#~ msgstr "Маленький" -#: qcsrc/server/w_seeker.qc:2 -msgid "T.A.G. Seeker" -msgstr "T.A.G. Seeker" +#~ msgid "RNG^Very short" +#~ msgstr "Очень маленький" -#: qcsrc/server/w_seeker.qc:659 -#, c-format -msgid "%s was tagged by %s" -msgstr "" +#~ msgid "Taunt range:" +#~ msgstr "Радиус насмешек:" -#: qcsrc/server/w_shotgun.qc:2 -msgid "Shotgun" -msgstr "Shotgun" +#~ msgid "VOCS^All" +#~ msgstr "Все" -#: qcsrc/server/w_shotgun.qc:219 -#, c-format -msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" -msgstr "" +#~ msgid "VOCS^Taunts" +#~ msgstr "Насмешки" -#: qcsrc/server/w_shotgun.qc:221 -#, c-format -msgid "%s was gunned by %s" -msgstr "" +#~ msgid "VOCS^None" +#~ msgstr "Отключены" -#: qcsrc/server/w_tuba.qc:2 -#, c-format -msgid "@!#%'n Tuba" -msgstr "@!#%'n Tuba" +#~ msgid "Spatial voices:" +#~ msgstr "Объёмные голоса:" -#: qcsrc/server/w_tuba.qc:252 -#, c-format -msgid "%s hurt his own ears with the @!#%%'n Tuba" -msgstr "" +#~ msgid "All players" +#~ msgstr "Все игроки" -#: qcsrc/server/w_tuba.qc:256 -#, c-format -msgid "%s died of %s's great playing on the @!#%%'n Tuba" -msgstr "" +#~ msgid "Teammates" +#~ msgstr "Союзники" -#: qcsrc/server/w_uzi.qc:2 -msgid "Machine Gun" -msgstr "Machine Gun" +#~ msgid "Show names:" +#~ msgstr "Показывать имена:" -#: qcsrc/server/w_uzi.qc:323 -#, c-format -msgid "%s was riddled full of holes by %s" -msgstr "" +#~ msgid "Waypoint scale:" +#~ msgstr "Размер отметок:" -#, fuzzy -#~ msgid "Damage & water blur" -#~ msgstr "Размытие от урона:" +#~ msgid "Waypoints setup..." +#~ msgstr "Настройка отметок..." -#, fuzzy -#~ msgid "Powerup sharpen" -#~ msgstr "Панель бонусов" +#~ msgid "HTST^None" +#~ msgstr "Отключена" -#~ msgid "Speedometer" -#~ msgstr "Спидометр" +#~ msgid "Size:" +#~ msgstr "Размер:" -# "quake units per second" -# you can also translate it as inch/second -# as it is roughly the same -#~ msgid "qu/s (hidden)" -#~ msgstr "qu/s (без назв.)" +#~ msgid "Weapon settings..." +#~ msgstr "Настройки оружия..." -#~ msgid "Show accelerometer" -#~ msgstr "Показывать акселерометр" +#~ msgid "Zoom speed:" +#~ msgstr "Скорость увеличения:" -#~ msgid "Accelerometer scale:" -#~ msgstr "Размер акселерометра:" +#~ msgid "View bobbing:" +#~ msgstr "Качание вида:" -#~ msgid "Sniper Rifle" -#~ msgstr "Sniper Rifle" +#~ msgid "CA:" +#~ msgstr "CA:" -#~ msgid "Waypoint settings:" -#~ msgstr "Настройки отметок:" +#~ msgid "Ping:" +#~ msgstr "Пинг:" + +#~ msgid "Gameplay:" +#~ msgstr "Геймплей:" -#~ msgid "%d/%d" -#~ msgstr "%d/%d" +#~ msgid " when picking up an item" +#~ msgstr "Анимировать при подборе штучек" diff --git a/menu.dat.uk.po b/menu.dat.uk.po index f7768ec8c..def9974b1 100644 --- a/menu.dat.uk.po +++ b/menu.dat.uk.po @@ -2,14 +2,14 @@ # Copyright (C) 2011 Team Xonotic # This file is distributed under the same license as the Xonotic package. # Harmata <cigariscigar@gmail.com>, 2011. -# +# #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 0.5\n" +"Project-Id-Version: 0.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-12 12:24+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"POT-Creation-Date: 2012-01-26 12:24+0100\n" +"PO-Revision-Date: 2012-03-28 19:46+0200\n" "Last-Translator: Harmata <cigariscigar@gmail.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: uk\n" @@ -17,33 +17,102 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: qcsrc/common/mapinfo.qc:1092 qcsrc/menu/xonotic/skinlist.c:163 +#: qcsrc/common/mapinfo.qc:665 +#, c-format +msgid "@!#%'n Tuba Throwing" +msgstr "Кидання @!#%'ї Туби" + +#: 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 "Десматч" + +#: qcsrc/common/mapinfo.qh:39 +msgid "Last Man Standing" +msgstr "Останній виживший" + +#: qcsrc/common/mapinfo.qh:42 +msgid "Arena" +msgstr "Арена" + +#: qcsrc/common/mapinfo.qh:45 +msgid "Runematch" +msgstr "Рунний матч" + +#: qcsrc/common/mapinfo.qh:48 +msgid "Race" +msgstr "Гонка" + +#: qcsrc/common/mapinfo.qh:51 +msgid "Race CTS" +msgstr "Гонка CTS" + +#: qcsrc/common/mapinfo.qh:54 +msgid "Team Deathmatch" +msgstr "Командний десматч" + +#: qcsrc/common/mapinfo.qh:57 +msgid "Capture the Flag" +msgstr "Захоплення прапору" + +#: qcsrc/common/mapinfo.qh:60 +msgid "Clan Arena" +msgstr "Арена кланів" + +#: qcsrc/common/mapinfo.qh:63 +msgid "Domination" +msgstr "Панування" + +#: qcsrc/common/mapinfo.qh:66 +msgid "Key Hunt" +msgstr "Полювання за ключами" + +#: qcsrc/common/mapinfo.qh:69 +msgid "Assault" +msgstr "Атака" + +#: 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/menu/command/menu_cmd.qc:41 #, c-format msgid "error: status is %d\n" msgstr "помилка: статус %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 "Використання: menu_cmd команда..., де можливі такі команди:\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 - перезавантажує усі cvars на поточній сторінці меню\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 ITEM - обрати компонент меню як головний компонент\n" -#: qcsrc/menu/gamecommand.qc:193 +#: qcsrc/menu/command/menu_cmd.qc:179 msgid "error creating curl handle\n" msgstr "помилка під час створення curl handle\n" -#: 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 "" "Невірна команда. Щоб побачити список доступних команд спробуйте menu_cmd " @@ -72,17 +141,17 @@ msgstr "%d (%s)" msgid "custom" msgstr "особливо" -#: qcsrc/menu/menu.qc:29 +#: qcsrc/menu/menu.qc:37 #, c-format msgid "^4MQC Build information: ^1%s\n" msgstr "^4Відомості про збірку MQC: ^1%s\n" -#: qcsrc/menu/xonotic/campaign.c:284 +#: 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 "Рівень %d: %s" @@ -113,10 +182,14 @@ msgstr "Розробники" #: 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 "Гаразд" @@ -125,7 +198,7 @@ msgstr "Гаразд" msgid "Welcome" msgstr "Вітаємо" -#: 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 " @@ -134,18 +207,34 @@ msgstr "" "Вітаємо у Xonotic! Будь ласка, для початку оберіть свою мову та вкажіть своє " "ім'я. Ви зможете змінити їх через систему меню потім." -#: qcsrc/menu/xonotic/dialog_firstrun.c:38 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 -msgid "Text language:" -msgstr "Мова тексту:" - -#: 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 "Ім'я:" -#: 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 "Мова тексту:" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:77 +msgid "Allow player statistics to use your nickname at stats.xonotic.org?" +msgstr "Дозволити використання імені гравця в статистиці на stats.xonotic.org?" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:81 +msgid "ALWU2N^Yes" +msgstr "ALWU2N^Так" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:82 +msgid "ALWU2N^No" +msgstr "ALWU2N^Ні" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:83 +msgid "ALWU2N^Undecided" +msgstr "ALWU2N^Не вирішено" + +#: qcsrc/menu/xonotic/dialog_firstrun.c:87 msgid "Save settings" msgstr "Зберегти налаштування" @@ -189,7 +278,7 @@ msgstr "Основні повідомлення" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:23 msgid "Message duration:" -msgstr "Тривалість існування повідомлень:" +msgstr "Тривалість життя повідомлень:" #: qcsrc/menu/xonotic/dialog_hudpanel_centerprint.c:27 msgid "Fade time:" @@ -204,7 +293,7 @@ msgid "Text alignment:" msgstr "Вирівнювання тексту:" #: 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 "По центру" @@ -348,12 +437,12 @@ msgid "Status bar" msgstr "Смуга статусу" #: 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 "Вирівнювати ліворуч" #: 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 "Вирівнювати праворуч" @@ -370,6 +459,7 @@ msgid "Flip speed/acceleration positions" msgstr "Поміняти місцями позиції швидкості та акселерації" #: qcsrc/menu/xonotic/dialog_hudpanel_physics.c:44 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:29 msgid "Speed:" msgstr "Швидкість:" @@ -461,8 +551,8 @@ msgstr "Радар:" #: 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:612 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:66 +#: qcsrc/menu/xonotic/util.qc:655 msgid "Alpha:" msgstr "Прозорість:" @@ -491,6 +581,7 @@ msgid "North" msgstr "Північ" #: qcsrc/menu/xonotic/dialog_hudpanel_radar.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:61 msgid "Scale:" msgstr "Масштаб:" @@ -567,7 +658,6 @@ msgid "Fade out after:" msgstr "Зникати після:" #: qcsrc/menu/xonotic/dialog_hudpanel_weapons.c:26 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:36 msgid "Never" msgstr "Ніколи" @@ -644,24 +734,24 @@ msgstr "Налаштування панелі HUD" msgid "Panel background defaults:" msgstr "Фон панелі за замовчуванням:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 qcsrc/menu/xonotic/util.qc:587 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:23 qcsrc/menu/xonotic/util.qc:630 msgid "Background:" msgstr "Фон:" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:25 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:37 #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:52 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:91 qcsrc/menu/xonotic/util.qc:590 -#: qcsrc/menu/xonotic/util.qc:606 qcsrc/menu/xonotic/util.qc:623 +#: 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 "Вимкнути" #: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:30 -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:595 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:77 qcsrc/menu/xonotic/util.qc:638 msgid "Color:" msgstr "Колір:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:603 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:35 qcsrc/menu/xonotic/util.qc:646 msgid "Border size:" msgstr "Розмір обвідки:" @@ -670,11 +760,11 @@ msgstr "Розмір обвідки:" msgid "Team color:" msgstr "Колір команди:" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:629 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:58 qcsrc/menu/xonotic/util.qc:672 msgid "Test team color in configure mode" msgstr "Протестувати колір команди у конфігураційному режимі" -#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:632 +#: qcsrc/menu/xonotic/dialog_hudsetup_exit.c:61 qcsrc/menu/xonotic/util.qc:675 msgid "Padding:" msgstr "Підкладка:" @@ -748,133 +838,129 @@ msgstr "Гравець" msgid "Game type:" msgstr "Тип гри:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:46 -msgid "Match settings:" -msgstr "Налаштування матчу:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:49 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:48 msgid "Time limit:" msgstr "Ліміт часу:" -#: 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 "Використати налаштування мапи" -#: 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 "Ліміт очок:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:64 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:63 msgid "Player slots:" msgstr "Місць для гравців:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:67 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:66 msgid "Number of bots:" msgstr "Кількість ботів:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:71 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:69 msgid "Bot skill:" msgstr "Майстерність ботів:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:72 msgid "Botlike" msgstr "Ботоподібний" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:73 msgid "Beginner" msgstr "Початківець" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:74 msgid "You will win" msgstr "Ви переможете" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:75 msgid "You can win" msgstr "Ви можете перемогти" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:76 msgid "You might win" msgstr "Ви переможете... можливо" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:77 msgid "Advanced" msgstr "Удосконалений" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:78 msgid "Expert" msgstr "Експерт" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:79 msgid "Pro" msgstr "Професіонал" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:80 msgid "Assassin" msgstr "Убивця" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:83 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:81 msgid "Unhuman" msgstr "Нелюд" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:82 msgid "Godlike" msgstr "Богоподібний" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:88 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:87 msgid "Mutators..." msgstr "Мутатори..." -#: 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 "Додадкові налаштування:" +msgstr "Розширені налаштування:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:104 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:103 msgid "Map list:" msgstr "Список мап:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:110 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:109 msgid "Select all" msgstr "Вибрати все" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:113 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:112 msgid "Select none" msgstr "Вибрати нічого" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:119 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:118 msgid "Start Multiplayer!" msgstr "Почати Мультиплеєр!" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:154 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:153 msgid "Capture limit:" msgstr "Ліміт захоплень:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:157 msgid "Lives:" msgstr "Життів:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:158 msgid "Laps:" msgstr "Кругів:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:160 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:159 msgid "Goals:" msgstr "Голів:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create.c:163 msgid "Frag limit:" msgstr "Ліміт фрагів:" #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:6 msgid "Advanced server settings" -msgstr "Додаткові налаштування сервера" +msgstr "Розширені налаштування сервера" #: qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c:25 msgid "Game settings:" @@ -972,28 +1058,28 @@ msgstr "Вся зброя" msgid "MinstaGib only" msgstr "Тільки МінстаДжиб" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:78 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:81 msgid "Title:" msgstr "Назва:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:87 msgid "Author:" msgstr "Автор:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:90 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:93 msgid "Features:" msgstr "Деталі:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:95 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:98 msgid "Game types:" msgstr "Типи гри:" -#: 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 "Закрити" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:121 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c:124 msgid "MAP^Play" msgstr "MAP^Грати" @@ -1015,108 +1101,121 @@ msgid "%s Arena" msgstr "%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 "Ухилення" #: 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 "МінстаДжиб" #: 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 "Нікс" #: 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 "Політ за допомогою ракет" -#: 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 "Без стартової зброї" -#: 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 "Низька гравітація" -#: 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 "Маскування" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:84 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:86 msgid "Hook" msgstr "Гак" -#: 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 "Мід-ейр" -#: 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 "Вампір" -#: 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 "Піньята" -#: 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 "Зброя залишається" -#: 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 "Втрата крові" -#: 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 "Реактивний ранець" -#: 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 +msgid "Powerups" +msgstr "Підсилення" + +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:104 msgid "MUT^None" msgstr "MUT^Жодного" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:164 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:170 msgid "Gameplay mutators:" msgstr "Мутатори ігрового процесу:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:196 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:201 msgid "Weapon & item mutators:" msgstr "Мутатори зброї та предметів:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:199 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:204 msgid "Grappling hook" msgstr "Гак" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:215 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:223 msgid "Weapon arenas:" msgstr "Арени:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:218 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:226 msgid "Regular (no arena)" msgstr "Звичайно (не арена)" -#: 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 "з лазером" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:247 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:255 msgid "Special arenas:" msgstr "Спеціальні арени:" -#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:260 +#: qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c:268 msgid "Most weapons" msgstr "Більшість зброї" @@ -1125,26 +1224,26 @@ msgid "Demo" msgstr "Демо" #: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:28 -msgid "Record demos while playing" -msgstr "Записувати демо під час гри" +msgid "Automatically record demos while playing" +msgstr "Автоматично записувати демо під час гри" -#: 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 "Фільтр:" -#: 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 "Очистити" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:43 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:45 msgid "Timedemo" msgstr "Тест продуктивності" -#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:46 +#: qcsrc/menu/xonotic/dialog_multiplayer_demo.c:48 msgid "DEMO^Play" msgstr "DEMO^Переглянути" @@ -1165,6 +1264,7 @@ msgid "Pause" msgstr "Пауза" #: qcsrc/menu/xonotic/dialog_multiplayer_join.c:56 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:262 msgid "Address:" msgstr "Адреса:" @@ -1173,7 +1273,7 @@ msgid "Info..." msgstr "Відомості..." #: 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 "Приєднатися!" @@ -1181,290 +1281,468 @@ msgstr "Приєднатися!" msgid "Server Information" msgstr "Інформація сервера" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:115 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:116 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:183 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:189 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:199 +#: 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_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 вільних місць для гравців" +msgid "%d/%d" +msgstr "%d/%d" + +#: 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 "За замовчуванням" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 #, c-format -msgid "%d modified settings" +msgid "%d modified" msgstr "%d змінених налаштувань" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:172 -msgid "Official settings" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:200 +msgid "Official" msgstr "Офіційні налаштування" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:197 -msgid "N/A (can't connect)" -msgstr "Н/Д (неможливо з'єднатися)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:208 +msgid "N/A (auth library missing, can't connect)" +msgstr "Н/Д (автентична бібліотека відсутня, неможливо з'єднатися)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:205 -msgid "not supported (can't connect)" -msgstr "не підтримується (неможливо з'єднатися)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:210 +msgid "N/A (auth library missing)" +msgstr "Н/Д (відсутня автентична бібліотека)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:207 -msgid "not supported (won't encrypt)" -msgstr "не підтримується (не буде шифрувати)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:216 +msgid "Not supported (can't connect)" +msgstr "Не підтримується (неможливо з'єднатися)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:211 -msgid "supported (will encrypt)" -msgstr "підтримується (буде шифрувати)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:218 +msgid "Not supported (won't encrypt)" +msgstr "Не підтримується (не буде шифрувати)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:213 -msgid "supported (won't encrypt)" -msgstr "підтримується (не буде шифрувати)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:222 +msgid "Supported (will encrypt)" +msgstr "Підтримується (буде шифрувати)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:217 -msgid "requested (will encrypt)" -msgstr "запитано (не буде шифрувати)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:224 +msgid "Supported (won't encrypt)" +msgstr "Підтримується (не буде шифрувати)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:219 -msgid "requested (won't encrypt)" -msgstr "запитано (буде шифрувати)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:228 +msgid "Requested (will encrypt)" +msgstr "Запитано (не буде шифрувати)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:223 -msgid "required (can't connect)" -msgstr "обов'язкове (неможливо з'єднатися)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:230 +msgid "Requested (won't encrypt)" +msgstr "Запитано (буде шифрувати)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:225 -msgid "required (will encrypt)" -msgstr "обов'язкове (буде шифрувати)" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:234 +msgid "Required (can't connect)" +msgstr "Обов'язкове (неможливо з'єднатися)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:246 -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:269 -msgid "Players:" -msgstr "Гравці:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:236 +msgid "Required (will encrypt)" +msgstr "Обов'язкове (буде шифрувати)" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:254 -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:38 -msgid "Type:" -msgstr "Тип:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:256 +msgid "Hostname:" +msgstr "Ім'я сервера:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:270 +msgid "Gametype:" +msgstr "Тип гри:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:259 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:275 msgid "Map:" msgstr "Мапа:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:264 -msgid "Gameplay:" -msgstr "Ігровий процес:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:274 -msgid "Bots:" -msgstr "Боти:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:279 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:280 msgid "Mod:" msgstr "Мод:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:284 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:285 msgid "Version:" msgstr "Версія:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:289 -msgid "Ping:" -msgstr "Пінг:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:290 +msgid "Settings:" +msgstr "Налаштування:" -#: 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 "Гравці:" -#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:301 -msgid "Key:" -msgstr "Ключ:" +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:302 +msgid "Bots:" +msgstr "Боти:" #: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:307 +msgid "Free slots:" +msgstr "Вільні місця:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:313 msgid "Encryption:" msgstr "Кодування:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:63 +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:318 +msgid "ID:" +msgstr "ID:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c:323 +msgid "Key:" +msgstr "Ключ:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:60 +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:19 msgid "Model:" msgstr "Модель:" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:88 -msgid "Field of view:" -msgstr "Поле зору:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:92 -msgid "View bobbing:" -msgstr "Гойдання поля зору:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:96 -msgid "Zoom factor:" -msgstr "Сила зуму:" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:100 -msgid "Zoom speed:" -msgstr "Швидкість зуму:" +msgid "No crosshair" +msgstr "Без прицілу" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:103 -msgid "Weapon settings..." -msgstr "Налаштування зброї..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:90 +msgid "Per weapon crosshair" +msgstr "Для кожної зброї свій" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:110 -msgid "Crosshair:" -msgstr "Приціл:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:93 +msgid "Custom crosshair" +msgstr "На вибір" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:111 -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 -msgid "Per weapon" -msgstr "Для кожної зброї" - -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:130 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:112 msgid "Crosshair size:" msgstr "Розмір прицілу:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:134 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:117 msgid "Crosshair alpha:" msgstr "Прозорість прицілу:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:138 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:123 msgid "Crosshair color:" msgstr "Колір прицілу:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:140 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:125 +msgid "Per weapon" +msgstr "Для кожної зброї" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:127 msgid "By health" msgstr "Залежно від здоров'я" -#: 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 "Вибрати" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:148 -msgid "Enable center dot" -msgstr "Увімкнути центральну крапку" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:139 +msgid "Other crosshair settings" +msgstr "Інші налаштування прицілу" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:151 -msgid "Size:" -msgstr "Розмір:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:147 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:6 +msgid "Model settings" +msgstr "Налаштування моделі" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:158 -msgid "Hit test:" -msgstr "Тест на влучання:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:153 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:6 +msgid "View settings" +msgstr "Налаштування огляду" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:159 -msgid "HTST^None" -msgstr "HTST^Жодного" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 +msgid "Weapon settings" +msgstr "Налаштування зброї" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c:6 +msgid "HUD settings" +msgstr "Налаштування HUD" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 +#: 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 "Вжити негайно" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:160 -msgid "TrueAim" -msgstr "TrueAim" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:6 +msgid "Crosshair settings" +msgstr "Налаштування прицілу" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:161 -msgid "Enemies" -msgstr "Вороги" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:28 +msgid "Enable center crosshair dot" +msgstr "Увімкнути цятку в центрі прицілу" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:164 -msgid "Waypoints setup..." -msgstr "Налаштування дороговказів..." +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:31 +msgid "Dot size:" +msgstr "Розмір цятки:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:169 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:36 +msgid "Dot alpha:" +msgstr "Прозорість цятки:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:41 +msgid "Dot color:" +msgstr "Колір цятки:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:43 +msgid "Use normal crosshair color" +msgstr "Використовувати нормальний колір прицілу" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:54 +msgid "Crosshair animations:" +msgstr "Рухи прицілу:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:57 +msgid "Smooth effects of crosshairs" +msgstr "Згладжувати ефекти прицілу" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:61 +msgid "Use rings to indicate weapon status" +msgstr "Показувати статус зброї кільцями" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:67 +msgid "Hit testing:" +msgstr "Тест на влучання:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:69 +msgid "HTTST^Disabled" +msgstr "HTTST^Вимкнуто" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:70 +msgid "HTTST^TrueAim" +msgstr "HTTST^TrueAim" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:71 +msgid "HTTST^Enemies" +msgstr "HTTST^Вороги" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:76 +msgid "Blur crosshair if the shot is obstructed" +msgstr "Робити приціл нечітким, якщо пострілу щось заважає" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:81 +msgid "Animate when hitting an enemy" +msgstr "Сигналізувати влучання прицілом" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c:85 +msgid "Animate when picking up an item" +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: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 "Редактор HUD" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:174 -msgid "Force models:" -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 "Редактор HUD доступний лише у грі." -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:175 -msgid "MDL^None" -msgstr "MDL^Жодну" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:30 +msgid "Do you wish to start a local game to set up the HUD?" +msgstr "Бажаєте почати локальну гру для налаштування HUD?" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:176 -msgid "MDL^Custom" -msgstr "MDL^Особливу" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:33 +msgid "HDCNFRM^Yes" +msgstr "HDCNFRM^Так" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:177 -msgid "MDL^All" -msgstr "MDL^Всі" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c:36 +msgid "HDCNFRM^No" +msgstr "HDCNFRM^Ні" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:180 -msgid "Disable gore effects" -msgstr "Вимкнути криваві ефекти" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:28 +msgid "Body fading:" +msgstr "Зникнення тіл:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:182 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:31 msgid "Gibs:" msgstr "Шматки тіл:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:184 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:33 msgid "GIBS^None" msgstr "GIBS^Вимкнуто" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:185 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:34 msgid "GIBS^Few" msgstr "GIBS^Мало" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:186 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:35 msgid "GIBS^Many" msgstr "GIBS^Більше" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:187 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:36 msgid "GIBS^Lots" msgstr "GIBS^Багато" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c:191 -msgid "Damage splash:" -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_input.c:74 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:30 -#: qcsrc/menu/xonotic/dialog_settings_misc.c:41 -#: qcsrc/menu/xonotic/dialog_settings_video.c:109 -msgid "Apply immediately" -msgstr "Вжити негайно" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:40 +msgid "Playermodel LOD:" +msgstr "LOD моделей гравців:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:5 -msgid "Waypoints" -msgstr "Дороговкази" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:44 +msgid "Force models:" +msgstr "Примусово використовувати одну модель:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:45 +msgid "MDL^None" +msgstr "MDL^Жодну" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:46 +msgid "MDL^Custom" +msgstr "MDL^Особливу" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:23 -msgid "Show base waypoints" -msgstr "Показувати основні дороговкази" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:47 +msgid "MDL^All" +msgstr "MDL^Всі" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:25 -msgid "Waypoint scale:" -msgstr "Розмір дороговказів:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:50 +msgid "Force player models to mine" +msgstr "Використовувати власну модель для всіх гравців" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:29 -msgid "Waypoint alpha:" -msgstr "Прозорість дороговказів:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c:52 +msgid "Force player colors to mine" +msgstr "Використовувати кольори вашої моделі для усіх інших моделей" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:34 -msgid "Show names:" -msgstr "Показувати імена:" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:28 +msgid "Field of view:" +msgstr "Поле зору:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:37 -msgid "Teammates" -msgstr "Гравців команди" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:31 +msgid "Zoom:" +msgstr "Зум:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c:38 -msgid "All players" -msgstr "Всіх гравців" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:33 +msgid "RETICLE^Fullscreen" +msgstr "RETICLE^На повний екран" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:6 -msgid "Weapon settings" -msgstr "Налаштування зброї" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:34 +msgid "RETICLE^With reticle" +msgstr "RETICLE^З візирними нитками" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:38 +msgid "ZOOM^Factor:" +msgstr "ZOOM^Сила:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:42 +msgid "ZOOM^Speed:" +msgstr "ZOOM^Швидкість:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:52 +msgid "ZOOM^Instant" +msgstr "ZOOM^Миттєвий" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:56 +msgid "ZOOM^Sensitivity:" +msgstr "ZOOM^Чутливість:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:59 +msgid "Velocity zoom:" +msgstr "Швидкісний зум:" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:61 +msgid "VZOOM^Disabled" +msgstr "VZOOM^Вимкнуто" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:62 +msgid "VZOOM^Forward only" +msgstr "VZOOM^Тільки вперед" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:63 +msgid "VZOOM^All directions" +msgstr "VZOOM^Всі напрямки" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:67 +msgid "VZOOM^Speed" +msgstr "VZOOM^Швидкість" + +#: 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 +msgid "Back distance" +msgstr "Відстань ззаду" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c:106 +msgid "Up distance" +msgstr "Відстань зверху" #: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:29 msgid "Weapon priority list:" -msgstr "Список пріоритетів зброї:" +msgstr "Список пріоритетності зброї:" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:34 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:33 msgid "Up" msgstr "Нагору" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:37 +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:36 msgid "Down" msgstr "Вниз" @@ -1476,13 +1754,21 @@ msgstr "Використовувати список приоритетів дл msgid "Auto switch weapons on pickup" msgstr "Автоматично перемикатись на підняту зброю" -#: 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 "Показувати модель зброї у першій особі" -#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:55 -msgid "Flip view horizontally" -msgstr "Поміняти місцями вид горизонтально" +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:58 +msgid "Gun model swaying" +msgstr "Гойдання моделі зброї" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:63 +msgid "Gun model bobbing" +msgstr "Хитання моделі зброї" + +#: qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c:68 +msgid "VWMDL^Scale" +msgstr "VWMDL^Розмір" #: qcsrc/menu/xonotic/dialog_news.c:4 msgid "News" @@ -1496,18 +1782,146 @@ msgstr "http://www.xonotic.org/team/blog/" msgid "Quit" msgstr "Вийти" -#: qcsrc/menu/xonotic/dialog_quit.c:17 +#: qcsrc/menu/xonotic/dialog_quit.c:18 msgid "Are you sure you want to quit?" msgstr "Ви дійсно хочете вийти?" -#: qcsrc/menu/xonotic/dialog_quit.c:20 +#: qcsrc/menu/xonotic/dialog_quit.c:21 msgid "Yes" msgstr "Так" -#: qcsrc/menu/xonotic/dialog_quit.c:21 +#: qcsrc/menu/xonotic/dialog_quit.c:22 msgid "No" msgstr "Ні" +#: 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 +msgid "Remove *" +msgstr "Прибрати *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:27 +msgid "Copy *" +msgstr "Скопіювати *" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:28 +msgid "Paste" +msgstr "Вставити" + +#: 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 +msgid "Set skin:" +msgstr "Встановити скин:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:45 +msgid "Set alpha:" +msgstr "Встановити прозорість:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:48 +msgid "Set color main:" +msgstr "Встановити основний колір:" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:50 +msgid "Set color glow:" +msgstr "Встановити колір свічення:" + +#: 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 +msgid "Set solidity:" +msgstr "Встановити твердість:" + +#: 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 +msgid "Physical" +msgstr "Фізичне" + +#: qcsrc/menu/xonotic/dialog_sandboxtools.c:74 +msgid "Set scale:" +msgstr "Встановити масштаб:" + +#: 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 +msgid "Show help" +msgstr "Показувати допомогу" + +#: 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 "Налаштування" @@ -1533,9 +1947,9 @@ msgid "Audio" msgstr "Звук" #: qcsrc/menu/xonotic/dialog_settings.c:22 -#: qcsrc/menu/xonotic/dialog_settings_network.c:4 -msgid "Network" -msgstr "Мережа" +#: qcsrc/menu/xonotic/dialog_settings_user.c:4 +msgid "User" +msgstr "Користувач" #: qcsrc/menu/xonotic/dialog_settings.c:23 #: qcsrc/menu/xonotic/dialog_settings_misc.c:4 @@ -1546,194 +1960,170 @@ msgstr "Різне" msgid "Master:" msgstr "Гучність:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:33 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:35 msgid "Music:" msgstr "Музика:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:41 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:45 msgid "VOL^Ambient:" msgstr "VOL^Навколишні звуки:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:48 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:54 msgid "Info:" msgstr "Інформація:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:55 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:63 msgid "Items:" msgstr "Предмети:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:62 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:72 msgid "Pain:" msgstr "Біль:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:69 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:81 msgid "Player:" msgstr "Гравці:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:76 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:90 msgid "Shots:" msgstr "Постріли:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:83 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:99 msgid "Voice:" msgstr "Голоси:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:91 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:109 msgid "Weapons:" msgstr "Зброя:" -#: 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 "Частота:" -#: 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 "Канали:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:112 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:136 msgid "Mono" msgstr "Моно" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:113 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 msgid "Stereo" msgstr "Стерео" -#: 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 "Інвертувати стерео" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:127 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:148 msgid "Headphone friendly mode" msgstr "Дружній режим для навушників" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:131 -msgid "Spatial voices:" -msgstr "Просторові звуки:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:132 -msgid "VOCS^None" -msgstr "VOCS^Жодних" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:133 -msgid "VOCS^Taunts" -msgstr "VOCS^Глузування" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:134 -msgid "VOCS^All" -msgstr "VOCS^Всі" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:137 -msgid "Taunt range:" -msgstr "Дальність глузувань:" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:140 -msgid "RNG^Very short" -msgstr "RNG^Дуже коротка" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:141 -msgid "RNG^Short" -msgstr "RNG^Коротка" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:142 -msgid "RNG^Normal" -msgstr "RNG^Нормальна" - -#: qcsrc/menu/xonotic/dialog_settings_audio.c:143 -msgid "RNG^Long" -msgstr "RNG^Велика" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 +msgid "Hit indication sound" +msgstr "Звук влучання" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:144 -msgid "RNG^Full" -msgstr "RNG^Повна" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:172 +msgid "Chat message sound" +msgstr "Звук повідомлення" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:151 -msgid "Automatic taunts" -msgstr "Автоматичні глузування" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:174 +msgid "Menu sounds" +msgstr "Звуки меню" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:160 -msgid "Time warning:" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:177 +msgid "Time announcer:" msgstr "Попередження про час:" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:162 -msgid "WRN^None" -msgstr "WRN^Жодного" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:179 +msgid "WRN^Disabled" +msgstr "WRN^Вимкнуто" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:163 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:180 msgid "1 minute" msgstr "1 хвилина" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:164 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:181 msgid "5 minutes" msgstr "5 хвилин" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:165 +#: qcsrc/menu/xonotic/dialog_settings_audio.c:182 msgid "WRN^Both" msgstr "WRN^1 і 5 хвилин" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:168 -msgid "Hit indicator" -msgstr "Покажчик влучень" +#: qcsrc/menu/xonotic/dialog_settings_audio.c:189 +msgid "Automatic taunts" +msgstr "Автоматичні глузування" -#: qcsrc/menu/xonotic/dialog_settings_audio.c:170 -msgid "Menu sounds" -msgstr "Звуки меню" +#: 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:" @@ -1796,234 +2186,226 @@ msgid "DET^Insane" msgstr "DET^Божевільна" #: qcsrc/menu/xonotic/dialog_settings_effects.c:62 -msgid "Antialiasing:" -msgstr "Антиаліасінг:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:64 -msgid "AA^Disabled" -msgstr "AA^Вимкнуто" - -#: 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 "Роздільність текстур:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:73 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:65 msgid "RES^Leet" msgstr "RES^Елітна" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:74 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:66 msgid "RES^Lowest" msgstr "RES^Найнижча" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:75 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:67 +msgid "RES^Very low" +msgstr "RES^Дуже низька" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:68 msgid "RES^Low" msgstr "RES^Низька" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:76 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:69 msgid "RES^Normal" msgstr "RES^Нормальна" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:77 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:70 msgid "RES^Good" msgstr "RES^Добра" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:78 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:71 msgid "RES^Best" msgstr "RES^Найкраща" -#: 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 "Уникати компресії текстур із втратами" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 -msgid "Anisotropy:" -msgstr "Анізотропна фільтрація:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:102 -msgid "ANISO^Disabled" -msgstr "ANISO^Вимкнуто" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:93 +msgid "Use lightmaps" +msgstr "Мапи освітлення" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:105 -msgid "8x" -msgstr "8x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:94 +msgid "Deluxe mapping" +msgstr "Текстурування deluxe" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 -msgid "16x" -msgstr "16x" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:96 +msgid "Gloss" +msgstr "Блиск" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 -msgid "Particle quality:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:100 +msgid "Particles quality:" msgstr "Якість часток:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:113 -msgid "Particle distance:" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:103 +msgid "Particles distance:" msgstr "Відстань часток:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:117 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:106 +msgid "Damage effects:" +msgstr "Ефекти шкоди:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:108 +msgid "DMGPRTCLS^Disabled" +msgstr "DMGPRTCLS^Вимкнуті" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:109 +msgid "DMGPRTCLS^Skeletal" +msgstr "DMGPRTCLS^Скелетні" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:110 +msgid "DMGPRTCLS^All" +msgstr "DMGPRTCLS^Всі" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:114 msgid "Decals" msgstr "Сліди" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:118 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:115 msgid "Decals on models" msgstr "Сліди на моделях" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:122 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:119 msgid "Distance:" msgstr "Відстань:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:128 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:125 msgid "Time:" msgstr "Час:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 -msgid "Use lightmaps" -msgstr "Мапи освітлення" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:135 -msgid "Deluxe mapping" -msgstr "Текстурування deluxe" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:137 -msgid "Gloss" -msgstr "Блиск" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:140 -msgid "Offset mapping" -msgstr "Офсетне текстурування" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 -msgid "Relief mapping" -msgstr "Рельєфне текстурування" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:145 -msgid "Reflections:" -msgstr "Віддзеркалення:" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:148 -msgid "Blurred" -msgstr "Розмиті" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 -msgid "REFL^Good" -msgstr "REFL^Добрі" - -#: qcsrc/menu/xonotic/dialog_settings_effects.c:150 -msgid "Sharp" -msgstr "Чіткі" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:131 +msgid "Coronas" +msgstr "Корони" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 -msgid "Show surfaces" -msgstr "Показувати поверхні" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:132 +msgid "Use Occlusion Queries" +msgstr "Використовувати Occlusion Queries" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:134 msgid "No dynamic lighting" msgstr "Без динамічного освітлення" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 -msgid "Flash blend approximation" -msgstr "Приблинзні розрахунки змішуванянн спалахів" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:136 +msgid "Fake corona lighting" +msgstr "Фальшиве освітлення коронами" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:161 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:138 msgid "Realtime dynamic lighting" msgstr "Динамаічне освітлення у реальному часі" -#: 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 "Тіні" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:165 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:142 msgid "Realtime world lighting" msgstr "Освітлення світу у реальному часі" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:170 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:147 msgid "Use normal maps" msgstr "Використовувати карти нормалів" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:172 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:149 msgid "Soft shadows" msgstr "М'які тіні" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:175 -msgid "Coronas" -msgstr "Корони" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:153 +msgid "Show surfaces" +msgstr "Показувати поверхні" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:176 -msgid "Use Occlusion Queries" -msgstr "Використовувати Occlusion Queries" +#: qcsrc/menu/xonotic/dialog_settings_effects.c:155 +msgid "Offset mapping" +msgstr "Офсетне текстурування" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:157 +msgid "Relief mapping" +msgstr "Рельєфне текстурування" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:159 +msgid "LOD" +msgstr "LOD" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:178 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:162 msgid "Bloom" msgstr "Ефект bloom" -#: 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 "Віддзеркалення:" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:167 +msgid "Blurred" +msgstr "Розмиті" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:168 +msgid "REFL^Good" +msgstr "REFL^Добрі" + +#: qcsrc/menu/xonotic/dialog_settings_effects.c:169 +msgid "Sharp" +msgstr "Чіткі" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:184 +#: qcsrc/menu/xonotic/dialog_settings_effects.c:174 msgid "Motion blur:" msgstr "Ефект motion blur:" -#: qcsrc/menu/xonotic/dialog_settings_effects.c:189 -msgid "Blur and sharpen postprocessing" -msgstr "Післяобробка" +#: 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 "Клавіши керування:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:31 +#: qcsrc/menu/xonotic/dialog_settings_input.c:30 msgid "Change key..." msgstr "Змінити клавішу..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:35 +#: qcsrc/menu/xonotic/dialog_settings_input.c:34 msgid "Edit..." msgstr "Редагувати..." -#: qcsrc/menu/xonotic/dialog_settings_input.c:46 -msgid "Sensitivity:" -msgstr "Чутливість:" +#: qcsrc/menu/xonotic/dialog_settings_input.c:45 +msgid "Pressing \"enter console\" key also closes it" +msgstr "Кнопка \"увійти в консоль\" також закриває її" + +#: 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 "Швидкість миші в інтерфейсі" +#: 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_input.c:55 -msgid "Mouse filter" -msgstr "Фільтр миші" +#: qcsrc/menu/xonotic/dialog_settings_input.c:61 +msgid "Mouse:" +msgstr "Миша:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:57 -msgid "Invert mouse" -msgstr "Інвертувати мишу" +#: qcsrc/menu/xonotic/dialog_settings_input.c:64 +msgid "Sensitivity:" +msgstr "Чутливість:" -#: qcsrc/menu/xonotic/dialog_settings_input.c:60 -#: qcsrc/menu/xonotic/dialog_settings_input.c:62 -msgid "Use joystick input" -msgstr "Використовувати джойстик" +#: qcsrc/menu/xonotic/dialog_settings_input.c:68 +msgid "Smooth aiming" +msgstr "Згладжувати прицілювання" -#: qcsrc/menu/xonotic/dialog_settings_input.c:65 -#: qcsrc/menu/xonotic/dialog_settings_input.c:67 -msgid "Turn off OS mouse acceleration" -msgstr "Вимкнути прискорення миші операційною системою" +#: qcsrc/menu/xonotic/dialog_settings_input.c:71 +msgid "Invert aiming" +msgstr "Інвертувати прицілювання" -#: qcsrc/menu/xonotic/dialog_settings_input.c:69 -msgid "\"enter console\" also closes" -msgstr "\"увійти в консоль\" також закриває консоль" +#: 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_input.c:72 -msgid "Holding jump key keeps jumping" -msgstr "Утримування клавіши стрибка продовжує стрибання" +#: qcsrc/menu/xonotic/dialog_settings_input.c:85 +msgid "Enable built in mouse acceleration" +msgstr "Увімкнути вбудоване прискорення миші" #: qcsrc/menu/xonotic/dialog_settings_input_userbind.c:5 msgid "User defined key bind" @@ -2046,103 +2428,268 @@ msgid "Cancel" msgstr "Відміна" #: qcsrc/menu/xonotic/dialog_settings_misc.c:26 -msgid "Menu skins:" -msgstr "Вигляд меню:" - -#: qcsrc/menu/xonotic/dialog_settings_misc.c:47 -msgid "Show current time" -msgstr "Показувати поточний час" - -#: qcsrc/menu/xonotic/dialog_settings_misc.c:49 -msgid "Show current date" -msgstr "Показувати поточну дату" - -#: qcsrc/menu/xonotic/dialog_settings_misc.c:51 -msgid "Show frames per second" -msgstr "Показувати кількість кадрів в секунду" - -#: qcsrc/menu/xonotic/dialog_settings_misc.c:53 -msgid "Minimize input latency" -msgstr "Зменшувати затримку вводу" - -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 -msgid "Advanced settings" -msgstr "Додаткові налаштування" - -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:23 -msgid "Cvar filter:" -msgstr "Фільтр cvar:" - -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:34 -msgid "Setting:" -msgstr "Налаштування:" +msgid "Network:" +msgstr "Мережа:" -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:42 -msgid "Value:" -msgstr "Значення:" - -#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:56 -msgid "Description:" -msgstr "Опис:" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:26 -msgid "Client-side movement prediction" -msgstr "Передбачення руху зі сторони клієнта" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:30 -msgid "Show netgraph" -msgstr "Показувати графік мережі" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:33 -msgid "Network speed:" -msgstr "Швидкість мережі:" - -#: qcsrc/menu/xonotic/dialog_settings_network.c:35 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:31 msgid "56k" msgstr "56k" -#: qcsrc/menu/xonotic/dialog_settings_network.c:36 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:32 msgid "ISDN" msgstr "ISDN" -#: qcsrc/menu/xonotic/dialog_settings_network.c:37 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:33 msgid "Slow ADSL" msgstr "Повільний ADSL" -#: qcsrc/menu/xonotic/dialog_settings_network.c:38 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:34 msgid "Fast ADSL" msgstr "Швидкій ADSL" -#: qcsrc/menu/xonotic/dialog_settings_network.c:39 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:35 msgid "Broadband" msgstr "Широкополосний доступ" -#: qcsrc/menu/xonotic/dialog_settings_network.c:42 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:39 msgid "Input packets/s:" msgstr "Вхідні пакети:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:46 -msgid "HTTP downloads:" -msgstr "Завантаження через HTTP:" +#: 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 "UDP порт клієнта:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:55 +msgid "Show netgraph" +msgstr "Показувати графік мережі" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:59 +msgid "Client-side movement prediction" +msgstr "Передбачення руху зі сторони клієнта" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:62 +msgid "Movement error compensation" +msgstr "Компенсація помилок руху" -#: qcsrc/menu/xonotic/dialog_settings_network.c:49 +#: qcsrc/menu/xonotic/dialog_settings_misc.c:66 msgid "Downloads:" msgstr "Завантажень:" -#: qcsrc/menu/xonotic/dialog_settings_network.c:53 +#: 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 "Швидкість (кб/с):" -#: qcsrc/menu/xonotic/dialog_settings_network.c:57 -msgid "Client UDP port:" -msgstr "UDP порт клієнта:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:78 +msgid "Framerate:" +msgstr "Кадри за секунду:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:26 -msgid "Resolution:" -msgstr "Роздільність:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:83 +msgid "MAXFPS^5 fps" +msgstr "MAXFPS^5 fps" -#: qcsrc/menu/xonotic/dialog_settings_video.c:29 -msgid "Font/UI size:" +#: qcsrc/menu/xonotic/dialog_settings_misc.c:84 +msgid "MAXFPS^10 fps" +msgstr "MAXFPS^10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:85 +msgid "MAXFPS^20 fps" +msgstr "MAXFPS^20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:86 +msgid "MAXFPS^30 fps" +msgstr "MAXFPS^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:87 +msgid "MAXFPS^40 fps" +msgstr "MAXFPS^40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:88 +msgid "MAXFPS^50 fps" +msgstr "MAXFPS^50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:89 +msgid "MAXFPS^60 fps" +msgstr "MAXFPS^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:90 +msgid "MAXFPS^70 fps" +msgstr "MAXFPS^70 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:91 +msgid "MAXFPS^100 fps" +msgstr "MAXFPS^100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:92 +msgid "MAXFPS^125 fps" +msgstr "MAXFPS^125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:93 +msgid "MAXFPS^200 fps" +msgstr "MAXFPS^200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:94 +msgid "MAXFPS^Unlimited" +msgstr "MAXFPS^Необмежено" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:98 +msgid "Target:" +msgstr "Ціль:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:100 +msgid "TRGT^Disabled" +msgstr "TRGT^Вимкнуто" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:101 +msgid "TRGT^30 fps" +msgstr "TRGT^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:102 +msgid "TRGT^40 fps" +msgstr "TRGT^40 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:103 +msgid "TRGT^50 fps" +msgstr "TRGT^50 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:104 +msgid "TRGT^60 fps" +msgstr "TRGT^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:105 +msgid "TRGT^100 fps" +msgstr "TRGT^100 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:106 +msgid "TRGT^125 fps" +msgstr "TRGT^125 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:107 +msgid "TRGT^200 fps" +msgstr "TRGT^200 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:111 +msgid "Idle limit:" +msgstr "Ліміт часу бездіяльності:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:113 +msgid "IDLFPS^10 fps" +msgstr "IDLFPS^10 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:114 +msgid "IDLFPS^20 fps" +msgstr "IDLFPS^20 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:115 +msgid "IDLFPS^30 fps" +msgstr "IDLFPS^30 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:116 +msgid "IDLFPS^60 fps" +msgstr "IDLFPS^60 fps" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:117 +msgid "IDLFPS^Unlimited" +msgstr "IDLFPS^Необмежено" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:122 +msgid "Show frames per second" +msgstr "Показувати кількість кадрів в секунду" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:125 +msgid "Save processing time for other apps" +msgstr "Зберігати процесорний час для інших програм" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:129 +msgid "Menu tooltips:" +msgstr "Підказки в меню:" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:131 +msgid "TLTIP^Disabled" +msgstr "TLTIP^Вимкнуті" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:132 +msgid "TLTIP^Standard" +msgstr "TLTIP^Стандартно" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:133 +msgid "TLTIP^Advanced" +msgstr "TLTIP^Розширені" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:137 +msgid "Show current time" +msgstr "Показувати поточний час" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:139 +msgid "Show current date" +msgstr "Показувати поточну дату" + +#: qcsrc/menu/xonotic/dialog_settings_misc.c:141 +msgid "Enable developer mode" +msgstr "Увімкнути режим розробника" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:5 +msgid "Advanced settings" +msgstr "Додаткові налаштування" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:31 +msgid "Cvar filter:" +msgstr "Фільтр cvar:" + +#: qcsrc/menu/xonotic/dialog_settings_misc_cvars.c:44 +msgid "Setting:" +msgstr "Налаштування:" + +#: 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/dialog_settings_user.c:27 +msgid "Menu skins:" +msgstr "Вигляд меню:" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:31 +msgid "Set skin" +msgstr "Встановити скин" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:74 +msgid "Set language" +msgstr "Змінити мову" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:79 +msgid "Disable gore effects and harsh language" +msgstr "Вимкнути криваві ефекти та нецензурні слова" + +#: qcsrc/menu/xonotic/dialog_settings_user.c:82 +msgid "Allow player statistics to track your client" +msgstr "Дозволити збір статистика про вашого гравця" + +#: 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:" +msgstr "Роздільність:" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:29 +msgid "Font/UI size:" msgstr "Розмір шрифту/інтерфейсу:" #: qcsrc/menu/xonotic/dialog_settings_video.c:31 @@ -2185,94 +2732,148 @@ msgstr "SZ^Колосальний" msgid "Color depth:" msgstr "Глибина кольору:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:44 +msgid "16bit" +msgstr "16bit" + #: qcsrc/menu/xonotic/dialog_settings_video.c:45 +msgid "32bit" +msgstr "32bit" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:48 msgid "Full screen" msgstr "На повний екран" -#: qcsrc/menu/xonotic/dialog_settings_video.c:46 +#: qcsrc/menu/xonotic/dialog_settings_video.c:49 msgid "Vertical Synchronization" msgstr "Вертикальна синхронізація" -#: qcsrc/menu/xonotic/dialog_settings_video.c:49 -msgid "Use OpenGL 2.0 shaders (GLSL)" -msgstr "Використовувати шейдери OpenGL 2.0 (GLSL)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:53 +msgid "Anisotropy:" +msgstr "Анізотропна фільтрація:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:52 -msgid "Use GLSL to handle color control" -msgstr "Використовувати GLSL для управління кольором" +#: qcsrc/menu/xonotic/dialog_settings_video.c:55 +msgid "ANISO^Disabled" +msgstr "ANISO^Вимкнуто" #: qcsrc/menu/xonotic/dialog_settings_video.c:56 -msgid "Vertex Buffer Objects (VBOs)" -msgstr "Vertex Buffer Objects (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 "VBO^Вимкнуто" +msgid "16x" +msgstr "16x" -#: qcsrc/menu/xonotic/dialog_settings_video.c:60 -msgid "Vertices, some Tris (compatible)" -msgstr "Вершини, деякі трикутники (сумісний)" +#: qcsrc/menu/xonotic/dialog_settings_video.c:62 +msgid "Antialiasing:" +msgstr "Антиаліасінг:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:63 -msgid "Vertices" -msgstr "Вершини" +#: qcsrc/menu/xonotic/dialog_settings_video.c:65 +msgid "AA^Disabled" +msgstr "AA^Вимкнуто" -#: qcsrc/menu/xonotic/dialog_settings_video.c:64 -msgid "Vertices and Triangles" -msgstr "Вершини та трикутники" +#: 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 "Глибина спершу:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:69 +#: qcsrc/menu/xonotic/dialog_settings_video.c:78 msgid "DF^Disabled" msgstr "DF^Вимкнуто" -#: qcsrc/menu/xonotic/dialog_settings_video.c:70 +#: qcsrc/menu/xonotic/dialog_settings_video.c:79 msgid "DF^World" msgstr "DF^Світ" -#: qcsrc/menu/xonotic/dialog_settings_video.c:71 +#: qcsrc/menu/xonotic/dialog_settings_video.c:80 msgid "DF^All" msgstr "DF^Все" -#: qcsrc/menu/xonotic/dialog_settings_video.c:75 -msgid "Disable multithreaded OpenGL" -msgstr "Вимкнути багатопотоковий OpenGL" +#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +msgid "Vertex Buffer Objects (VBOs)" +msgstr "Vertex Buffer Objects (VBOs)" -#: qcsrc/menu/xonotic/dialog_settings_video.c:77 -msgid "Wait for GPU to finish each frame" -msgstr "Чекати поки GPU закінчить кожний кадр" +#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +msgid "VBO^Off" +msgstr "VBO^Вимкнуто" -#: qcsrc/menu/xonotic/dialog_settings_video.c:80 +#: qcsrc/menu/xonotic/dialog_settings_video.c:87 +msgid "Vertices, some Tris (compatible)" +msgstr "Вершини, деякі трикутники (сумісний)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:90 +msgid "Vertices" +msgstr "Вершини" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +msgid "Vertices and Triangles" +msgstr "Вершини та трикутники" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:94 msgid "Brightness:" msgstr "Яскравість:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:83 +#: qcsrc/menu/xonotic/dialog_settings_video.c:97 msgid "Contrast:" msgstr "Контраст:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:86 +#: qcsrc/menu/xonotic/dialog_settings_video.c:100 msgid "Gamma:" msgstr "Гамма:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:91 +#: qcsrc/menu/xonotic/dialog_settings_video.c:105 msgid "Contrast boost:" msgstr "Підсилення контрасту:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:96 +#: qcsrc/menu/xonotic/dialog_settings_video.c:110 msgid "Saturation:" msgstr "Насиченість:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:102 +#: qcsrc/menu/xonotic/dialog_settings_video.c:116 msgid "LIT^Ambient:" msgstr "Навколишне освітлення:" -#: qcsrc/menu/xonotic/dialog_settings_video.c:105 +#: qcsrc/menu/xonotic/dialog_settings_video.c:119 msgid "Intensity:" msgstr "Інтенсивність:" +#: qcsrc/menu/xonotic/dialog_settings_video.c:123 +msgid "Use OpenGL 2.0 shaders (GLSL)" +msgstr "Використовувати шейдери OpenGL 2.0 (GLSL)" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:125 +msgid "Use GLSL to handle color control" +msgstr "Використовувати GLSL для управління кольором" + +#: qcsrc/menu/xonotic/dialog_settings_video.c:128 +msgid "Wait for GPU to finish each frame" +msgstr "Чекати поки GPU закінчить кожний кадр" + +#: 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 "Поміняти місцями вид горизонтально" + #: qcsrc/menu/xonotic/dialog_singleplayer.c:4 msgid "Singleplayer" msgstr "Одиночна гра" @@ -2282,6 +2883,22 @@ msgid "Instant action! (random map with bots)" msgstr "Миттєвий бій! (випадкова мапа з ботами)" #: qcsrc/menu/xonotic/dialog_singleplayer.c:137 +msgid "Campaign Difficulty:" +msgstr "Важкість кампанії:" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:138 +msgid "CSKL^Easy" +msgstr "CSKL^Легка" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:139 +msgid "CSKL^Medium" +msgstr "CSKL^Середня" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:140 +msgid "CSKL^Hard" +msgstr "CSKL^Важка" + +#: qcsrc/menu/xonotic/dialog_singleplayer.c:142 msgid "Start Singleplayer!" msgstr "Почати Одиночну гру!" @@ -2317,23 +2934,23 @@ msgstr "рожева" msgid "spectate" msgstr "спостерігати" -#: 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 "Більше не натискайте цю клавішу!" -#: 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 "" -"Шо? В це неможливо грати (m is NULL). Зроблю фільтрацію ще раз, щоб такого " +"Шо? Це неможливо зіграти (m is NULL). Зроблю фільтрацію ще раз, щоб такого " "більше не траплялось.\n" -#: qcsrc/menu/xonotic/maplist.c:286 +#: qcsrc/menu/xonotic/maplist.c:290 #, c-format msgid "%s's Xonotic Server" msgstr "Сервер Xonotic від %s" -#: 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" @@ -2341,7 +2958,11 @@ msgstr "" "Шо? В це неможливо грати (невірний режим гри). Зроблю фільтрацію ще раз, щоб " "такого більше не траплялось.\n" -#: qcsrc/menu/xonotic/playermodel.c:174 +#: qcsrc/menu/xonotic/playerlist.c:118 qcsrc/menu/xonotic/playerlist.c:128 +msgid "spectator" +msgstr "спостерігач" + +#: qcsrc/menu/xonotic/playermodel.c:177 msgid "<no model found>" msgstr "<модель не знайдена>" @@ -2353,23 +2974,23 @@ msgstr "Прибрати" msgid "Bookmark" msgstr "Закладка" -#: qcsrc/menu/xonotic/serverlist.c:527 +#: qcsrc/menu/xonotic/serverlist.c:548 msgid "Ping" msgstr "Пінг" -#: qcsrc/menu/xonotic/serverlist.c:528 +#: qcsrc/menu/xonotic/serverlist.c:549 msgid "Host name" msgstr "Ім'я сервера" -#: qcsrc/menu/xonotic/serverlist.c:529 +#: qcsrc/menu/xonotic/serverlist.c:550 msgid "Map" msgstr "Мапа" -#: qcsrc/menu/xonotic/serverlist.c:530 +#: qcsrc/menu/xonotic/serverlist.c:551 msgid "Type" msgstr "Тип" -#: qcsrc/menu/xonotic/serverlist.c:531 +#: qcsrc/menu/xonotic/serverlist.c:552 msgid "Players" msgstr "Гравці" @@ -2399,27 +3020,27 @@ msgstr "%s дБ" msgid "%dx%d" msgstr "%dx%d" -#: qcsrc/menu/xonotic/util.qc:271 +#: qcsrc/menu/xonotic/util.qc:276 #, c-format msgid "Received HTTP request data for an invalid id %d.\n" msgstr "Отримано дані запиту HTTP для невірного id %d.\n" -#: qcsrc/menu/xonotic/util.qc:286 +#: qcsrc/menu/xonotic/util.qc:291 #, c-format msgid "error receiving update notification: status is %d\n" msgstr "помилка під час отримання сповіщення про оновлення: статус %d\n" -#: qcsrc/menu/xonotic/util.qc:291 +#: qcsrc/menu/xonotic/util.qc:296 msgid "error: received HTML instead of an update notification\n" msgstr "помилка: отримано HTML замість сповіщення про оновлення\n" -#: qcsrc/menu/xonotic/util.qc:296 +#: qcsrc/menu/xonotic/util.qc:301 msgid "error: received carriage returns from update notification server\n" msgstr "" "помилка: отримані символи повернення каретки від сервера сповіщення про " "оновлення\n" -#: qcsrc/menu/xonotic/util.qc:317 +#: qcsrc/menu/xonotic/util.qc:322 #, c-format msgid "" "Update can be downloaded at:\n" @@ -2428,21 +3049,21 @@ msgstr "" "Оновлення можливо завантажити тут:\n" "%s\n" -#: qcsrc/menu/xonotic/util.qc:340 +#: qcsrc/menu/xonotic/util.qc:351 msgid "Autogenerating mapinfo for newly added maps..." msgstr "Створення відомостей про нові мапи..." -#: qcsrc/menu/xonotic/util.qc:370 +#: qcsrc/menu/xonotic/util.qc:381 #, c-format msgid "^1%s TEST BUILD" msgstr "^1%s ТЕСТОВА ЗБІРКА" -#: qcsrc/menu/xonotic/util.qc:428 +#: qcsrc/menu/xonotic/util.qc:439 #, c-format msgid "Update to %s now!" -msgstr "Негайно обновіть версію до %s !" +msgstr "Негайно оновіть версію до %s !" -#: qcsrc/menu/xonotic/util.qc:513 +#: qcsrc/menu/xonotic/util.qc:524 msgid "" "^1ERROR: Texture compression is required but not supported.\n" "^1Expect visual problems.\n" @@ -2450,446 +3071,459 @@ msgstr "" "^1Помилка: Компресія текстур обов'язкова але не підтримується.\n" "^1Очікуйте візуальних проблем.\n" -#: qcsrc/menu/xonotic/util.qc:535 -msgid "Arena" -msgstr "Арена" +#: qcsrc/menu/xonotic/util.qc:643 +msgid "Use default" +msgstr "Використовувати за замовчуванням" -#: qcsrc/menu/xonotic/util.qc:536 -msgid "Assault" -msgstr "Атака" +#: qcsrc/menu/xonotic/util.qc:663 +msgid "Team Color:" +msgstr "Колір команди:" -#: qcsrc/menu/xonotic/util.qc:537 -msgid "Capture The Flag" -msgstr "Захоплення прапору" +#: qcsrc/menu/xonotic/util.qh:50 +msgid "Enable panel" +msgstr "Увімкнути панель" -#: qcsrc/menu/xonotic/util.qc:538 -msgid "Clan Arena" -msgstr "Арена кланів" +#: weapons.qc.tmp:1 +msgid "Rifle" +msgstr "Гвинтівка" -#: qcsrc/menu/xonotic/util.qc:539 -msgid "Deathmatch" -msgstr "Десматч" +#: weapons.qc.tmp:2 +msgid "Machine Gun" +msgstr "Автомат" -#: qcsrc/menu/xonotic/util.qc:540 -msgid "Domination" -msgstr "Панування" +#: weapons.qc.tmp:3 +msgid "Rocket Launcher" +msgstr "Ракетна гармата" -#: qcsrc/menu/xonotic/util.qc:541 -msgid "Freeze Tag" -msgstr "Морозко" +#: weapons.qc.tmp:4 +msgid "Port-O-Launch" +msgstr "Портал-О-Пуск" -#: qcsrc/menu/xonotic/util.qc:542 -msgid "Keepaway" -msgstr "Тримання осторонь" +#: weapons.qc.tmp:5 +msgid "Grappling Hook" +msgstr "Гак" -#: qcsrc/menu/xonotic/util.qc:543 -msgid "Key Hunt" -msgstr "Полювання за ключами" +#: weapons.qc.tmp:6 +msgid "Electro" +msgstr "Електро" -#: qcsrc/menu/xonotic/util.qc:544 -msgid "Last Man Standing" -msgstr "Останній виживший" +#: weapons.qc.tmp:7 +msgid "Laser" +msgstr "Лазер" -#: qcsrc/menu/xonotic/util.qc:545 -msgid "Nexball" -msgstr "Нексбол" +#: weapons.qc.tmp:8 +msgid "Shotgun" +msgstr "Рушниця" -#: qcsrc/menu/xonotic/util.qc:546 -msgid "Onslaught" -msgstr "Штурм" +#: weapons.qc.tmp:9 +#, c-format +msgid "@!#%'n Tuba" +msgstr "@!#%'а Туба" -#: qcsrc/menu/xonotic/util.qc:547 -msgid "Race" -msgstr "Гонка" +#: weapons.qc.tmp:10 +msgid "MinstaNex" +msgstr "МінстаНекс" -#: qcsrc/menu/xonotic/util.qc:548 -msgid "Race CTS" -msgstr "Гонка CTS" +#: weapons.qc.tmp:11 +msgid "Crylink" +msgstr "Крайлінк" -#: qcsrc/menu/xonotic/util.qc:549 -msgid "Runematch" -msgstr "Рунний матч" +#: weapons.qc.tmp:12 +msgid "Heavy Laser Assault Cannon" +msgstr "Важка Лазерна Штурмова Гармата" -#: qcsrc/menu/xonotic/util.qc:550 -msgid "Team Deathmatch" -msgstr "Командний десматч" +#: weapons.qc.tmp:13 +msgid "Mortar" +msgstr "Мортира" -#: qcsrc/menu/xonotic/util.qc:569 -#, c-format -msgid "@!#%'n Tuba Throwing" -msgstr "Кидання @!#%'ї Туби" +#: weapons.qc.tmp:14 +msgid "Hagar" +msgstr "Хейгар" -#: qcsrc/menu/xonotic/util.qc:589 qcsrc/menu/xonotic/util.qc:605 -#: qcsrc/menu/xonotic/util.qc:614 qcsrc/menu/xonotic/util.qc:622 -#: qcsrc/menu/xonotic/util.qc:634 -msgid "Default" -msgstr "За замовчуванням" +#: weapons.qc.tmp:15 +msgid "T.A.G. Seeker" +msgstr "Шукач T.A.G." -#: qcsrc/menu/xonotic/util.qc:600 -msgid "Use default" -msgstr "Використовувати за замовчуванням" +#: weapons.qc.tmp:16 +msgid "Fireball" +msgstr "Метеор" -#: qcsrc/menu/xonotic/util.qc:620 -msgid "Team Color:" -msgstr "Колір команди:" +#: weapons.qc.tmp:17 +msgid "Mine Layer" +msgstr "Міноукладчик" -#: qcsrc/menu/xonotic/util.qh:47 -msgid "Enable panel" -msgstr "Увімкнути панель" +#: weapons.qc.tmp:18 +msgid "Nex" +msgstr "Некс" -#: qcsrc/server/w_crylink.qc:2 -msgid "Crylink" -msgstr "Крайлінк" +#~ msgid "Pinata" +#~ msgstr "Піньята" -#: qcsrc/server/w_crylink.qc:666 -#, c-format -msgid "%s succeeded at self-destructing themself with the Crylink" -msgstr "%s успішно самознищив себе за допомогою Крайлінка" +#~ msgid "%s was riddled full of holes by %s" +#~ msgstr "%s виглядає як решето завдяки %s" -#: qcsrc/server/w_crylink.qc:671 -#, c-format -msgid "%s could not hide from %s's Crylink" -msgstr "%s не зміг сховатися від Крайлінка %s's" +#~ msgid "%s died of %s's great playing on the @!#%%'n Tuba" +#~ msgstr "%s помер від чудової гри %s's на @!#%%'й Тубі" -#: qcsrc/server/w_crylink.qc:673 -#, c-format -msgid "%s was too close to %s's Crylink" -msgstr "%s був надто близько до Крайлінка %s's" +#~ msgid "%s hurt his own ears with the @!#%%'n Tuba" +#~ msgstr "%s шкодить своїм вухам власною @!#%%'ю Тубою" -#: qcsrc/server/w_crylink.qc:675 -#, c-format -msgid "%s took a close look at %s's Crylink" -msgstr "%s роздивився Крайлінк %s's з близька" +#~ msgid "%s was gunned by %s" +#~ msgstr "%s був пристрелений %s" -#: qcsrc/server/w_electro.qc:2 -msgid "Electro" -msgstr "Електро" +#~ msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" +#~ msgstr "%2$s ^7прибив %1$s ^7великою ^2рушницею" -#: qcsrc/server/w_electro.qc:574 -#, c-format -msgid "%s could not remember where they put plasma" -msgstr "%s не зміг згадати куди вони поклали плазму" +#~ msgid "%s was tagged by %s" +#~ msgstr "%s був мічений %s" -#: qcsrc/server/w_electro.qc:576 -#, c-format -msgid "%s played with plasma" -msgstr "%s догрався з плазмою" +#~ msgid "%s ate %s's rocket" +#~ msgstr "%s з'їв ракету %s's" -#: qcsrc/server/w_electro.qc:583 -#, c-format -msgid "%s just noticed %s's blue ball" -msgstr "%s тільк-но помітив блакитну кулю %s's" +#~ msgid "%s almost dodged %s's rocket" +#~ msgstr "%s майже ухилився від ракети %s's" -#: qcsrc/server/w_electro.qc:585 -#, c-format -msgid "%s got in touch with %s's blue ball" -msgstr "%s доторкнувся до блакитної кулі %s's" +#~ msgid "%s got too close to %s's rocket" +#~ msgstr "%s опинився надто близько до ракети %s's" -#: qcsrc/server/w_electro.qc:590 -#, c-format -msgid "%s felt the electrifying air of %s's combo" -msgstr "%s відчув наелектризоване повітря від комбо %s's" +#~ msgid "%s was sniped by %s" +#~ msgstr "%s був підстрелений %s" -#: qcsrc/server/w_electro.qc:592 -#, c-format -msgid "%s got too close to %s's blue beam" -msgstr "%s опинився надто близько до блакитного проміння %s's" +#~ msgid "%s got hit in the head by %s" +#~ msgstr "%s втратив голову від кулі %s" -#: qcsrc/server/w_electro.qc:594 -#, c-format -msgid "%s was blasted by %s's blue beam" -msgstr "%s був знищений блакитним промінням %s's" +#~ msgid "%s failed to hide from %s's rifle" +#~ msgstr "%s не зміг сховатися від гвинтівки %s's" -#: qcsrc/server/w_fireball.qc:2 -msgid "Fireball" -msgstr "Метеор" +#~ msgid "%s died in %s's bullet hail" +#~ msgstr "%s помер у граді куль %s's" -#: qcsrc/server/w_fireball.qc:417 -#, c-format -msgid "%s forgot about some firemine" -msgstr "%s забув про вогняну міну" +#~ msgid "%s failed to hide from %s's bullet hail" +#~ msgstr "%s не зміг сховатися від граду куль %s'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 треба було використати меншу гармату" +#~ msgid "%s sniped themself somehow" +#~ msgstr "%s примудрився пристрелити себе" -#: qcsrc/server/w_fireball.qc:426 -#, c-format -msgid "%s tried to catch %s's firemine" -msgstr "%s спробував піймати вогняну міну %s's" +#~ msgid "%s shot themself automatically" +#~ msgstr "%s пристрелив себе несвідомо" -#: qcsrc/server/w_fireball.qc:428 -#, c-format -msgid "%s fatefully ignored %s's firemine" -msgstr "%s фатально проґавив метеор %s's" +#~ msgid "%s felt %s doing the impossible to him" +#~ msgstr "%s відчув як %s зробив з ним неможливе" -#: qcsrc/server/w_fireball.qc:435 -#, c-format -msgid "%s could not hide from %s's fireball" -msgstr "%s не зміг сховатися від метеора %s's" +#~ msgid "%s has been vaporized by %s" +#~ msgstr "%s був випаровуваний %s" -#: qcsrc/server/w_fireball.qc:437 -#, c-format -msgid "%s saw the pretty lights of %s's fireball" -msgstr "%s побачив гарненькі вогники метеора %s's" +#~ msgid "%s is now thinking with portals" +#~ msgstr "%s тепер думає з порталами у голові" -#: qcsrc/server/w_fireball.qc:440 -#, c-format -msgid "%s got too close to %s's fireball" -msgstr "%s підійшов надто близько до метеора %s's" +#~ msgid "%s stepped on %s's mine" +#~ msgstr "%s наступив на міну %s's" -#: qcsrc/server/w_fireball.qc:442 -#, c-format -msgid "%s tasted %s's fireball" -msgstr "%s скуштував метеор %s's" +#~ msgid "%s almost dodged %s's mine" +#~ msgstr "%s майже ухилився від міни %s's" -#: qcsrc/server/w_grenadelauncher.qc:2 -msgid "Mortar" -msgstr "Мортира" +#~ msgid "%s got too close to %s's mine" +#~ msgstr "%s опинився надто близько до міни %s's" -#: qcsrc/server/w_grenadelauncher.qc:383 -#, c-format -msgid "%s tried out his own grenade" -msgstr "%s скуштував свою власну гранату" +#~ msgid "%s exploded" +#~ msgstr "%s вибухнув" -#: qcsrc/server/w_grenadelauncher.qc:385 -#, c-format -msgid "%s detonated" -msgstr "%s вибухнув" +#~ msgid "%s was lasered to death by %s" +#~ msgstr "%s згорів від лазеру %s" -#: qcsrc/server/w_grenadelauncher.qc:391 -#, c-format -msgid "%s didn't see %s's grenade" -msgstr "%s не побачив гранату %s's" +#~ msgid "%s was cut in half by %s's gauntlet" +#~ msgstr "%s був розрізаний навпіл рукавицею %s's" -#: qcsrc/server/w_grenadelauncher.qc:393 -#, c-format -msgid "%s almost dodged %s's grenade" -msgstr "%s майже ухилився від гранати %s's" +#~ msgid "%s lasered themself to hell" +#~ msgstr "%s відправив себе лазером прямо в пекло" -#: qcsrc/server/w_grenadelauncher.qc:395 -#, c-format -msgid "%s ate %s's grenade" -msgstr "%s з'їв гранату %s's" +#~ msgid "%s has run into %s's gravity bomb" +#~ msgstr "%s вбіг у гравітаційну бомбу %s's" -#: qcsrc/server/w_hagar.qc:2 -msgid "Hagar" -msgstr "Хейгар" +#~ msgid "%s did the impossible" +#~ msgstr "%s зробив неможливе" -#: qcsrc/server/w_hagar.qc:395 qcsrc/server/w_seeker.qc:655 -#, c-format -msgid "%s played with tiny rockets" -msgstr "%s догрався з маленькими ракетами" +#~ msgid "%s was cut down by %s" +#~ msgstr "%s був підрізаний %s" -#: qcsrc/server/w_hagar.qc:399 -#, c-format -msgid "%s hoped %s's missiles wouldn't bounce" -msgstr "%s понадіявся що ракета %s's не відскочить" +#~ msgid "%s was pummeled by %s" +#~ msgstr "%s був віддубасений %s" -#: qcsrc/server/w_hagar.qc:401 qcsrc/server/w_seeker.qc:661 -#, c-format -msgid "%s was pummeled by %s" -msgstr "%s був віддубасений %s" +#~ msgid "%s hoped %s's missiles wouldn't bounce" +#~ msgstr "%s понадіявся що ракета %s's не відскочить" -#: qcsrc/server/w_hlac.qc:2 -msgid "Heavy Laser Assault Cannon" -msgstr "Важка Лазерна Штурмова Гармата" +#~ msgid "%s played with tiny rockets" +#~ msgstr "%s догрався з маленькими ракетами" -#: qcsrc/server/w_hlac.qc:242 -#, c-format -msgid "%s was cut down by %s" -msgstr "%s був підрізаний %s" +#~ msgid "%s ate %s's grenade" +#~ msgstr "%s з'їв гранату %s's" -#: qcsrc/server/w_hook.qc:2 -msgid "Grappling Hook" -msgstr "Гак" +#~ msgid "%s almost dodged %s's grenade" +#~ msgstr "%s майже ухилився від гранати %s's" -#: qcsrc/server/w_hook.qc:266 qcsrc/server/w_porto.qc:296 -#, c-format -msgid "%s did the impossible" -msgstr "%s зробив неможливе" +#~ msgid "%s didn't see %s's grenade" +#~ msgstr "%s не побачив гранату %s's" -#: qcsrc/server/w_hook.qc:268 -#, c-format -msgid "%s has run into %s's gravity bomb" -msgstr "%s вбіг у гравітаційну бомбу %s's" +#~ msgid "%s detonated" +#~ msgstr "%s вибухнув" -#: qcsrc/server/w_laser.qc:2 -msgid "Laser" -msgstr "Лазер" +#~ msgid "%s tried out his own grenade" +#~ msgstr "%s скуштував свою власну гранату" -#: qcsrc/server/w_laser.qc:311 -#, c-format -msgid "%s lasered themself to hell" -msgstr "%s відправив себе лазером прямо в пекло" +#~ msgid "%s tasted %s's fireball" +#~ msgstr "%s скуштував метеор %s's" -#: qcsrc/server/w_laser.qc:315 -#, c-format -msgid "%s was cut in half by %s's gauntlet" -msgstr "%s був розрізаний навпіл рукавицею %s's" +#~ msgid "%s got too close to %s's fireball" +#~ msgstr "%s підійшов надто близько до метеора %s's" -#: qcsrc/server/w_laser.qc:317 -#, c-format -msgid "%s was lasered to death by %s" -msgstr "%s згорів від лазеру %s" +#~ msgid "%s saw the pretty lights of %s's fireball" +#~ msgstr "%s побачив гарненькі вогники метеора %s's" -#: qcsrc/server/w_minelayer.qc:2 -msgid "Mine Layer" -msgstr "Міноукладчик" +#~ msgid "%s could not hide from %s's fireball" +#~ msgstr "%s не зміг сховатися від метеора %s's" -#: qcsrc/server/w_minelayer.qc:523 qcsrc/server/w_rocketlauncher.qc:501 -#, c-format -msgid "%s exploded" -msgstr "%s вибухнув" +#~ msgid "%s fatefully ignored %s's firemine" +#~ msgstr "%s фатально проґавив метеор %s's" -#: qcsrc/server/w_minelayer.qc:527 -#, c-format -msgid "%s got too close to %s's mine" -msgstr "%s опинився надто близько до міни %s's" +#~ msgid "%s tried to catch %s's firemine" +#~ msgstr "%s спробував піймати вогняну міну %s's" -#: qcsrc/server/w_minelayer.qc:529 -#, c-format -msgid "%s almost dodged %s's mine" -msgstr "%s майже ухилився від міни %s's" +#~ msgid "%s should have used a smaller gun" +#~ msgstr "%s треба було використати меншу гармату" -#: qcsrc/server/w_minelayer.qc:531 -#, c-format -msgid "%s stepped on %s's mine" -msgstr "%s наступив на міну %s's" +#~ msgid "%s forgot about some firemine" +#~ msgstr "%s забув про вогняну міну" -#: qcsrc/server/w_minstanex.qc:2 -msgid "MinstaNex" -msgstr "МінстаНекс" +#~ msgid "%s was blasted by %s's blue beam" +#~ msgstr "%s був знищений блакитним промінням %s's" -#: 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 тепер думає з порталами у голові" +#~ msgid "%s got too close to %s's blue beam" +#~ msgstr "%s опинився надто близько до блакитного проміння %s'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" +#~ msgid "%s felt the electrifying air of %s's combo" +#~ msgstr "%s відчув наелектризоване повітря від комбо %s's" -#: qcsrc/server/w_nex.qc:2 -msgid "Nex" -msgstr "Некс" +#~ msgid "%s got in touch with %s's blue ball" +#~ msgstr "%s доторкнувся до блакитної кулі %s's" -#: qcsrc/server/w_porto.qc:2 -msgid "Port-O-Launch" -msgstr "Портал-О-Пуск" +#~ msgid "%s just noticed %s's blue ball" +#~ msgstr "%s тільк-но помітив блакитну кулю %s's" -#: qcsrc/server/w_porto.qc:298 -#, c-format -msgid "%s felt %s doing the impossible to him" -msgstr "%s відчув як %s зробив з ним неможливе" +#~ msgid "%s played with plasma" +#~ msgstr "%s догрався з плазмою" -#: qcsrc/server/w_rifle.qc:2 -msgid "Rifle" -msgstr "Гвинтівка" +#~ msgid "%s could not remember where they put plasma" +#~ msgstr "%s не зміг згадати куди вони поклали плазму" -#: qcsrc/server/w_rifle.qc:233 -#, c-format -msgid "%s shot themself automatically" -msgstr "%s пристрелив себе несвідомо" +#~ msgid "%s took a close look at %s's Crylink" +#~ msgstr "%s роздивився Крайлінк %s's з близька" -#: qcsrc/server/w_rifle.qc:235 -#, c-format -msgid "%s sniped themself somehow" -msgstr "%s примудрився пристрелити себе" +#~ msgid "%s was too close to %s's Crylink" +#~ msgstr "%s був надто близько до Крайлінка %s's" -#: qcsrc/server/w_rifle.qc:242 -#, c-format -msgid "%s failed to hide from %s's bullet hail" -msgstr "%s не зміг сховатися від граду куль %s's" +#~ msgid "%s could not hide from %s's Crylink" +#~ msgstr "%s не зміг сховатися від Крайлінка %s's" -#: qcsrc/server/w_rifle.qc:244 -#, c-format -msgid "%s died in %s's bullet hail" -msgstr "%s помер у граді куль %s's" +#~ msgid "%s succeeded at self-destructing themself with the Crylink" +#~ msgstr "%s успішно самознищив себе за допомогою Крайлінка" -#: qcsrc/server/w_rifle.qc:251 -#, c-format -msgid "%s failed to hide from %s's rifle" -msgstr "%s не зміг сховатися від гвинтівки %s's" +#~ msgid "Capture The Flag" +#~ msgstr "Захоплення прапору" -#: qcsrc/server/w_rifle.qc:256 -#, c-format -msgid "%s got hit in the head by %s" -msgstr "%s втратив голову від кулі %s" +#~ msgid "Disable multithreaded OpenGL" +#~ msgstr "Вимкнути багатопотоковий OpenGL" -#: qcsrc/server/w_rifle.qc:258 qcsrc/server/w_uzi.qc:321 -#, c-format -msgid "%s was sniped by %s" -msgstr "%s був підстрелений %s" +#~ msgid "HTTP downloads:" +#~ msgstr "Завантаження через HTTP:" -#: qcsrc/server/w_rocketlauncher.qc:2 -msgid "Rocket Launcher" -msgstr "Ракетна гармата" +#~ msgid "Network speed:" +#~ msgstr "Швидкість мережі:" -#: qcsrc/server/w_rocketlauncher.qc:505 -#, c-format -msgid "%s got too close to %s's rocket" -msgstr "%s опинився надто близько до ракети %s's" +#~ msgid "Minimize input latency" +#~ msgstr "Зменшувати затримку вводу" -#: qcsrc/server/w_rocketlauncher.qc:507 -#, c-format -msgid "%s almost dodged %s's rocket" -msgstr "%s майже ухилився від ракети %s's" +#~ msgid "Holding jump key keeps jumping" +#~ msgstr "Утримування клавіши стрибка продовжує стрибання" -#: qcsrc/server/w_rocketlauncher.qc:509 -#, c-format -msgid "%s ate %s's rocket" -msgstr "%s з'їв ракету %s's" +#~ msgid "\"enter console\" also closes" +#~ msgstr "\"увійти в консоль\" також закриває консоль" -#: qcsrc/server/w_seeker.qc:2 -msgid "T.A.G. Seeker" -msgstr "Шукач T.A.G." +#~ msgid "Turn off OS mouse acceleration" +#~ msgstr "Вимкнути прискорення миші операційною системою" -#: qcsrc/server/w_seeker.qc:659 -#, c-format -msgid "%s was tagged by %s" -msgstr "%s був мічений %s" +#~ msgid "Invert mouse" +#~ msgstr "Інвертувати мишу" -#: qcsrc/server/w_shotgun.qc:2 -msgid "Shotgun" -msgstr "Рушниця" +#~ msgid "Mouse filter" +#~ msgstr "Фільтр миші" -#: qcsrc/server/w_shotgun.qc:219 -#, c-format -msgid "%2$s ^7slapped %1$s ^7around a bit with a large ^2shotgun" -msgstr "%2$s ^7прибив %1$s ^7великою ^2рушницею" +#~ msgid "UI mouse speed:" +#~ msgstr "Швидкість миші в інтерфейсі" -#: qcsrc/server/w_shotgun.qc:221 -#, c-format -msgid "%s was gunned by %s" -msgstr "%s був пристрелений %s" +#~ msgid "Blur and sharpen postprocessing" +#~ msgstr "Післяобробка" -#: qcsrc/server/w_tuba.qc:2 -#, c-format -msgid "@!#%'n Tuba" -msgstr "@!#%'а Туба" +#~ msgid "High Dynamic Range (HDR)" +#~ msgstr "High Dynamic Range (HDR)" -#: qcsrc/server/w_tuba.qc:252 -#, c-format -msgid "%s hurt his own ears with the @!#%%'n Tuba" -msgstr "%s шкодить своїм вухам власною @!#%%'ю Тубою" +#~ msgid "Flash blend approximation" +#~ msgstr "Приблинзні розрахунки змішуванянн спалахів" -#: qcsrc/server/w_tuba.qc:256 -#, c-format -msgid "%s died of %s's great playing on the @!#%%'n Tuba" -msgstr "%s помер від чудової гри %s's на @!#%%'й Тубі" +#~ msgid "Particle distance:" +#~ msgstr "Відстань часток:" -#: qcsrc/server/w_uzi.qc:2 -msgid "Machine Gun" -msgstr "Автомат" +#~ msgid "Particle quality:" +#~ msgstr "Якість часток:" -#: qcsrc/server/w_uzi.qc:323 -#, c-format -msgid "%s was riddled full of holes by %s" -msgstr "%s виглядає як решето завдяки %s" +#~ msgid "Hit indicator" +#~ msgstr "Покажчик влучень" -#~ msgid "Pinata" -#~ msgstr "Піньята" +#~ msgid "WRN^None" +#~ msgstr "WRN^Жодного" + +#~ msgid "Time warning:" +#~ msgstr "Попередження про час:" + +#~ msgid "RNG^Full" +#~ msgstr "RNG^Повна" + +#~ msgid "RNG^Long" +#~ msgstr "RNG^Велика" + +#~ msgid "RNG^Normal" +#~ msgstr "RNG^Нормальна" + +#~ msgid "RNG^Short" +#~ msgstr "RNG^Коротка" + +#~ msgid "RNG^Very short" +#~ msgstr "RNG^Дуже коротка" + +#~ msgid "Taunt range:" +#~ msgstr "Дальність глузувань:" + +#~ msgid "VOCS^All" +#~ msgstr "VOCS^Всі" + +#~ msgid "VOCS^Taunts" +#~ msgstr "VOCS^Глузування" + +#~ msgid "VOCS^None" +#~ msgstr "VOCS^Жодних" + +#~ msgid "Spatial voices:" +#~ msgstr "Просторові звуки:" + +#~ msgid "Network" +#~ msgstr "Мережа" + +#~ msgid "All players" +#~ msgstr "Всіх гравців" + +#~ msgid "Teammates" +#~ msgstr "Гравців команди" + +#~ msgid "Show names:" +#~ msgstr "Показувати імена:" + +#~ msgid "Waypoint alpha:" +#~ msgstr "Прозорість дороговказів:" + +#~ msgid "Waypoint scale:" +#~ msgstr "Розмір дороговказів:" + +#~ msgid "Show base waypoints" +#~ msgstr "Показувати основні дороговкази" + +#~ msgid "Damage splash:" +#~ msgstr "Червоний сплеск від шкоди:" + +#~ msgid "Disable gore effects" +#~ msgstr "Вимкнути криваві ефекти" + +#~ msgid "Waypoints setup..." +#~ msgstr "Налаштування дороговказів..." + +#~ msgid "Enemies" +#~ msgstr "Вороги" + +#~ msgid "TrueAim" +#~ msgstr "TrueAim" + +#~ msgid "HTST^None" +#~ msgstr "HTST^Жодного" + +#~ msgid "Hit test:" +#~ msgstr "Тест на влучання:" + +#~ msgid "Size:" +#~ msgstr "Розмір:" + +#~ msgid "Enable center dot" +#~ msgstr "Увімкнути центральну крапку" + +#~ msgid "Crosshair:" +#~ msgstr "Приціл:" + +#~ msgid "Weapon settings..." +#~ msgstr "Налаштування зброї..." + +#~ msgid "Zoom speed:" +#~ msgstr "Швидкість зуму:" + +#~ msgid "Zoom factor:" +#~ msgstr "Сила зуму:" + +#~ msgid "View bobbing:" +#~ msgstr "Гойдання поля зору:" + +#~ msgid "CA:" +#~ msgstr "CA:" + +#~ msgid "Ping:" +#~ msgstr "Пінг:" + +#~ msgid "Gameplay:" +#~ msgstr "Ігровий процес:" + +#~ msgid "required (will encrypt)" +#~ msgstr "обов'язкове (буде шифрувати)" + +#~ msgid "required (can't connect)" +#~ msgstr "обов'язкове (неможливо з'єднатися)" + +#~ msgid "requested (won't encrypt)" +#~ msgstr "запитано (буде шифрувати)" + +#~ msgid "requested (will encrypt)" +#~ msgstr "запитано (не буде шифрувати)" + +#~ msgid "supported (won't encrypt)" +#~ msgstr "підтримується (не буде шифрувати)" + +#~ msgid "supported (will encrypt)" +#~ msgstr "підтримується (буде шифрувати)" + +#~ msgid "not supported (won't encrypt)" +#~ msgstr "не підтримується (не буде шифрувати)" + +#~ msgid "not supported (can't connect)" +#~ msgstr "не підтримується (неможливо з'єднатися)" + +#~ msgid "N/A (can't connect)" +#~ msgstr "Н/Д (неможливо з'єднатися)" + +#~ msgid "Official settings" +#~ msgstr "Офіційні налаштування" + +#~ msgid "%d modified settings" +#~ msgstr "%d змінених налаштувань" + +#~ msgid "%d/%d, %d free player slots" +#~ msgstr "%d/%d, %d вільних місць для гравців" + +#~ msgid "Record demos while playing" +#~ msgstr "Записувати демо під час гри" + +#~ msgid "Match settings:" +#~ msgstr "Налаштування матчу:" diff --git a/models/null.md3 b/models/null.md3 deleted file mode 100644 index 288e88f3f..000000000 Binary files a/models/null.md3 and /dev/null differ diff --git a/models/ok_player/okmale1.dpm b/models/ok_player/okmale1.dpm new file mode 100644 index 000000000..2967c867e Binary files /dev/null and b/models/ok_player/okmale1.dpm differ diff --git a/models/ok_player/okmale1.dpm.framegroups b/models/ok_player/okmale1.dpm.framegroups new file mode 100644 index 000000000..b1ccc04e1 --- /dev/null +++ b/models/ok_player/okmale1.dpm.framegroups @@ -0,0 +1,29 @@ +/* +Generated framegroups file for okmale1 +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 41 30 0 // okmale1 die1 +42 56 30 0 // okmale1 die2 +98 11 15 1 // okmale1 draw +109 6 10 1 // okmale1 duck +115 17 15 1 // okmale1 duckwalk +132 31 40 0 // okmale1 duckjump +163 17 10 1 // okmale1 duckidle +180 101 15 1 // okmale1 idle +281 17 20 1 // okmale1 jump +298 6 10 0 // okmale1 pain1 +304 6 10 0 // okmale1 pain2 +310 6 30 0 // okmale1 shoot +316 17 15 1 // okmale1 taunt +333 17 30 1 // okmale1 run +350 17 30 1 // okmale1 runbackwards +367 17 30 1 // okmale1 strafeleft +384 17 30 1 // okmale1 straferight +401 3 10 0 // okmale1 dead1 +404 3 10 0 // okmale1 dead2 +407 17 30 1 // okmale1 forwardright +424 17 30 1 // okmale1 forwardleft +441 17 30 1 // okmale1 backright +458 17 30 1 // okmale1 backleft +475 21 15 1 // okmale1 melee diff --git a/models/ok_player/okmale1.dpm_0.sounds b/models/ok_player/okmale1.dpm_0.sounds new file mode 100644 index 000000000..a97a073b9 --- /dev/null +++ b/models/ok_player/okmale1.dpm_0.sounds @@ -0,0 +1,32 @@ +//TAG: soldier +//affirmative sound/player/carni-lycan/player/affirmative 0 +attack sound/player/soldier/coms/attack 0 +//attacking sound/player/carni-lycan/player/attacking 0 +attackinfive sound/player/soldier/coms/attackinfive 0 +coverme sound/player/soldier/coms/coverme 0 +defend sound/player/soldier/coms/defend 0 +//defending sound/player/carni-lycan/player/defending 0 +//droppedflag sound/player/carni-lycan/player/droppedflag 0 +flagcarriertakingdamage sound/player/soldier/coms/flagcarriertakingdamage 0 +freelance sound/player/soldier/coms/freelance 2 +getflag sound/player/soldier/coms/getflag 0 +incoming sound/player/soldier/coms/incoming 0 +meet sound/player/soldier/coms/meet 0 +needhelp sound/player/soldier/coms/needhelp 2 +//negative sound/player/carni-lycan/player/negative 0 +//onmyway sound/player/carni-lycan/player/onmyway 0 +//roaming sound/player/carni-lycan/player/roaming 0 +//seenenemy sound/player/carni-lycan/player/seenenemy 0 +seenflag sound/player/soldier/coms/seenflag 0 +taunt sound/player/soldier/coms/taunt 3 +teamshoot sound/player/soldier/coms/teamshoot 3 +death sound/player/soldier/player/death 3 +drown sound/player/soldier/player/drown 0 +fall sound/player/soldier/player/fall 0 +falling sound/player/soldier/player/falling 0 +gasp sound/player/soldier/player/gasp 0 +jump sound/player/soldier/player/jump 0 +pain25 sound/player/soldier/player/pain25 0 +pain50 sound/player/soldier/player/pain50 0 +pain75 sound/player/soldier/player/pain75 0 +pain100 sound/player/soldier/player/pain100 0 diff --git a/models/ok_player/okmale1.dpm_0.txt b/models/ok_player/okmale1.dpm_0.txt new file mode 100644 index 000000000..da0d2a16a --- /dev/null +++ b/models/ok_player/okmale1.dpm_0.txt @@ -0,0 +1,7 @@ +name overkillmale1 +species human +sex Male +weight 105 +age 26 + +overkill solider diff --git a/models/ok_player/okmale2.dpm b/models/ok_player/okmale2.dpm new file mode 100644 index 000000000..326184503 Binary files /dev/null and b/models/ok_player/okmale2.dpm differ diff --git a/models/ok_player/okmale2.dpm.framegroups b/models/ok_player/okmale2.dpm.framegroups new file mode 100644 index 000000000..0568594d8 --- /dev/null +++ b/models/ok_player/okmale2.dpm.framegroups @@ -0,0 +1,29 @@ +/* +Generated framegroups file for okmale2 +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 41 30 0 // okmale2 die1 +42 56 30 0 // okmale2 die2 +98 11 15 1 // okmale2 draw +109 6 10 1 // okmale2 duck +115 17 15 1 // okmale2 duckwalk +132 31 40 0 // okmale2 duckjump +163 17 10 1 // okmale2 duckidle +180 101 15 1 // okmale2 idle +281 17 20 1 // okmale2 jump +298 6 10 0 // okmale2 pain1 +304 6 10 0 // okmale2 pain2 +310 6 30 0 // okmale2 shoot +316 17 15 1 // okmale2 taunt +333 17 30 1 // okmale2 run +350 17 30 1 // okmale2 runbackwards +367 17 30 1 // okmale2 strafeleft +384 17 30 1 // okmale2 straferight +401 3 10 0 // okmale2 dead1 +404 3 10 0 // okmale2 dead2 +407 17 30 1 // okmale2 forwardright +424 17 30 1 // okmale2 forwardleft +441 17 30 1 // okmale2 backright +458 17 30 1 // okmale2 backleft +475 21 15 1 // okmale2 melee diff --git a/models/ok_player/okmale2.dpm_0.sounds b/models/ok_player/okmale2.dpm_0.sounds new file mode 100644 index 000000000..04d959250 --- /dev/null +++ b/models/ok_player/okmale2.dpm_0.sounds @@ -0,0 +1,32 @@ +//TAG: insurrectionist +//affirmative sound/player/insurrectionist/player/affirmative 0 +attack sound/player/insurrectionist/coms/attack 0 +//attacking sound/player/insurrectionist/player/attacking 0 +attackinfive sound/player/insurrectionist/coms/attackinfive 0 +coverme sound/player/insurrectionist/coms/coverme 0 +defend sound/player/insurrectionist/coms/defend 0 +//defending sound/player/insurrectionist/player/defending 0 +//droppedflag sound/player/insurrectionist/player/droppedflag 0 +flagcarriertakingdamage sound/player/insurrectionist/coms/flagcarriertakingdamage 0 +freelance sound/player/insurrectionist/coms/freelance 2 +getflag sound/player/insurrectionist/coms/getflag 0 +incoming sound/player/insurrectionist/coms/incoming 0 +meet sound/player/insurrectionist/coms/meet 0 +needhelp sound/player/insurrectionist/coms/needhelp 2 +//negative sound/player/insurrectionist/player/negative 0 +//onmyway sound/player/insurrectionist/player/onmyway 0 +//roaming sound/player/insurrectionist/player/roaming 0 +//seenenemy sound/player/insurrectionist/player/seenenemy 0 +seenflag sound/player/insurrectionist/coms/seenflag 0 +taunt sound/player/insurrectionist/coms/taunt 3 +teamshoot sound/player/insurrectionist/coms/teamshoot 3 +death sound/player/insurrectionist/player/death 3 +drown sound/player/insurrectionist/player/drown 0 +fall sound/player/insurrectionist/player/fall 0 +falling sound/player/insurrectionist/player/falling 0 +gasp sound/player/insurrectionist/player/gasp 0 +jump sound/player/insurrectionist/player/jump 0 +pain25 sound/player/insurrectionist/player/pain25 0 +pain50 sound/player/insurrectionist/player/pain50 0 +pain75 sound/player/insurrectionist/player/pain75 0 +pain100 sound/player/insurrectionist/player/pain100 0 diff --git a/models/ok_player/okmale2.dpm_0.txt b/models/ok_player/okmale2.dpm_0.txt new file mode 100644 index 000000000..3e3a6cfd8 --- /dev/null +++ b/models/ok_player/okmale2.dpm_0.txt @@ -0,0 +1,7 @@ +name overkillmale1 +species human +sex Male +weight 105 +age 26 + +overkill officer \ No newline at end of file diff --git a/models/ok_player/okmale3.dpm b/models/ok_player/okmale3.dpm new file mode 100644 index 000000000..077dd8419 Binary files /dev/null and b/models/ok_player/okmale3.dpm differ diff --git a/models/ok_player/okmale3.dpm.framegroups b/models/ok_player/okmale3.dpm.framegroups new file mode 100644 index 000000000..3c267eefd --- /dev/null +++ b/models/ok_player/okmale3.dpm.framegroups @@ -0,0 +1,29 @@ +/* +Generated framegroups file for okmale3 +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 41 30 0 // okmale3 die1 +42 56 30 0 // okmale3 die2 +98 11 15 1 // okmale3 draw +109 6 10 1 // okmale3 duck +115 17 15 1 // okmale3 duckwalk +132 31 40 0 // okmale3 duckjump +163 17 10 1 // okmale3 duckidle +180 101 15 1 // okmale3 idle +281 17 20 1 // okmale3 jump +298 6 10 0 // okmale3 pain1 +304 6 10 0 // okmale3 pain2 +310 6 30 0 // okmale3 shoot +316 17 15 1 // okmale3 taunt +333 17 30 1 // okmale3 run +350 17 30 1 // okmale3 runbackwards +367 17 30 1 // okmale3 strafeleft +384 17 30 1 // okmale3 straferight +401 3 10 0 // okmale3 dead1 +404 3 10 0 // okmale3 dead2 +407 17 30 1 // okmale3 forwardright +424 17 30 1 // okmale3 forwardleft +441 17 30 1 // okmale3 backright +458 17 30 1 // okmale3 backleft +475 21 15 1 // okmale3 melee diff --git a/models/ok_player/okmale3.dpm_0.sounds b/models/ok_player/okmale3.dpm_0.sounds new file mode 100644 index 000000000..a97a073b9 --- /dev/null +++ b/models/ok_player/okmale3.dpm_0.sounds @@ -0,0 +1,32 @@ +//TAG: soldier +//affirmative sound/player/carni-lycan/player/affirmative 0 +attack sound/player/soldier/coms/attack 0 +//attacking sound/player/carni-lycan/player/attacking 0 +attackinfive sound/player/soldier/coms/attackinfive 0 +coverme sound/player/soldier/coms/coverme 0 +defend sound/player/soldier/coms/defend 0 +//defending sound/player/carni-lycan/player/defending 0 +//droppedflag sound/player/carni-lycan/player/droppedflag 0 +flagcarriertakingdamage sound/player/soldier/coms/flagcarriertakingdamage 0 +freelance sound/player/soldier/coms/freelance 2 +getflag sound/player/soldier/coms/getflag 0 +incoming sound/player/soldier/coms/incoming 0 +meet sound/player/soldier/coms/meet 0 +needhelp sound/player/soldier/coms/needhelp 2 +//negative sound/player/carni-lycan/player/negative 0 +//onmyway sound/player/carni-lycan/player/onmyway 0 +//roaming sound/player/carni-lycan/player/roaming 0 +//seenenemy sound/player/carni-lycan/player/seenenemy 0 +seenflag sound/player/soldier/coms/seenflag 0 +taunt sound/player/soldier/coms/taunt 3 +teamshoot sound/player/soldier/coms/teamshoot 3 +death sound/player/soldier/player/death 3 +drown sound/player/soldier/player/drown 0 +fall sound/player/soldier/player/fall 0 +falling sound/player/soldier/player/falling 0 +gasp sound/player/soldier/player/gasp 0 +jump sound/player/soldier/player/jump 0 +pain25 sound/player/soldier/player/pain25 0 +pain50 sound/player/soldier/player/pain50 0 +pain75 sound/player/soldier/player/pain75 0 +pain100 sound/player/soldier/player/pain100 0 diff --git a/models/ok_player/okmale3.dpm_0.txt b/models/ok_player/okmale3.dpm_0.txt new file mode 100644 index 000000000..7fa399e58 --- /dev/null +++ b/models/ok_player/okmale3.dpm_0.txt @@ -0,0 +1,7 @@ +name overkillmale3 +species human +sex Male +weight 105 +age 28 + +overkill solider diff --git a/models/ok_player/okmale4.dpm b/models/ok_player/okmale4.dpm new file mode 100644 index 000000000..27f758d43 Binary files /dev/null and b/models/ok_player/okmale4.dpm differ diff --git a/models/ok_player/okmale4.dpm.framegroups b/models/ok_player/okmale4.dpm.framegroups new file mode 100644 index 000000000..7ae2d3806 --- /dev/null +++ b/models/ok_player/okmale4.dpm.framegroups @@ -0,0 +1,29 @@ +/* +Generated framegroups file for okmale4 +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 41 30 0 // okmale4 die1 +42 56 30 0 // okmale4 die2 +98 11 15 1 // okmale4 draw +109 6 10 1 // okmale4 duck +115 17 15 1 // okmale4 duckwalk +132 31 40 0 // okmale4 duckjump +163 17 10 1 // okmale4 duckidle +180 101 15 1 // okmale4 idle +281 17 20 1 // okmale4 jump +298 6 10 0 // okmale4 pain1 +304 6 10 0 // okmale4 pain2 +310 6 30 0 // okmale4 shoot +316 17 15 1 // okmale4 taunt +333 17 30 1 // okmale4 run +350 17 30 1 // okmale4 runbackwards +367 17 30 1 // okmale4 strafeleft +384 17 30 1 // okmale4 straferight +401 3 10 0 // okmale4 dead1 +404 3 10 0 // okmale4 dead2 +407 17 30 1 // okmale4 forwardright +424 17 30 1 // okmale4 forwardleft +441 17 30 1 // okmale4 backright +458 17 30 1 // okmale4 backleft +475 21 15 1 // okmale4 melee diff --git a/models/ok_player/okmale4.dpm_0.sounds b/models/ok_player/okmale4.dpm_0.sounds new file mode 100644 index 000000000..a97a073b9 --- /dev/null +++ b/models/ok_player/okmale4.dpm_0.sounds @@ -0,0 +1,32 @@ +//TAG: soldier +//affirmative sound/player/carni-lycan/player/affirmative 0 +attack sound/player/soldier/coms/attack 0 +//attacking sound/player/carni-lycan/player/attacking 0 +attackinfive sound/player/soldier/coms/attackinfive 0 +coverme sound/player/soldier/coms/coverme 0 +defend sound/player/soldier/coms/defend 0 +//defending sound/player/carni-lycan/player/defending 0 +//droppedflag sound/player/carni-lycan/player/droppedflag 0 +flagcarriertakingdamage sound/player/soldier/coms/flagcarriertakingdamage 0 +freelance sound/player/soldier/coms/freelance 2 +getflag sound/player/soldier/coms/getflag 0 +incoming sound/player/soldier/coms/incoming 0 +meet sound/player/soldier/coms/meet 0 +needhelp sound/player/soldier/coms/needhelp 2 +//negative sound/player/carni-lycan/player/negative 0 +//onmyway sound/player/carni-lycan/player/onmyway 0 +//roaming sound/player/carni-lycan/player/roaming 0 +//seenenemy sound/player/carni-lycan/player/seenenemy 0 +seenflag sound/player/soldier/coms/seenflag 0 +taunt sound/player/soldier/coms/taunt 3 +teamshoot sound/player/soldier/coms/teamshoot 3 +death sound/player/soldier/player/death 3 +drown sound/player/soldier/player/drown 0 +fall sound/player/soldier/player/fall 0 +falling sound/player/soldier/player/falling 0 +gasp sound/player/soldier/player/gasp 0 +jump sound/player/soldier/player/jump 0 +pain25 sound/player/soldier/player/pain25 0 +pain50 sound/player/soldier/player/pain50 0 +pain75 sound/player/soldier/player/pain75 0 +pain100 sound/player/soldier/player/pain100 0 diff --git a/models/ok_player/okmale4.dpm_0.txt b/models/ok_player/okmale4.dpm_0.txt new file mode 100644 index 000000000..7fa399e58 --- /dev/null +++ b/models/ok_player/okmale4.dpm_0.txt @@ -0,0 +1,7 @@ +name overkillmale3 +species human +sex Male +weight 105 +age 28 + +overkill solider diff --git a/models/ok_player/okplayer.tga b/models/ok_player/okplayer.tga new file mode 100644 index 000000000..e42318a6a Binary files /dev/null and b/models/ok_player/okplayer.tga differ diff --git a/models/ok_player/okplayer_gloss.tga b/models/ok_player/okplayer_gloss.tga new file mode 100644 index 000000000..893f61d68 Binary files /dev/null and b/models/ok_player/okplayer_gloss.tga differ diff --git a/models/ok_player/okplayer_glow.tga b/models/ok_player/okplayer_glow.tga new file mode 100644 index 000000000..545346a60 Binary files /dev/null and b/models/ok_player/okplayer_glow.tga differ diff --git a/models/ok_player/okplayer_reflect.tga b/models/ok_player/okplayer_reflect.tga new file mode 100644 index 000000000..c3aaa6515 Binary files /dev/null and b/models/ok_player/okplayer_reflect.tga differ diff --git a/models/ok_player/okplayer_shirt.tga b/models/ok_player/okplayer_shirt.tga new file mode 100644 index 000000000..4dd2cebc4 Binary files /dev/null and b/models/ok_player/okplayer_shirt.tga differ diff --git a/models/ok_player/okrobot1.dpm b/models/ok_player/okrobot1.dpm new file mode 100644 index 000000000..37d64b0a0 Binary files /dev/null and b/models/ok_player/okrobot1.dpm differ diff --git a/models/ok_player/okrobot1.dpm.framegroups b/models/ok_player/okrobot1.dpm.framegroups new file mode 100644 index 000000000..662facc73 --- /dev/null +++ b/models/ok_player/okrobot1.dpm.framegroups @@ -0,0 +1,29 @@ +/* +Generated framegroups file for okrobot1 +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 41 30 0 // okrobot1 die1 +67 56 30 0 // okrobot1 die2 +133 11 15 1 // okrobot1 draw +144 6 10 1 // okrobot1 duck +150 17 15 1 // okrobot1 duckwalk +167 31 40 0 // okrobot1 duckjump +198 1 10 1 // okrobot1 duckidle +199 101 15 1 // okrobot1 idle +300 17 20 1 // okrobot1 jump +317 6 10 0 // okrobot1 pain1 +323 6 10 0 // okrobot1 pain2 +329 6 30 0 // okrobot1 shoot +335 17 15 1 // okrobot1 taunt +352 17 30 1 // okrobot1 run +369 17 30 1 // okrobot1 runbackwards +386 17 30 1 // okrobot1 strafeleft +403 17 30 1 // okrobot1 straferight +41 1 10 0 // okrobot4 dead1 +122 1 10 0 // okrobot4 dead2 +424 17 30 1 // okrobot1 forwardright +441 17 30 1 // okrobot1 forwardleft +458 17 30 1 // okrobot1 backright +475 17 30 1 // okrobot1 backleft +492 21 15 1 // okrobot1 melee diff --git a/models/ok_player/okrobot1.dpm_0.sounds b/models/ok_player/okrobot1.dpm_0.sounds new file mode 100644 index 000000000..62c501919 --- /dev/null +++ b/models/ok_player/okrobot1.dpm_0.sounds @@ -0,0 +1,32 @@ +//TAG: robot_shiny +//affirmative sound/player/robot/player/affirmative 0 +attack sound/player/robot/coms/attack 0 +//attacking sound/player/robot/player/attacking 0 +attackinfive sound/player/robot/coms/attackinfive 0 +coverme sound/player/robot/coms/coverme 0 +defend sound/player/robot/coms/defend 0 +//defending sound/player/robot/player/defending 0 +//droppedflag sound/player/robot/player/droppedflag 0 +//flagcarriertakingdamage sound/player/robot/player/flagcarriertakingdamage 0 +freelance sound/player/robot/coms/freelance 2 +//getflag sound/player/soldier/player/getflag 0 +incoming sound/player/robot/coms/incoming 0 +meet sound/player/robot/coms/meet 0 +needhelp sound/player/robot/coms/needhelp 2 +//negative sound/player/robot/player/negative 0 +//onmyway sound/player/robot/player/onmyway 0 +//roaming sound/player/robot/player/roaming 0 +//seenenemy sound/player/robot/player/seenenemy 0 +seenflag sound/player/robot/coms/seenflag 0 +taunt sound/player/robot/coms/taunt 3 +teamshoot sound/player/robot/coms/teamshoot 3 +death sound/player/robot/player/death 3 +drown sound/player/robot/player/drown 0 +fall sound/player/robot/player/fall 0 +falling sound/player/robot/player/falling 0 +gasp sound/player/robot/player/gasp 0 +jump sound/player/robot/player/jump 0 +pain25 sound/player/robot/player/pain25 0 +pain50 sound/player/robot/player/pain50 0 +pain75 sound/player/robot/player/pain75 0 +pain100 sound/player/robot/player/pain100 0 diff --git a/models/ok_player/okrobot1.dpm_0.txt b/models/ok_player/okrobot1.dpm_0.txt new file mode 100644 index 000000000..0b52a01c8 --- /dev/null +++ b/models/ok_player/okrobot1.dpm_0.txt @@ -0,0 +1,7 @@ +name overkill robot1 +species robot_solid +sex None +weight 200 +age 1 + +Overkill robot diff --git a/models/ok_player/okrobot2.dpm b/models/ok_player/okrobot2.dpm new file mode 100644 index 000000000..204aeab22 Binary files /dev/null and b/models/ok_player/okrobot2.dpm differ diff --git a/models/ok_player/okrobot2.dpm.framegroups b/models/ok_player/okrobot2.dpm.framegroups new file mode 100644 index 000000000..8d7b4db16 --- /dev/null +++ b/models/ok_player/okrobot2.dpm.framegroups @@ -0,0 +1,29 @@ +/* +Generated framegroups file for okrobot2 +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 41 30 0 // okrobot2 die1 +67 56 30 0 // okrobot2 die2 +133 11 15 1 // okrobot2 draw +144 6 10 1 // okrobot2 duck +150 17 15 1 // okrobot2 duckwalk +167 31 40 0 // okrobot2 duckjump +198 1 10 1 // okrobot2 duckidle +199 101 15 1 // okrobot2 idle +300 17 20 1 // okrobot2 jump +317 6 10 0 // okrobot2 pain1 +323 6 10 0 // okrobot2 pain2 +329 6 30 0 // okrobot2 shoot +335 17 15 1 // okrobot2 taunt +352 17 30 1 // okrobot2 run +369 17 30 1 // okrobot2 runbackwards +386 17 30 1 // okrobot2 strafeleft +403 17 30 1 // okrobot2 straferight +41 1 10 0 // okrobot4 dead1 +122 1 10 0 // okrobot4 dead2 +424 17 30 1 // okrobot2 forwardright +441 17 30 1 // okrobot2 forwardleft +458 17 30 1 // okrobot2 backright +475 17 30 1 // okrobot2 backleft +492 21 15 1 // okrobot2 melee diff --git a/models/ok_player/okrobot2.dpm_0.sounds b/models/ok_player/okrobot2.dpm_0.sounds new file mode 100644 index 000000000..62c501919 --- /dev/null +++ b/models/ok_player/okrobot2.dpm_0.sounds @@ -0,0 +1,32 @@ +//TAG: robot_shiny +//affirmative sound/player/robot/player/affirmative 0 +attack sound/player/robot/coms/attack 0 +//attacking sound/player/robot/player/attacking 0 +attackinfive sound/player/robot/coms/attackinfive 0 +coverme sound/player/robot/coms/coverme 0 +defend sound/player/robot/coms/defend 0 +//defending sound/player/robot/player/defending 0 +//droppedflag sound/player/robot/player/droppedflag 0 +//flagcarriertakingdamage sound/player/robot/player/flagcarriertakingdamage 0 +freelance sound/player/robot/coms/freelance 2 +//getflag sound/player/soldier/player/getflag 0 +incoming sound/player/robot/coms/incoming 0 +meet sound/player/robot/coms/meet 0 +needhelp sound/player/robot/coms/needhelp 2 +//negative sound/player/robot/player/negative 0 +//onmyway sound/player/robot/player/onmyway 0 +//roaming sound/player/robot/player/roaming 0 +//seenenemy sound/player/robot/player/seenenemy 0 +seenflag sound/player/robot/coms/seenflag 0 +taunt sound/player/robot/coms/taunt 3 +teamshoot sound/player/robot/coms/teamshoot 3 +death sound/player/robot/player/death 3 +drown sound/player/robot/player/drown 0 +fall sound/player/robot/player/fall 0 +falling sound/player/robot/player/falling 0 +gasp sound/player/robot/player/gasp 0 +jump sound/player/robot/player/jump 0 +pain25 sound/player/robot/player/pain25 0 +pain50 sound/player/robot/player/pain50 0 +pain75 sound/player/robot/player/pain75 0 +pain100 sound/player/robot/player/pain100 0 diff --git a/models/ok_player/okrobot2.dpm_0.txt b/models/ok_player/okrobot2.dpm_0.txt new file mode 100644 index 000000000..0b52a01c8 --- /dev/null +++ b/models/ok_player/okrobot2.dpm_0.txt @@ -0,0 +1,7 @@ +name overkill robot1 +species robot_solid +sex None +weight 200 +age 1 + +Overkill robot diff --git a/models/ok_player/okrobot3.dpm b/models/ok_player/okrobot3.dpm new file mode 100644 index 000000000..81db89848 Binary files /dev/null and b/models/ok_player/okrobot3.dpm differ diff --git a/models/ok_player/okrobot3.dpm.framegroups b/models/ok_player/okrobot3.dpm.framegroups new file mode 100644 index 000000000..7f0a3df6b --- /dev/null +++ b/models/ok_player/okrobot3.dpm.framegroups @@ -0,0 +1,29 @@ +/* +Generated framegroups file for okrobot3 +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 41 30 0 // okrobot3 die1 +67 56 30 0 // okrobot3 die2 +133 11 15 1 // okrobot3 draw +144 6 10 1 // okrobot3 duck +150 17 15 1 // okrobot3 duckwalk +167 31 40 0 // okrobot3 duckjump +198 1 10 1 // okrobot3 duckidle +199 101 15 1 // okrobot3 idle +300 17 20 1 // okrobot3 jump +317 6 10 0 // okrobot3 pain1 +323 6 10 0 // okrobot3 pain2 +329 6 30 0 // okrobot3 shoot +335 17 15 1 // okrobot3 taunt +352 17 30 1 // okrobot3 run +369 17 30 1 // okrobot3 runbackwards +386 17 30 1 // okrobot3 strafeleft +403 17 30 1 // okrobot3 straferight +41 1 10 0 // okrobot4 dead1 +122 1 10 0 // okrobot4 dead2 +424 17 30 1 // okrobot3 forwardright +441 17 30 1 // okrobot3 forwardleft +458 17 30 1 // okrobot3 backright +475 17 30 1 // okrobot3 backleft +492 21 15 1 // okrobot3 melee diff --git a/models/ok_player/okrobot3.dpm_0.sounds b/models/ok_player/okrobot3.dpm_0.sounds new file mode 100644 index 000000000..62c501919 --- /dev/null +++ b/models/ok_player/okrobot3.dpm_0.sounds @@ -0,0 +1,32 @@ +//TAG: robot_shiny +//affirmative sound/player/robot/player/affirmative 0 +attack sound/player/robot/coms/attack 0 +//attacking sound/player/robot/player/attacking 0 +attackinfive sound/player/robot/coms/attackinfive 0 +coverme sound/player/robot/coms/coverme 0 +defend sound/player/robot/coms/defend 0 +//defending sound/player/robot/player/defending 0 +//droppedflag sound/player/robot/player/droppedflag 0 +//flagcarriertakingdamage sound/player/robot/player/flagcarriertakingdamage 0 +freelance sound/player/robot/coms/freelance 2 +//getflag sound/player/soldier/player/getflag 0 +incoming sound/player/robot/coms/incoming 0 +meet sound/player/robot/coms/meet 0 +needhelp sound/player/robot/coms/needhelp 2 +//negative sound/player/robot/player/negative 0 +//onmyway sound/player/robot/player/onmyway 0 +//roaming sound/player/robot/player/roaming 0 +//seenenemy sound/player/robot/player/seenenemy 0 +seenflag sound/player/robot/coms/seenflag 0 +taunt sound/player/robot/coms/taunt 3 +teamshoot sound/player/robot/coms/teamshoot 3 +death sound/player/robot/player/death 3 +drown sound/player/robot/player/drown 0 +fall sound/player/robot/player/fall 0 +falling sound/player/robot/player/falling 0 +gasp sound/player/robot/player/gasp 0 +jump sound/player/robot/player/jump 0 +pain25 sound/player/robot/player/pain25 0 +pain50 sound/player/robot/player/pain50 0 +pain75 sound/player/robot/player/pain75 0 +pain100 sound/player/robot/player/pain100 0 diff --git a/models/ok_player/okrobot3.dpm_0.txt b/models/ok_player/okrobot3.dpm_0.txt new file mode 100644 index 000000000..3157342b2 --- /dev/null +++ b/models/ok_player/okrobot3.dpm_0.txt @@ -0,0 +1,7 @@ +name overkill robot3 +species robot_solid +sex None +weight 200 +age 1 + +Overkill robot diff --git a/models/ok_player/okrobot4.dpm b/models/ok_player/okrobot4.dpm new file mode 100644 index 000000000..13cddb85f Binary files /dev/null and b/models/ok_player/okrobot4.dpm differ diff --git a/models/ok_player/okrobot4.dpm.framegroups b/models/ok_player/okrobot4.dpm.framegroups new file mode 100644 index 000000000..425f0353e --- /dev/null +++ b/models/ok_player/okrobot4.dpm.framegroups @@ -0,0 +1,29 @@ +/* +Generated framegroups file for okrobot4 +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 41 30 0 // okrobot4 die1 +67 56 30 0 // okrobot4 die2 +133 11 15 1 // okrobot4 draw +144 6 10 1 // okrobot4 duck +150 17 15 1 // okrobot4 duckwalk +167 31 40 0 // okrobot4 duckjump +198 1 10 1 // okrobot4 duckidle +199 101 15 1 // okrobot4 idle +300 17 20 1 // okrobot4 jump +317 6 10 0 // okrobot4 pain1 +323 6 10 0 // okrobot4 pain2 +329 6 30 0 // okrobot4 shoot +335 17 15 1 // okrobot4 taunt +352 17 30 1 // okrobot4 run +369 17 30 1 // okrobot4 runbackwards +386 17 30 1 // okrobot4 strafeleft +403 17 30 1 // okrobot4 straferight +41 1 10 0 // okrobot4 dead1 +122 1 10 0 // okrobot4 dead2 +424 17 30 1 // okrobot4 forwardright +441 17 30 1 // okrobot4 forwardleft +458 17 30 1 // okrobot4 backright +475 17 30 1 // okrobot4 backleft +492 21 15 1 // okrobot4 melee diff --git a/models/ok_player/okrobot4.dpm_0.sounds b/models/ok_player/okrobot4.dpm_0.sounds new file mode 100644 index 000000000..62c501919 --- /dev/null +++ b/models/ok_player/okrobot4.dpm_0.sounds @@ -0,0 +1,32 @@ +//TAG: robot_shiny +//affirmative sound/player/robot/player/affirmative 0 +attack sound/player/robot/coms/attack 0 +//attacking sound/player/robot/player/attacking 0 +attackinfive sound/player/robot/coms/attackinfive 0 +coverme sound/player/robot/coms/coverme 0 +defend sound/player/robot/coms/defend 0 +//defending sound/player/robot/player/defending 0 +//droppedflag sound/player/robot/player/droppedflag 0 +//flagcarriertakingdamage sound/player/robot/player/flagcarriertakingdamage 0 +freelance sound/player/robot/coms/freelance 2 +//getflag sound/player/soldier/player/getflag 0 +incoming sound/player/robot/coms/incoming 0 +meet sound/player/robot/coms/meet 0 +needhelp sound/player/robot/coms/needhelp 2 +//negative sound/player/robot/player/negative 0 +//onmyway sound/player/robot/player/onmyway 0 +//roaming sound/player/robot/player/roaming 0 +//seenenemy sound/player/robot/player/seenenemy 0 +seenflag sound/player/robot/coms/seenflag 0 +taunt sound/player/robot/coms/taunt 3 +teamshoot sound/player/robot/coms/teamshoot 3 +death sound/player/robot/player/death 3 +drown sound/player/robot/player/drown 0 +fall sound/player/robot/player/fall 0 +falling sound/player/robot/player/falling 0 +gasp sound/player/robot/player/gasp 0 +jump sound/player/robot/player/jump 0 +pain25 sound/player/robot/player/pain25 0 +pain50 sound/player/robot/player/pain50 0 +pain75 sound/player/robot/player/pain75 0 +pain100 sound/player/robot/player/pain100 0 diff --git a/models/ok_player/okrobot4.dpm_0.txt b/models/ok_player/okrobot4.dpm_0.txt new file mode 100644 index 000000000..3157342b2 --- /dev/null +++ b/models/ok_player/okrobot4.dpm_0.txt @@ -0,0 +1,7 @@ +name overkill robot3 +species robot_solid +sex None +weight 200 +age 1 + +Overkill robot diff --git a/models/player/megaerebus.iqm_0.tga b/models/player/megaerebus.iqm_0.tga index 81649e3d4..dc610b7f4 100644 Binary files a/models/player/megaerebus.iqm_0.tga and b/models/player/megaerebus.iqm_0.tga differ diff --git a/models/vehicles/spiderbot.dpm.framegroups b/models/vehicles/spiderbot.dpm.framegroups index 835bd3bd1..ba5578339 100644 --- a/models/vehicles/spiderbot.dpm.framegroups +++ b/models/vehicles/spiderbot.dpm.framegroups @@ -1,8 +1,3 @@ -/* -Generated framegroups file for spiderbot -Used by DarkPlaces to simulate frame groups in DPM models. -*/ - 1 31 30 1 // spiderbot forward 32 31 30 1 // spiderbot backwards 63 31 20 1 // spiderbot left diff --git a/models/weapons/g_laser.md3 b/models/weapons/g_laser.md3 index d1f168a61..fd3f1e74a 100644 Binary files a/models/weapons/g_laser.md3 and b/models/weapons/g_laser.md3 differ diff --git a/models/weapons/g_ok_hmg.md3 b/models/weapons/g_ok_hmg.md3 new file mode 100644 index 000000000..3b0808558 Binary files /dev/null and b/models/weapons/g_ok_hmg.md3 differ diff --git a/models/weapons/g_ok_mg.md3 b/models/weapons/g_ok_mg.md3 new file mode 100644 index 000000000..c7e5453d7 Binary files /dev/null and b/models/weapons/g_ok_mg.md3 differ diff --git a/models/weapons/g_ok_rl.md3 b/models/weapons/g_ok_rl.md3 new file mode 100644 index 000000000..c677b1b38 Binary files /dev/null and b/models/weapons/g_ok_rl.md3 differ diff --git a/models/weapons/g_ok_shotgun.md3 b/models/weapons/g_ok_shotgun.md3 new file mode 100644 index 000000000..4acc77fad Binary files /dev/null and b/models/weapons/g_ok_shotgun.md3 differ diff --git a/models/weapons/g_ok_sniper.md3 b/models/weapons/g_ok_sniper.md3 new file mode 100644 index 000000000..4acc77fad Binary files /dev/null and b/models/weapons/g_ok_sniper.md3 differ diff --git a/models/weapons/h_minstanex.iqm b/models/weapons/h_minstanex.iqm index 82b0b2330..61fed1377 100644 Binary files a/models/weapons/h_minstanex.iqm and b/models/weapons/h_minstanex.iqm differ diff --git a/models/weapons/h_minstanex.iqm.framegroups b/models/weapons/h_minstanex.iqm.framegroups index 9c7e7021c..ba97a6dec 100644 --- a/models/weapons/h_minstanex.iqm.framegroups +++ b/models/weapons/h_minstanex.iqm.framegroups @@ -1,10 +1,9 @@ /* -Generated framegroups file for h_uzi +Generated framegroups file for h_minstanex Used by DarkPlaces to simulate frame groups in DPM models. */ -1 16 30 0 // h_uzi mgafire -17 16 30 0 // h_uzi mgafire2 -33 101 3 1 // h_uzi mgaidle -134 61 30 0 // h_uzi mgareload -195 16 30 0 // h_uzi mgafire +1 21 20 0 // h_minstanex fire +22 21 20 0 // h_minstanex fire +43 101 6 1 // h_minstanex idle +144 101 30 0 // h_minstanex reload diff --git a/models/weapons/h_ok_grenade.iqm b/models/weapons/h_ok_grenade.iqm new file mode 100644 index 000000000..eaffcc2c1 Binary files /dev/null and b/models/weapons/h_ok_grenade.iqm differ diff --git a/models/weapons/h_ok_grenade.iqm.framegroups b/models/weapons/h_ok_grenade.iqm.framegroups new file mode 100644 index 000000000..ceb09de4f --- /dev/null +++ b/models/weapons/h_ok_grenade.iqm.framegroups @@ -0,0 +1,9 @@ +/* +Generated framegroups file for h_laser +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 51 50 0 // h_laser hgrenade_fire +52 101 50 0 // h_laser hgrenade_idle +153 101 5 1 // h_laser hgrenade_idle +254 101 5 1 // h_laser hgrenade_idle diff --git a/models/weapons/h_ok_hmg.iqm b/models/weapons/h_ok_hmg.iqm new file mode 100644 index 000000000..e8f9a8e0b Binary files /dev/null and b/models/weapons/h_ok_hmg.iqm differ diff --git a/models/weapons/h_ok_hmg.iqm.framegroups b/models/weapons/h_ok_hmg.iqm.framegroups new file mode 100644 index 000000000..8067f629f --- /dev/null +++ b/models/weapons/h_ok_hmg.iqm.framegroups @@ -0,0 +1,10 @@ +/* +Generated framegroups file for h_uzi +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 11 120 0 // h_uzi mgafire +12 11 120 0 // h_uzi mgafire +23 51 2 1 // h_uzi mgaidle +74 11 30 0 // h_uzi mgafire +85 11 30 0 // h_uzi mgafire diff --git a/models/weapons/h_ok_mg.iqm b/models/weapons/h_ok_mg.iqm new file mode 100644 index 000000000..6048a9c2d Binary files /dev/null and b/models/weapons/h_ok_mg.iqm differ diff --git a/models/weapons/h_ok_mg.iqm.framegroups b/models/weapons/h_ok_mg.iqm.framegroups new file mode 100644 index 000000000..948542ab8 --- /dev/null +++ b/models/weapons/h_ok_mg.iqm.framegroups @@ -0,0 +1,10 @@ +/* +Generated framegroups file for h_uzi +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 7 30 0 // h_uzi mgafire +8 7 30 0 // h_uzi mgafire +15 101 5 1 // h_uzi mgaidle +116 61 40 1 // h_uzi mgareload +177 61 15 1 // h_uzi mgareload diff --git a/models/weapons/h_ok_rl.iqm b/models/weapons/h_ok_rl.iqm new file mode 100644 index 000000000..2870b04d8 Binary files /dev/null and b/models/weapons/h_ok_rl.iqm differ diff --git a/models/weapons/h_ok_rl.iqm.framegroups b/models/weapons/h_ok_rl.iqm.framegroups new file mode 100644 index 000000000..fae30c94d --- /dev/null +++ b/models/weapons/h_ok_rl.iqm.framegroups @@ -0,0 +1,10 @@ +/* +Generated framegroups file for h_uzi +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 61 30 0 // h_uzi mgafire +62 61 30 0 // h_uzi mgafire +123 101 3 1 // h_uzi mgaidle +224 61 30 0 // h_uzi mgafire +285 61 30 0 // h_uzi mgafire diff --git a/models/weapons/h_ok_shotgun.iqm b/models/weapons/h_ok_shotgun.iqm new file mode 100644 index 000000000..34ef1c7a5 Binary files /dev/null and b/models/weapons/h_ok_shotgun.iqm differ diff --git a/models/weapons/h_ok_shotgun.iqm.framegroups b/models/weapons/h_ok_shotgun.iqm.framegroups new file mode 100644 index 000000000..004c9af4f --- /dev/null +++ b/models/weapons/h_ok_shotgun.iqm.framegroups @@ -0,0 +1,9 @@ +/* +Generated framegroups file for h_shotgun +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 22 30 0 // h_shotgun sghmesh_fire +23 31 30 0 // h_shotgun sghmesh_fire2 +54 201 5 1 // h_shotgun sghmesh_idle +255 61 30 1 // h_shotgun sghmesh_reload diff --git a/models/weapons/h_ok_sniper.iqm b/models/weapons/h_ok_sniper.iqm new file mode 100644 index 000000000..6e6df934c Binary files /dev/null and b/models/weapons/h_ok_sniper.iqm differ diff --git a/models/weapons/h_ok_sniper.iqm.framegroups b/models/weapons/h_ok_sniper.iqm.framegroups new file mode 100644 index 000000000..75854d74a --- /dev/null +++ b/models/weapons/h_ok_sniper.iqm.framegroups @@ -0,0 +1,9 @@ +/* +Generated framegroups file for h_minstanex +Used by DarkPlaces to simulate frame groups in DPM models. +*/ + +1 28 25 0 // h_minstanex h_minst_fire +29 28 25 0 // h_minstanex h_minst_fire +57 201 5 1 // h_minstanex h_minst_idle +258 28 30 0 // h_minstanex h_minst_reload diff --git a/models/weapons/laser.tga b/models/weapons/laser.tga new file mode 100644 index 000000000..2e49562fc Binary files /dev/null and b/models/weapons/laser.tga differ diff --git a/models/weapons/laser_gloss.tga b/models/weapons/laser_gloss.tga new file mode 100644 index 000000000..9599a94f4 Binary files /dev/null and b/models/weapons/laser_gloss.tga differ diff --git a/models/weapons/laser_glow.tga b/models/weapons/laser_glow.tga new file mode 100644 index 000000000..8221e7532 Binary files /dev/null and b/models/weapons/laser_glow.tga differ diff --git a/models/weapons/laser_norm.tga b/models/weapons/laser_norm.tga new file mode 100644 index 000000000..80f646a40 Binary files /dev/null and b/models/weapons/laser_norm.tga differ diff --git a/models/weapons/laser_reflect.tga b/models/weapons/laser_reflect.tga new file mode 100644 index 000000000..8f9aca5e9 Binary files /dev/null and b/models/weapons/laser_reflect.tga differ diff --git a/models/weapons/laser_shirt.tga b/models/weapons/laser_shirt.tga new file mode 100644 index 000000000..3c42a1606 Binary files /dev/null and b/models/weapons/laser_shirt.tga differ diff --git a/models/weapons/mnex_bump.tga b/models/weapons/mnex_bump.tga deleted file mode 100644 index 98b3a5c78..000000000 Binary files a/models/weapons/mnex_bump.tga and /dev/null differ diff --git a/models/weapons/mnex_norm.tga b/models/weapons/mnex_norm.tga new file mode 100644 index 000000000..b7939bb30 Binary files /dev/null and b/models/weapons/mnex_norm.tga differ diff --git a/models/weapons/ok_rocket.md3 b/models/weapons/ok_rocket.md3 new file mode 100644 index 000000000..7a9d08211 Binary files /dev/null and b/models/weapons/ok_rocket.md3 differ diff --git a/models/weapons/okrocketthrust.tga b/models/weapons/okrocketthrust.tga new file mode 100644 index 000000000..8c8bcb5fe Binary files /dev/null and b/models/weapons/okrocketthrust.tga differ diff --git a/models/weapons/okrocketthrust_glow.tga b/models/weapons/okrocketthrust_glow.tga new file mode 100644 index 000000000..293ce9715 Binary files /dev/null and b/models/weapons/okrocketthrust_glow.tga differ diff --git a/models/weapons/okweapons.tga b/models/weapons/okweapons.tga new file mode 100644 index 000000000..2717e1b42 Binary files /dev/null and b/models/weapons/okweapons.tga differ diff --git a/models/weapons/okweapons_gloss.tga b/models/weapons/okweapons_gloss.tga new file mode 100644 index 000000000..adba882cc Binary files /dev/null and b/models/weapons/okweapons_gloss.tga differ diff --git a/models/weapons/okweapons_glow.tga b/models/weapons/okweapons_glow.tga new file mode 100644 index 000000000..65566aa04 Binary files /dev/null and b/models/weapons/okweapons_glow.tga differ diff --git a/models/weapons/okweapons_reflect.tga b/models/weapons/okweapons_reflect.tga new file mode 100644 index 000000000..c86bb4ca3 Binary files /dev/null and b/models/weapons/okweapons_reflect.tga differ diff --git a/models/weapons/okweapons_shirt.tga b/models/weapons/okweapons_shirt.tga new file mode 100644 index 000000000..abc73d5ec Binary files /dev/null and b/models/weapons/okweapons_shirt.tga differ diff --git a/models/weapons/overkillbullet.tga b/models/weapons/overkillbullet.tga new file mode 100644 index 000000000..f48d302fa Binary files /dev/null and b/models/weapons/overkillbullet.tga differ diff --git a/models/weapons/overkillbullet_gloss.tga b/models/weapons/overkillbullet_gloss.tga new file mode 100644 index 000000000..08f2fd001 Binary files /dev/null and b/models/weapons/overkillbullet_gloss.tga differ diff --git a/models/weapons/overkillbullet_reflect.tga b/models/weapons/overkillbullet_reflect.tga new file mode 100644 index 000000000..ecb0222e3 Binary files /dev/null and b/models/weapons/overkillbullet_reflect.tga differ diff --git a/models/weapons/v_laser.md3 b/models/weapons/v_laser.md3 index dc5e26745..9e35e636f 100644 Binary files a/models/weapons/v_laser.md3 and b/models/weapons/v_laser.md3 differ diff --git a/models/weapons/v_ok_grenade.md3 b/models/weapons/v_ok_grenade.md3 new file mode 100644 index 000000000..e6f593df3 Binary files /dev/null and b/models/weapons/v_ok_grenade.md3 differ diff --git a/models/weapons/v_ok_hmg.md3 b/models/weapons/v_ok_hmg.md3 new file mode 100644 index 000000000..4f07ee8b8 Binary files /dev/null and b/models/weapons/v_ok_hmg.md3 differ diff --git a/models/weapons/v_ok_mg.md3 b/models/weapons/v_ok_mg.md3 new file mode 100644 index 000000000..71a8e95c1 Binary files /dev/null and b/models/weapons/v_ok_mg.md3 differ diff --git a/models/weapons/v_ok_rl.md3 b/models/weapons/v_ok_rl.md3 new file mode 100644 index 000000000..e43158ea7 Binary files /dev/null and b/models/weapons/v_ok_rl.md3 differ diff --git a/models/weapons/v_ok_shotgun.md3 b/models/weapons/v_ok_shotgun.md3 new file mode 100644 index 000000000..30fbd6bd0 Binary files /dev/null and b/models/weapons/v_ok_shotgun.md3 differ diff --git a/models/weapons/v_ok_sniper.md3 b/models/weapons/v_ok_sniper.md3 new file mode 100644 index 000000000..ee0ea461f Binary files /dev/null and b/models/weapons/v_ok_sniper.md3 differ diff --git a/mutator_new_toys.cfg b/mutator_new_toys.cfg new file mode 100644 index 000000000..c4f20995a --- /dev/null +++ b/mutator_new_toys.cfg @@ -0,0 +1,163 @@ +set g_new_toys 0 "Mutator 'New Toys': enable extra fun guns" +set g_new_toys_autoreplace 2 "0: never replace, 1: always auto replace guns by available new toys, 2: randomly auto replace guns by available new toys" + +set g_weaponreplace_hlac "" +set g_weaponreplace_minelayer "" +set g_weaponreplace_rifle "" +set g_weaponreplace_seeker "" + +set g_start_weapon_hlac -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE +set g_start_weapon_minelayer -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" +set g_start_weapon_rifle -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" // UNTIL IT CAN BE REMOVED FROM CODE +set g_start_weapon_seeker -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default, -2 = provide the weapon in ca and lms" + +// {{{ hlac +set g_balance_hlac_primary_spread_min 0.01 +set g_balance_hlac_primary_spread_max 0.25 +set g_balance_hlac_primary_spread_add 0.0045 +set g_balance_hlac_primary_spread_crouchmod 0.25 + +set g_balance_hlac_primary_damage 18 +set g_balance_hlac_primary_edgedamage 9 +set g_balance_hlac_primary_force 90 +set g_balance_hlac_primary_radius 70 +set g_balance_hlac_primary_speed 9000 +set g_balance_hlac_primary_lifetime 5 + +set g_balance_hlac_primary_refire 0.15 +set g_balance_hlac_primary_animtime 0.4 +set g_balance_hlac_primary_ammo 1 + +set g_balance_hlac_secondary 1 +set g_balance_hlac_secondary_spread 0.15 +set g_balance_hlac_secondary_spread_crouchmod 0.5 + +set g_balance_hlac_secondary_damage 15 +set g_balance_hlac_secondary_edgedamage 7.5 +set g_balance_hlac_secondary_force 90 +set g_balance_hlac_secondary_radius 70 +set g_balance_hlac_secondary_speed 9000 +set g_balance_hlac_secondary_lifetime 5 + +set g_balance_hlac_secondary_refire 1 +set g_balance_hlac_secondary_animtime 0.3 +set g_balance_hlac_secondary_ammo 10 +set g_balance_hlac_secondary_shots 6 + +set g_balance_hlac_reload_ammo 0 //default: 20 +set g_balance_hlac_reload_time 2 +// }}} +// {{{ minelayer +set g_balance_minelayer_damage 40 +set g_balance_minelayer_edgedamage 20 +set g_balance_minelayer_force 250 +set g_balance_minelayer_radius 175 +set g_balance_minelayer_proximityradius 150 +set g_balance_minelayer_speed 1000 +set g_balance_minelayer_lifetime 10 +set g_balance_minelayer_lifetime_countdown 0.5 +set g_balance_minelayer_refire 1.5 +set g_balance_minelayer_animtime 0.4 +set g_balance_minelayer_ammo 4 +set g_balance_minelayer_health 15 +set g_balance_minelayer_limit 3 // 0 disables the limit +set g_balance_minelayer_protection 0 // don't explode if the mine would hurt the owner or a team mate +set g_balance_minelayer_damageforcescale 0 +set g_balance_minelayer_detonatedelay -1 // positive: timer till detonation is allowed, negative: "security device" that prevents ANY remote detonation if it could hurt its owner, zero: detonatable at any time +set g_balance_minelayer_time 0.5 +set g_balance_minelayer_remote_damage 45 +set g_balance_minelayer_remote_edgedamage 40 +set g_balance_minelayer_remote_radius 200 +set g_balance_minelayer_remote_force 300 +set g_balance_minelayer_reload_ammo 0 //default: 15 +set g_balance_minelayer_reload_time 2 +// }}} +// {{{ rifle +set g_balance_rifle_bursttime 0 +set g_balance_rifle_primary_tracer 1 +set g_balance_rifle_primary_shots 1 +set g_balance_rifle_primary_damage 40 +set g_balance_rifle_primary_headshotaddeddamage 40 +set g_balance_rifle_primary_spread 0 +set g_balance_rifle_primary_force 100 +set g_balance_rifle_primary_speed 40000 +set g_balance_rifle_primary_lifetime 5 +set g_balance_rifle_primary_refire 1.2 +set g_balance_rifle_primary_animtime 0.4 +set g_balance_rifle_primary_ammo 10 +set g_balance_rifle_primary_bulletconstant 110 // 62.2qu +set g_balance_rifle_primary_burstcost 0 +set g_balance_rifle_primary_bullethail 0 // empty magazine on shot +set g_balance_rifle_secondary 1 +set g_balance_rifle_secondary_reload 0 +set g_balance_rifle_secondary_tracer 0 +set g_balance_rifle_secondary_shots 4 +set g_balance_rifle_secondary_damage 10 +set g_balance_rifle_secondary_headshotaddeddamage 20 +set g_balance_rifle_secondary_spread 0.04 +set g_balance_rifle_secondary_force 50 +set g_balance_rifle_secondary_speed 20000 +set g_balance_rifle_secondary_lifetime 5 +set g_balance_rifle_secondary_refire 0.9 +set g_balance_rifle_secondary_animtime 0.3 +set g_balance_rifle_secondary_ammo 10 +set g_balance_rifle_secondary_bulletconstant 110 // 15.5qu +set g_balance_rifle_secondary_burstcost 0 +set g_balance_rifle_secondary_bullethail 0 // empty magazine on shot +set g_balance_rifle_reload_ammo 80 //default: 80 +set g_balance_rifle_reload_time 2 +// }}} +// {{{ seeker +set g_balance_seeker_type 0 // 0 = old seeker, 1 = new seeker +set g_balance_seeker_flac_ammo 0.5 +set g_balance_seeker_flac_animtime 0.1 +set g_balance_seeker_flac_damage 15 +set g_balance_seeker_flac_edgedamage 10 +set g_balance_seeker_flac_force 50 +set g_balance_seeker_flac_lifetime 0.1 +set g_balance_seeker_flac_lifetime_rand 0.05 +set g_balance_seeker_flac_radius 100 +set g_balance_seeker_flac_refire 0.1 +set g_balance_seeker_flac_speed 3000 +set g_balance_seeker_flac_speed_up 1000 +set g_balance_seeker_flac_speed_z 0 +set g_balance_seeker_flac_spread 0.4 +set g_balance_seeker_tag_ammo 1 +set g_balance_seeker_tag_animtime 0.2 +set g_balance_seeker_tag_damageforcescale 4 +set g_balance_seeker_tag_health 5 +set g_balance_seeker_tag_lifetime 15 +set g_balance_seeker_tag_refire 0.75 // LOG: 0.7 -> 0.75 +set g_balance_seeker_tag_speed 5000 +set g_balance_seeker_tag_spread 0 +set g_balance_seeker_tag_tracker_lifetime 10 +set g_balance_seeker_missile_accel 1400 +set g_balance_seeker_missile_ammo 2 +set g_balance_seeker_missile_animtime 0.2 +set g_balance_seeker_missile_count 3 // LOG: 8 -> 3 +set g_balance_seeker_missile_damage 30 // LOG: 15 -> 30 +set g_balance_seeker_missile_damageforcescale 4 +set g_balance_seeker_missile_decel 1400 +set g_balance_seeker_missile_delay 0.25 +set g_balance_seeker_missile_edgedamage 10 +set g_balance_seeker_missile_force 150 // LOG: 100 -> 150 +set g_balance_seeker_missile_health 5 +set g_balance_seeker_missile_lifetime 15 +set g_balance_seeker_missile_proxy 0 +set g_balance_seeker_missile_proxy_delay 0.2 +set g_balance_seeker_missile_proxy_maxrange 45 +set g_balance_seeker_missile_radius 80 +set g_balance_seeker_missile_refire 0.5 +set g_balance_seeker_missile_smart 1 +set g_balance_seeker_missile_smart_mindist 800 +set g_balance_seeker_missile_smart_trace_max 2500 +set g_balance_seeker_missile_smart_trace_min 1000 +set g_balance_seeker_missile_speed 700 +set g_balance_seeker_missile_speed_up 300 +set g_balance_seeker_missile_speed_z 0 +set g_balance_seeker_missile_speed_max 1300 // LOG: 1400 -> 1300 +set g_balance_seeker_missile_spread 0 +set g_balance_seeker_missile_turnrate 0.65 +set g_balance_seeker_reload_ammo 0 //default: 15 +set g_balance_seeker_reload_time 2 +// End new seeker diff --git a/particles/particlefont-template.png b/particles/particlefont-template.png index a6fd71e6e..2228fef05 100644 Binary files a/particles/particlefont-template.png and b/particles/particlefont-template.png differ diff --git a/particles/particlefont-template.txt b/particles/particlefont-template.txt deleted file mode 100644 index 6d6b7400e..000000000 --- a/particles/particlefont-template.txt +++ /dev/null @@ -1,166 +0,0 @@ -0 0.00048828125 0.00048828125 0.06201171875 0.06201171875 -1 0.06298828125 0.00048828125 0.12451171875 0.06201171875 -2 0.12548828125 0.00048828125 0.18701171875 0.06201171875 -3 0.18798828125 0.00048828125 0.24951171875 0.06201171875 -4 0.25048828125 0.00048828125 0.31201171875 0.06201171875 -5 0.31298828125 0.00048828125 0.37451171875 0.06201171875 -6 0.37548828125 0.00048828125 0.43701171875 0.06201171875 -7 0.43798828125 0.00048828125 0.49951171875 0.06201171875 -8 0.50048828125 0.00048828125 0.56201171875 0.06201171875 -9 0.56298828125 0.00048828125 0.62451171875 0.06201171875 -10 0.62548828125 0.00048828125 0.68701171875 0.06201171875 -11 0.68798828125 0.00048828125 0.74951171875 0.06201171875 -12 0.75048828125 0.00048828125 0.81201171875 0.06201171875 -13 0.81298828125 0.00048828125 0.87451171875 0.06201171875 -14 0.87548828125 0.00048828125 0.93701171875 0.06201171875 -15 0.93798828125 0.00048828125 0.99951171875 0.06201171875 -16 0.00048828125 0.06298828125 0.06201171875 0.12451171875 -17 0.06298828125 0.06298828125 0.12451171875 0.12451171875 -18 0.12548828125 0.06298828125 0.18701171875 0.12451171875 -19 0.18798828125 0.06298828125 0.24951171875 0.12451171875 -20 0.25048828125 0.06298828125 0.31201171875 0.12451171875 -21 0.31298828125 0.06298828125 0.37451171875 0.12451171875 -22 0.37548828125 0.06298828125 0.43701171875 0.12451171875 -23 0.43798828125 0.06298828125 0.49951171875 0.12451171875 -24 0.50048828125 0.06298828125 0.56201171875 0.12451171875 -25 0.56298828125 0.06298828125 0.62451171875 0.12451171875 -26 0.62548828125 0.06298828125 0.68701171875 0.12451171875 -27 0.68798828125 0.06298828125 0.74951171875 0.12451171875 -28 0.75048828125 0.06298828125 0.81201171875 0.12451171875 -29 0.81298828125 0.06298828125 0.87451171875 0.12451171875 -30 0.87548828125 0.06298828125 0.93701171875 0.12451171875 -31 0.93798828125 0.06298828125 0.99951171875 0.12451171875 -32 0.00048828125 0.12548828125 0.06201171875 0.18701171875 -33 0.06298828125 0.12548828125 0.12451171875 0.18701171875 -34 0.12548828125 0.12548828125 0.18701171875 0.18701171875 -35 0.18798828125 0.12548828125 0.24951171875 0.18701171875 -36 0.25048828125 0.12548828125 0.31201171875 0.18701171875 -37 0.31298828125 0.12548828125 0.37451171875 0.18701171875 -38 0.37548828125 0.12548828125 0.43701171875 0.18701171875 -39 0.43798828125 0.12548828125 0.49951171875 0.18701171875 -40 0.50048828125 0.12548828125 0.56201171875 0.18701171875 -41 0.56298828125 0.12548828125 0.62451171875 0.18701171875 -42 0.62548828125 0.12548828125 0.68701171875 0.18701171875 -43 0.68798828125 0.12548828125 0.74951171875 0.18701171875 -44 0.75048828125 0.12548828125 0.81201171875 0.18701171875 -45 0.81298828125 0.12548828125 0.87451171875 0.18701171875 -46 0.87548828125 0.12548828125 0.93701171875 0.18701171875 -47 0.93798828125 0.12548828125 0.99951171875 0.18701171875 -48 0.00048828125 0.18798828125 0.06201171875 0.24951171875 -49 0.06298828125 0.18798828125 0.12451171875 0.24951171875 -50 0.12548828125 0.18798828125 0.18701171875 0.24951171875 -51 0.18798828125 0.18798828125 0.24951171875 0.24951171875 -52 0.25048828125 0.18798828125 0.31201171875 0.24951171875 -53 0.31298828125 0.18798828125 0.37451171875 0.24951171875 -54 0.37548828125 0.18798828125 0.43701171875 0.24951171875 -55 0.43798828125 0.18798828125 0.49951171875 0.24951171875 -56 0.50048828125 0.18798828125 0.56201171875 0.24951171875 -57 0.56298828125 0.18798828125 0.62451171875 0.24951171875 -58 0.62548828125 0.18798828125 0.68701171875 0.24951171875 -59 0.68798828125 0.18798828125 0.74951171875 0.24951171875 -60 0.75048828125 0.18798828125 0.81201171875 0.24951171875 -61 0.81298828125 0.18798828125 0.87451171875 0.24951171875 -62 0.87548828125 0.18798828125 0.93701171875 0.24951171875 -63 0.93798828125 0.18798828125 0.99951171875 0.24951171875 -64 0.00048828125 0.25048828125 0.06201171875 0.31201171875 -65 0.06298828125 0.25048828125 0.12451171875 0.31201171875 -66 0.12548828125 0.25048828125 0.18701171875 0.31201171875 -67 0.18798828125 0.25048828125 0.24951171875 0.31201171875 -68 0.25048828125 0.25048828125 0.31201171875 0.31201171875 -69 0.31298828125 0.25048828125 0.37451171875 0.31201171875 -70 0.37548828125 0.25048828125 0.43701171875 0.31201171875 -71 0.43798828125 0.25048828125 0.49951171875 0.31201171875 -72 0.50048828125 0.25048828125 0.56201171875 0.31201171875 -73 0.56298828125 0.25048828125 0.62451171875 0.31201171875 -74 0.62548828125 0.25048828125 0.68701171875 0.31201171875 -75 0.68798828125 0.25048828125 0.74951171875 0.31201171875 -76 0.75048828125 0.25048828125 0.81201171875 0.31201171875 -77 0.81298828125 0.25048828125 0.87451171875 0.31201171875 -78 0.87548828125 0.25048828125 0.93701171875 0.31201171875 -79 0.93798828125 0.25048828125 0.99951171875 0.31201171875 -80 0.00048828125 0.31298828125 0.06201171875 0.37451171875 -81 0.06298828125 0.31298828125 0.12451171875 0.37451171875 -82 0.12548828125 0.31298828125 0.18701171875 0.37451171875 -83 0.18798828125 0.31298828125 0.24951171875 0.37451171875 -84 0.25048828125 0.31298828125 0.31201171875 0.37451171875 -85 0.31298828125 0.31298828125 0.37451171875 0.37451171875 -86 0.37548828125 0.31298828125 0.43701171875 0.37451171875 -87 0.43798828125 0.31298828125 0.49951171875 0.37451171875 -88 0.50048828125 0.31298828125 0.56201171875 0.37451171875 -89 0.56298828125 0.31298828125 0.62451171875 0.37451171875 -90 0.62548828125 0.31298828125 0.68701171875 0.37451171875 -91 0.68798828125 0.31298828125 0.74951171875 0.37451171875 -92 0.75048828125 0.31298828125 0.81201171875 0.37451171875 -93 0.81298828125 0.31298828125 0.87451171875 0.37451171875 -94 0.87548828125 0.31298828125 0.93701171875 0.37451171875 -95 0.93798828125 0.31298828125 0.99951171875 0.37451171875 -96 0.00048828125 0.37548828125 0.06201171875 0.43701171875 -97 0.06298828125 0.37548828125 0.12451171875 0.43701171875 -98 0.12548828125 0.37548828125 0.18701171875 0.43701171875 -99 0.18798828125 0.37548828125 0.24951171875 0.43701171875 -100 0.25048828125 0.37548828125 0.31201171875 0.43701171875 -101 0.31298828125 0.37548828125 0.37451171875 0.43701171875 -102 0.37548828125 0.37548828125 0.43701171875 0.43701171875 -103 0.43798828125 0.37548828125 0.49951171875 0.43701171875 -104 0.50048828125 0.37548828125 0.56201171875 0.43701171875 -105 0.56298828125 0.37548828125 0.62451171875 0.43701171875 -106 0.62548828125 0.37548828125 0.68701171875 0.43701171875 -107 0.68798828125 0.37548828125 0.74951171875 0.43701171875 -108 0.75048828125 0.37548828125 0.81201171875 0.43701171875 -109 0.81298828125 0.37548828125 0.87451171875 0.43701171875 -110 0.87548828125 0.37548828125 0.93701171875 0.43701171875 -111 0.93798828125 0.37548828125 0.99951171875 0.43701171875 -112 0.00048828125 0.43798828125 0.06201171875 0.49951171875 -113 0.06298828125 0.43798828125 0.12451171875 0.49951171875 -114 0.12548828125 0.43798828125 0.18701171875 0.49951171875 -115 0.18798828125 0.43798828125 0.24951171875 0.49951171875 -116 0.25048828125 0.43798828125 0.31201171875 0.49951171875 -117 0.31298828125 0.43798828125 0.37451171875 0.49951171875 -118 0.37548828125 0.43798828125 0.43701171875 0.49951171875 -119 0.43798828125 0.43798828125 0.49951171875 0.49951171875 -120 0.50048828125 0.43798828125 0.56201171875 0.49951171875 -121 0.56298828125 0.43798828125 0.62451171875 0.49951171875 -122 0.62548828125 0.43798828125 0.68701171875 0.49951171875 -123 0.68798828125 0.43798828125 0.74951171875 0.49951171875 -124 0.75048828125 0.43798828125 0.81201171875 0.49951171875 -125 0.81298828125 0.43798828125 0.87451171875 0.49951171875 -126 0.87548828125 0.43798828125 0.93701171875 0.49951171875 -127 0.93798828125 0.43798828125 0.99951171875 0.49951171875 -128 0.00048828125 0.50048828125 0.06201171875 0.56201171875 -129 0.06298828125 0.50048828125 0.12451171875 0.56201171875 -130 0.12548828125 0.50048828125 0.18701171875 0.56201171875 -131 0.18798828125 0.50048828125 0.24951171875 0.56201171875 -132 0.25048828125 0.50048828125 0.31201171875 0.56201171875 -133 0.31298828125 0.50048828125 0.37451171875 0.56201171875 -134 0.37548828125 0.50048828125 0.43701171875 0.56201171875 -135 0.43798828125 0.50048828125 0.49951171875 0.56201171875 -136 0.50048828125 0.50048828125 0.56201171875 0.56201171875 -137 0.56298828125 0.50048828125 0.62451171875 0.56201171875 -138 0.62548828125 0.50048828125 0.68701171875 0.56201171875 -139 0.68798828125 0.50048828125 0.74951171875 0.56201171875 -140 0.75048828125 0.50048828125 0.81201171875 0.56201171875 -141 0.81298828125 0.50048828125 0.87451171875 0.56201171875 -142 0.87548828125 0.50048828125 0.93701171875 0.56201171875 -143 0.93798828125 0.50048828125 0.99951171875 0.56201171875 -144 0.00048828125 0.56298828125 0.06201171875 0.62451171875 -145 0.06298828125 0.56298828125 0.12451171875 0.62451171875 -146 0.12548828125 0.56298828125 0.18701171875 0.62451171875 -147 0.18798828125 0.56298828125 0.24951171875 0.62451171875 -148 0.25048828125 0.56298828125 0.31201171875 0.62451171875 -149 0.31298828125 0.56298828125 0.37451171875 0.62451171875 -150 0.37548828125 0.56298828125 0.43701171875 0.62451171875 -151 0.43798828125 0.56298828125 0.49951171875 0.62451171875 -152 0.50048828125 0.56298828125 0.56201171875 0.62451171875 -153 0.56298828125 0.56298828125 0.62451171875 0.62451171875 -154 0.62548828125 0.56298828125 0.68701171875 0.62451171875 -155 0.68798828125 0.56298828125 0.74951171875 0.62451171875 -156 0.75048828125 0.56298828125 0.81201171875 0.62451171875 -157 0.81298828125 0.56298828125 0.87451171875 0.62451171875 -158 0.87548828125 0.56298828125 0.93701171875 0.62451171875 -159 0.93798828125 0.56298828125 0.99951171875 0.62451171875 -1000 0 0.62548828125 1 0.68701171875 -1001 0 0.68798828125 1 0.74951171875 -1002 0 0.75048828125 1 0.81201171875 -1003 0 0.81298828125 1 0.87451171875 -1004 0 0.87548828125 1 0.93701171875 -1005 0 0.93798828125 1 0.99951171875 diff --git a/particles/particlefont.pl b/particles/particlefont.pl index fd5b6df69..2579d3b9f 100644 --- a/particles/particlefont.pl +++ b/particles/particlefont.pl @@ -58,7 +58,8 @@ for my $row(0..$rows-1) checkmagick $magick->Annotate( x => $s0 * $pixw + 2, y => $t1 * $pixh - 2, - text => $i + text => $i, + font => '/usr/share/fonts/TTF/DejaVuSansMono.ttf' ); } ++$i; @@ -84,7 +85,8 @@ for my $beam(0..$beams-1) checkmagick $magick->Annotate( x => $s0 * $pixw + 2, y => $t1 * $pixh - 2, - text => $i + text => $i, + font => '/usr/share/fonts/TTF/DejaVuSansMono.ttf' ); } ++$i; diff --git a/physicsCPMA.cfg b/physicsCPMA.cfg index 620ec882e..9734cfc6f 100644 --- a/physicsCPMA.cfg +++ b/physicsCPMA.cfg @@ -1,4 +1,6 @@ +g_mod_physics CPMA // these values match CPMA + sv_gravity 800 sv_maxspeed 320 sv_maxairspeed 320 diff --git a/physicsFruit.cfg b/physicsFruit.cfg index 1afb26330..5f65d66d8 100644 --- a/physicsFruit.cfg +++ b/physicsFruit.cfg @@ -1,4 +1,6 @@ +g_mod_physics Fruit // physicsNoQWBunny.cfg vs physicsXPM.cfg + sv_gravity 800 sv_maxspeed 320 sv_maxairspeed 320 diff --git a/physicsHavoc.cfg b/physicsHavoc.cfg index d78346e1b..f10715872 100644 --- a/physicsHavoc.cfg +++ b/physicsHavoc.cfg @@ -1,4 +1,6 @@ +g_mod_physics Havoc // Xonotic Havoc physics (work in progress) + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 220 diff --git a/physicsLeeStricklin-ModdedFruit.cfg b/physicsLeeStricklin-ModdedFruit.cfg index 21bafef57..3553a94a7 100644 --- a/physicsLeeStricklin-ModdedFruit.cfg +++ b/physicsLeeStricklin-ModdedFruit.cfg @@ -1,4 +1,6 @@ +g_mod_physics LeeStricklin-ModdedFruit // "NoQWBunny" physics based on XPM + sv_gravity 800 sv_maxspeed 424 sv_maxairspeed 400 diff --git a/physicsLeeStricklin.cfg b/physicsLeeStricklin.cfg index 3c740da33..e4aef4440 100644 --- a/physicsLeeStricklin.cfg +++ b/physicsLeeStricklin.cfg @@ -1,4 +1,6 @@ +g_mod_physics LeeStricklin // "NoQWBunny" physics based on XPM + sv_gravity 800 sv_maxspeed 320 sv_maxairspeed 424 diff --git a/physicsLeeStricklinOld.cfg b/physicsLeeStricklinOld.cfg index d240d991b..eda92ac69 100644 --- a/physicsLeeStricklinOld.cfg +++ b/physicsLeeStricklinOld.cfg @@ -1,5 +1,7 @@ +g_mod_physics LeeStricklinOld // These have been modified from Nexuiz 2.4.2's physicsQBR.cfg file and a bunch of other crap div0 threw on here :P // DO NOT SCREW WITH friction on land, edge friction, step height, or sv_airaccel_qw + sv_gravity 819 sv_maxspeed 420 sv_maxairspeed 283 diff --git a/physicsLzd.cfg b/physicsLzd.cfg index 86b4bdcf0..cd76c2fe3 100644 --- a/physicsLzd.cfg +++ b/physicsLzd.cfg @@ -1,5 +1,7 @@ +g_mod_physics Lzd //LZD Physics Config v0.1 //By PCLizard and Oh Hai :) + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 300 diff --git a/physicsNexuiz10.cfg b/physicsNexuiz10.cfg index a6673a28e..6c99b307f 100644 --- a/physicsNexuiz10.cfg +++ b/physicsNexuiz10.cfg @@ -1,4 +1,6 @@ +g_mod_physics Nexuiz10 // Xonotic 1.0 physics + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 100 diff --git a/physicsNexuiz11.cfg b/physicsNexuiz11.cfg index 60459c374..65a6a4b6f 100644 --- a/physicsNexuiz11.cfg +++ b/physicsNexuiz11.cfg @@ -1,4 +1,6 @@ +g_mod_physics Nexuiz11 // Xonotic 1.5 physics + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 50 diff --git a/physicsNexuiz151.cfg b/physicsNexuiz151.cfg index b099d4cf3..833a67dce 100644 --- a/physicsNexuiz151.cfg +++ b/physicsNexuiz151.cfg @@ -1,4 +1,6 @@ +g_mod_physics Nexuiz151 // experimental post-Xonotic 1.5 physics (never released) + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 50 diff --git a/physicsNexuiz151b.cfg b/physicsNexuiz151b.cfg index 8821b5a31..31380c973 100644 --- a/physicsNexuiz151b.cfg +++ b/physicsNexuiz151b.cfg @@ -1,4 +1,6 @@ +g_mod_physics Nexuiz151b // experimental post-Xonotic 1.5 physics (never released) + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 25 diff --git a/physicsNexuiz16rc1.cfg b/physicsNexuiz16rc1.cfg index ff6343f78..f3a85e50b 100644 --- a/physicsNexuiz16rc1.cfg +++ b/physicsNexuiz16rc1.cfg @@ -1,4 +1,6 @@ +g_mod_physics Nexuiz16rc1 // experimental post-Xonotic 1.5 physics (never released) + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 50 diff --git a/physicsNexuiz20.cfg b/physicsNexuiz20.cfg index 0834bb5aa..60071e184 100644 --- a/physicsNexuiz20.cfg +++ b/physicsNexuiz20.cfg @@ -1,4 +1,6 @@ +g_mod_physics Nexuiz20 // Quake, Bunny Reintroduced (Xonotic 2.0 to 2.4.2 physics) + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 220 diff --git a/physicsNexuiz25.cfg b/physicsNexuiz25.cfg index 8c5ab5e85..dd984bb31 100644 --- a/physicsNexuiz25.cfg +++ b/physicsNexuiz25.cfg @@ -1,4 +1,6 @@ +g_mod_physics Nexuiz25 // Xonotic 2.5 physics + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 220 diff --git a/physicsNexuiz26.cfg b/physicsNexuiz26.cfg index 4e104d1aa..827bbc55c 100644 --- a/physicsNexuiz26.cfg +++ b/physicsNexuiz26.cfg @@ -1,4 +1,6 @@ +g_mod_physics Nexuiz26 // Xonotic 2.6 physics + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 220 diff --git a/physicsNoQWBunny-nexbased.cfg b/physicsNoQWBunny-nexbased.cfg index e74b332ed..f8d43c4f2 100644 --- a/physicsNoQWBunny-nexbased.cfg +++ b/physicsNoQWBunny-nexbased.cfg @@ -1,4 +1,6 @@ +g_mod_physics NoQWBunny-nexbased // "NoQWBunny" physics based on Nexuiz 2.0-2.4.2 + sv_gravity 800 sv_maxspeed 360 sv_maxairspeed 400 diff --git a/physicsQ.cfg b/physicsQ.cfg index 1eb53ab38..c26745629 100644 --- a/physicsQ.cfg +++ b/physicsQ.cfg @@ -1,4 +1,6 @@ +g_mod_physics Q // Quake 1 + sv_gravity 800 sv_maxspeed 320 sv_maxairspeed 30 diff --git a/physicsQ2.cfg b/physicsQ2.cfg index 2e3c0af6f..05e2f1456 100644 --- a/physicsQ2.cfg +++ b/physicsQ2.cfg @@ -1,4 +1,6 @@ +g_mod_physics Q2 // Quake 2 + sv_gravity 800 sv_maxspeed 300 sv_maxairspeed 300 diff --git a/physicsQ2a.cfg b/physicsQ2a.cfg index 2d223a205..9b953e32e 100644 --- a/physicsQ2a.cfg +++ b/physicsQ2a.cfg @@ -1,4 +1,6 @@ +g_mod_physics Q2a // Quake 2 if pm_airaccelerate were set to 10 and not 0 (Q1-like) + sv_gravity 800 sv_maxspeed 300 sv_maxairspeed 30 diff --git a/physicsQ3.cfg b/physicsQ3.cfg index b3fdf41a8..eed1c7409 100644 --- a/physicsQ3.cfg +++ b/physicsQ3.cfg @@ -1,4 +1,6 @@ +g_mod_physics Q3 // these values match Quake3 + sv_gravity 800 sv_maxspeed 320 sv_maxairspeed 320 diff --git a/physicsQBF.cfg b/physicsQBF.cfg index 390cb968a..8dff0edd9 100644 --- a/physicsQBF.cfg +++ b/physicsQBF.cfg @@ -1,4 +1,6 @@ +g_mod_physics QBF // Quake, Bunny Fixed (feels very slow) + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 250 diff --git a/physicsQBFplus.cfg b/physicsQBFplus.cfg index 8c1a78f3b..634b6083e 100644 --- a/physicsQBFplus.cfg +++ b/physicsQBFplus.cfg @@ -1,4 +1,6 @@ +g_mod_physics QBFplus // Quake, Bunny Fixed Plus (faster using forward hopping) + sv_gravity 800 sv_maxspeed 400 sv_maxairspeed 220 diff --git a/physicsSamual.cfg b/physicsSamual.cfg index 178eed0ae..8019089bf 100644 --- a/physicsSamual.cfg +++ b/physicsSamual.cfg @@ -1,4 +1,6 @@ +g_mod_physics Samual // Mix of 2.3 physics and NANL physics, goal of going for faster movement + sv_gravity 800 sv_maxspeed 420 sv_maxairspeed 235 diff --git a/physicsWarsow.cfg b/physicsWarsow.cfg index 6cae75a79..7d66b3716 100644 --- a/physicsWarsow.cfg +++ b/physicsWarsow.cfg @@ -1,4 +1,6 @@ +g_mod_physics Warsow // these values match Warsow 0.42 + sv_gravity 850 sv_maxspeed 320 sv_maxairspeed 320 diff --git a/physicsWarsowClassicBunny.cfg b/physicsWarsowClassicBunny.cfg index 5c0c81c8f..1dbb14a90 100644 --- a/physicsWarsowClassicBunny.cfg +++ b/physicsWarsowClassicBunny.cfg @@ -1,4 +1,6 @@ +g_mod_physics WarsowClassicBunny // these values match Warsow 0.42 GS_CLASSICBUNNY + sv_gravity 850 sv_maxspeed 320 sv_maxairspeed 320 diff --git a/physicsWarsowDev.cfg b/physicsWarsowDev.cfg index 0c30fcd9a..f2f989d75 100644 --- a/physicsWarsowDev.cfg +++ b/physicsWarsowDev.cfg @@ -1,4 +1,6 @@ +g_mod_physics WarsowDev // these values match Warsow 0.42 + sv_gravity 850 sv_maxspeed 320 sv_maxairspeed 320 diff --git a/physicsX.cfg b/physicsX.cfg index 7a78d3726..e2a3ef648 100644 --- a/physicsX.cfg +++ b/physicsX.cfg @@ -1,4 +1,6 @@ +g_mod_physics Xonotic // current Xonotic physics + sv_gravity 800 sv_maxspeed 360 sv_maxairspeed 360 diff --git a/physicsX010.cfg b/physicsX010.cfg index bda627271..77926d05f 100644 --- a/physicsX010.cfg +++ b/physicsX010.cfg @@ -1,4 +1,6 @@ +g_mod_physics Xonotic010 // Xonotic 0.1.0preview physics + sv_gravity 800 sv_maxspeed 360 sv_maxairspeed 400 diff --git a/physicsXPM.cfg b/physicsXPM.cfg index f78153948..55e2ef01d 100644 --- a/physicsXPM.cfg +++ b/physicsXPM.cfg @@ -1,4 +1,6 @@ +g_mod_physics XPM // Nexrun tweaked to suit CPM + sv_gravity 800 sv_maxspeed 320 // CPMA: 320 diff --git a/physicsXPMLight.cfg b/physicsXPMLight.cfg index 3a8b8e150..d0f31c2c0 100644 --- a/physicsXPMLight.cfg +++ b/physicsXPMLight.cfg @@ -1,4 +1,6 @@ +g_mod_physics XPMLight // Nexrun tweaked to suit CPM + sv_gravity 800 sv_maxspeed 320 // CPMA: 320 diff --git a/qcsrc/Makefile b/qcsrc/Makefile index a05d13ff8..27f6fc993 100644 --- a/qcsrc/Makefile +++ b/qcsrc/Makefile @@ -3,7 +3,7 @@ FTEQCC ?= fteqcc 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 -Ono-return_only -fno-fastarrays $(FTEQCCFLAGS_EXTRA) $(FTEQCCFLAGS_WATERMARK) FTEQCCFLAGS_PROGS ?= FTEQCCFLAGS_MENU ?= diff --git a/qcsrc/client/Defs.qc b/qcsrc/client/Defs.qc index 5282910a2..9bd8e8c8a 100644 --- a/qcsrc/client/Defs.qc +++ b/qcsrc/client/Defs.qc @@ -271,3 +271,9 @@ float nex_charge_movingavg; float serverflags; float uid2name_dialog; + +.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; diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index 3798edf8a..ec258e27d 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -2,6 +2,19 @@ // BEGIN REQUIRED CSQC FUNCTIONS //include "main.qh" +entity clearentity_ent; +void clearentity(entity e) +{ + if not(clearentity_ent) + { + clearentity_ent = spawn(); + clearentity_ent.classname = "clearentity"; + } + float n = e.entnum; + copyentity(clearentity_ent, e); + e.entnum = n; +} + #define DP_CSQC_ENTITY_REMOVE_IS_B0RKED void menu_show_error() { @@ -165,7 +178,7 @@ void CSQC_Init(void) DamageInfo_Precache(); Vehicles_Precache(); turrets_precache(); - Announcer_Precache(); + Announcer_Precache(); Tuba_Precache(); if(autocvar_cl_reticle) @@ -196,6 +209,8 @@ void CSQC_Init(void) hud_configure_prev = -1; tab_panel = -1; + + draw_currentSkin = strzone(strcat("gfx/menu/", cvar_string("menu_skin"))); } // CSQC_Shutdown : Called every time the CSQC code is shutdown (changing maps, quitting, etc) @@ -704,6 +719,7 @@ void CSQC_Ent_Update(float bIsNewEntity) //print(_("A CSQC entity changed its type!\n")); print(sprintf(_("A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n"), num_for_edict(self), self.entnum, self.enttype, t)); Ent_Remove(); + clearentity(self); bIsNewEntity = 1; } } @@ -776,6 +792,11 @@ void Ent_Remove() // CSQC_Ent_Remove : Called when the server requests a SSQC / CSQC entity to be removed. Essentially call remove(self) as well. void CSQC_Ent_Remove() { + if(wasfreed(self)) + { + print("WARNING: CSQC_Ent_Remove called for already removed entity. Packet loss?\n"); + return; + } if(self.enttype) Ent_Remove(); remove(self); @@ -785,7 +806,8 @@ void Gamemode_Init() { if not(isdemo()) { - localcmd("\n_cl_hook_gamestart ", MapInfo_Type_ToString(gametype), "\n"); + if(!(calledhooks & HOOK_START)) + localcmd("\n_cl_hook_gamestart ", MapInfo_Type_ToString(gametype), "\n"); calledhooks |= HOOK_START; } } @@ -878,6 +900,7 @@ void Ent_Init() hagar_maxrockets = ReadByte(); g_trueaim_minrange = ReadCoord(); + g_balance_porto_secondary = ReadByte(); if(!postinit) PostInit(); @@ -1158,6 +1181,10 @@ float CSQC_Parse_TempEntity() Net_VehicleSetup(); bHandled = true; break; + case TE_CSQC_SVNOTICE: + cl_notice_read(); + bHandled = true; + break; default: // No special logic for this temporary entity; return 0 so the engine can handle it bHandled = false; diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index 556859a46..66d7dd31c 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -12,6 +12,8 @@ void Porto_Draw() if(activeweapon != WEP_PORTO || spectatee_status || gametype == MAPINFO_TYPE_NEXBALL) return; + if(g_balance_porto_secondary) + return; if(intermission == 1) return; if(intermission == 2) @@ -92,6 +94,7 @@ vector GetCurrentFov(float fov) { float zoomsensitivity, zoomspeed, zoomfactor, zoomdir; float velocityzoom, curspeed; + vector v; zoomsensitivity = autocvar_cl_zoomsensitivity; zoomfactor = autocvar_cl_zoomfactor; @@ -157,13 +160,17 @@ vector GetCurrentFov(float fov) makevectors(view_angles); - if(autocvar_cl_velocityzoom) + if(autocvar_cl_velocityzoom && autocvar_cl_velocityzoom_type) // _type = 0 disables velocity zoom too { + v = pmove_vel; + if(csqcplayer) + v = csqcplayer.velocity; + switch(autocvar_cl_velocityzoom_type) { - case 3: curspeed = max(0, v_forward * pmove_vel); break; - case 2: curspeed = (v_forward * pmove_vel); break; - case 1: default: curspeed = vlen(pmove_vel); break; + case 3: curspeed = max(0, v_forward * v); break; + case 2: curspeed = (v_forward * v); break; + case 1: default: curspeed = vlen(v); break; } velocityzoom = bound(0, drawframetime / max(0.000000001, autocvar_cl_velocityzoom_time), 1); // speed at which the zoom adapts to player velocity @@ -218,14 +225,18 @@ void TrueAim_Init() float EnemyHitCheck() { - float t; + float t, n; wcross_origin = project_3d_to_2d(trace_endpos); wcross_origin_z = 0; - if(trace_networkentity < 1) + if(trace_ent) + n = trace_ent.entnum; + else + n = trace_networkentity; + if(n < 1) return SHOTTYPE_HITWORLD; - if(trace_networkentity > maxclients) + if(n > maxclients) return SHOTTYPE_HITWORLD; - t = GetPlayerColor(trace_networkentity - 1); + t = GetPlayerColor(n - 1); if(teamplay) if(t == myteam) return SHOTTYPE_HITTEAM; @@ -363,6 +374,7 @@ float checkfail[16]; #define BUTTON_3 4 #define BUTTON_4 8 +float cl_notice_run(); void CSQC_UpdateView(float w, float h) { entity e; @@ -372,6 +384,10 @@ void CSQC_UpdateView(float w, float h) vector vf_size, vf_min; float a; + execute_next_frame(); + + ++framecount; + hud = getstati(STAT_HUD); if(checkextension("DP_CSQC_MINFPS_QUALITY")) @@ -911,12 +927,14 @@ void CSQC_UpdateView(float w, float h) } } - if(autocvar_hud_postprocessing) // TODO: Remove this code and re-do the postprocess handling in the engine, where it properly belongs. + float e1 = (autocvar_hud_postprocessing_maxbluralpha != 0); + float e2 = (autocvar_hud_powerup != 0); + if(autocvar_hud_postprocessing && (e1 || e2)) // TODO: Remove this code and re-do the postprocess handling in the engine, where it properly belongs. { // enable or disable rendering types if they are used or not - if(cvar("r_glsl_postprocess_uservec1_enable") != (autocvar_hud_postprocessing_maxbluralpha != 0)) { cvar_set("r_glsl_postprocess_uservec1_enable", ftos(autocvar_hud_postprocessing_maxbluralpha != 0)); } - if(cvar("r_glsl_postprocess_uservec2_enable") != (autocvar_hud_powerup != 0)) { cvar_set("r_glsl_postprocess_uservec2_enable", ftos(autocvar_hud_powerup != 0)); } - + if(cvar("r_glsl_postprocess_uservec1_enable") != e1) { cvar_set("r_glsl_postprocess_uservec1_enable", ftos(e1)); } + if(cvar("r_glsl_postprocess_uservec2_enable") != e2) { cvar_set("r_glsl_postprocess_uservec2_enable", ftos(e2)); } + // blur postprocess handling done first (used by hud_damage and hud_contents) if((damage_blurpostprocess_x || content_blurpostprocess_x) && autocvar_chase_active >= 0) // not while the event chase camera is active { @@ -956,7 +974,12 @@ void CSQC_UpdateView(float w, float h) cvar_set("r_glsl_postprocess_uservec2", "0 0 0 0"); old_sharpen_intensity = 0; } + + if(cvar("r_glsl_postprocess") == 0) + cvar_set("r_glsl_postprocess", "2"); } + else if(cvar("r_glsl_postprocess") == 2) + cvar_set("r_glsl_postprocess", "0"); if(menu_visible) menu_show(); @@ -1011,7 +1034,11 @@ void CSQC_UpdateView(float w, float h) 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; @@ -1363,10 +1390,12 @@ void CSQC_UpdateView(float w, float h) { 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? + // FIXME why don't we use wcross_alpha here?cl_notice_run(); wcross_color = wcross_color_old; } } @@ -1440,6 +1469,9 @@ void CSQC_UpdateView(float w, float h) else if(hud == HUD_BUMBLEBEE) CSQC_BUMBLE_HUD(); } + + cl_notice_run(); + // let's reset the view back to normal for the end setproperty(VF_MIN, '0 0 0'); setproperty(VF_SIZE, '1 0 0' * w + '0 1 0' * h); @@ -1465,7 +1497,7 @@ void CSQC_common_hud(void) acc_lev[i] = stof(argv(i)) / 100.0; } // let know that acc_col[] needs to be loaded - acc_col_x[0] = -1; + acc_col[0] = '-1 0 0'; } HUD_Main(); // always run these functions for alpha checks diff --git a/qcsrc/client/autocvars.qh b/qcsrc/client/autocvars.qh index 83eb9cbda..e5ea0bb00 100644 --- a/qcsrc/client/autocvars.qh +++ b/qcsrc/client/autocvars.qh @@ -67,8 +67,9 @@ float autocvar_cl_reticle_stretch; float autocvar_cl_stripcolorcodes; var float autocvar_cl_vehicle_spiderbot_cross_alpha = 0.6; var float autocvar_cl_vehicle_spiderbot_cross_size = 1; +var float autocvar_cl_vehicles_hud_tactical = 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; @@ -89,9 +90,11 @@ float autocvar_crosshair_color_per_weapon; 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; @@ -152,8 +155,8 @@ float autocvar_g_waypointsprite_normdistance; float autocvar_g_waypointsprite_scale; float autocvar_g_waypointsprite_spam; float autocvar_g_waypointsprite_timealphaexponent; -float autocvar_g_waypointsprites_turrets; -float autocvar_g_waypointsprites_turrets_maxdist; +//float autocvar_g_waypointsprites_turrets; +//float autocvar_g_waypointsprites_turrets_maxdist; float autocvar_hud_colorflash_alpha; float autocvar_hud_configure_checkcollisions; @@ -260,7 +263,9 @@ float autocvar_hud_panel_notify_fontsize; float autocvar_hud_panel_notify_print; float autocvar_hud_panel_notify_time; float autocvar_hud_panel_physics; -float autocvar_hud_panel_physics_acceleration_mode; +float autocvar_hud_panel_physics_acceleration_progressbar_mode; +float autocvar_hud_panel_physics_acceleration_progressbar_scale; +float autocvar_hud_panel_physics_acceleration_progressbar_nonlinear; float autocvar_hud_panel_physics_acceleration_max; float autocvar_hud_panel_physics_progressbar; float autocvar_hud_panel_physics_acceleration_vertical; @@ -271,6 +276,7 @@ float autocvar_hud_panel_physics_speed_unit; float autocvar_hud_panel_physics_speed_unit_show; float autocvar_hud_panel_physics_speed_vertical; float autocvar_hud_panel_physics_text; +float autocvar_hud_panel_physics_text_scale; float autocvar_hud_panel_physics_topspeed; float autocvar_hud_panel_physics_topspeed_time; float autocvar_hud_panel_powerups; @@ -280,9 +286,11 @@ float autocvar_hud_panel_powerups_iconalign; float autocvar_hud_panel_powerups_progressbar; string autocvar_hud_panel_powerups_progressbar_shield; string autocvar_hud_panel_powerups_progressbar_strength; +string autocvar_hud_panel_powerups_progressbar_superweapons; float autocvar_hud_panel_powerups_text; float autocvar_hud_panel_pressedkeys; float autocvar_hud_panel_pressedkeys_aspect; +float autocvar_hud_panel_pressedkeys_attack; float autocvar_hud_panel_racetimer; float autocvar_hud_panel_radar; float autocvar_hud_panel_radar_foreground_alpha; @@ -343,7 +351,6 @@ float autocvar_hud_shownames_antioverlap; float autocvar_hud_shownames_antioverlap_distance; float autocvar_hud_shownames_offset; string autocvar_hud_skin; -float autocvar_loddebug; float autocvar_menu_mouse_speed; string autocvar_menu_skin; float autocvar_r_fakelight; @@ -383,9 +390,17 @@ var float autocvar_cl_eventchase_distance = 140; 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; +float autocvar_cl_modeldetailreduction; +float autocvar_cl_loddistance1 = 768; +float autocvar_cl_loddistance2 = 2048; float autocvar_cl_forceplayermodels; float autocvar_cl_forceplayercolors; string autocvar_cl_forcemyplayermodel; @@ -394,3 +409,4 @@ float autocvar_cl_forcemyplayercolors; float autocvar__cl_playerskin; string autocvar__cl_playermodel; float autocvar_cl_precacheplayermodels; +float autocvar_cl_deathglow; diff --git a/qcsrc/client/bgmscript.qc b/qcsrc/client/bgmscript.qc index 353c5419a..694bc0cc6 100644 --- a/qcsrc/client/bgmscript.qc +++ b/qcsrc/client/bgmscript.qc @@ -132,7 +132,8 @@ void BGMScript_InitEntity(entity e) if(i >= bgmscriptbufsize) { print(sprintf("ERROR: bgmscript does not define %s\n", e.bgmscript)); - e.bgmscript = ""; + strunzone(e.bgmscript); + e.bgmscript = string_null; } } } diff --git a/qcsrc/client/casings.qc b/qcsrc/client/casings.qc index 1e2d4fbd8..a43d1726f 100644 --- a/qcsrc/client/casings.qc +++ b/qcsrc/client/casings.qc @@ -15,6 +15,8 @@ void Casing_Draw() } 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); @@ -75,7 +77,7 @@ void Ent_Casing(float isNew) { entity casing; - casing = RubbleNew("casing"); + casing = RubbleNew("casing"); casing.state = ReadByte(); casing.silent = (casing.state & 0x80); casing.state = (casing.state & 0x7F); @@ -113,11 +115,16 @@ void Ent_Casing(float isNew) } setsize(casing, '0 0 -1', '0 0 -1'); - } - else - Casing_Delete(); - RubbleLimit("casing", autocvar_cl_casings_maxcount, Casing_Delete); + RubbleLimit("casing", autocvar_cl_casings_maxcount, Casing_Delete); + } + else + { + entity oldself = self; + self = casing; + Casing_Delete(); // yes, this IS stupid, but I don't need to duplicate all the read* stuff then + self = oldself; + } } void Casings_Precache() diff --git a/qcsrc/client/command/cl_cmd.qc b/qcsrc/client/command/cl_cmd.qc index 77cbddd85..638b7f996 100644 --- a/qcsrc/client/command/cl_cmd.qc +++ b/qcsrc/client/command/cl_cmd.qc @@ -323,7 +323,7 @@ void LocalCommand_(float request) void LocalCommand_macro_help() { #define CLIENT_COMMAND(name,function,description) \ - { if(strtolower(description) != string_null) { print(" ^2", name, "^7: ", description, "\n"); } } + { if(strtolower(description) != "") { print(" ^2", name, "^7: ", description, "\n"); } } CLIENT_COMMANDS(0, 0) #undef CLIENT_COMMAND @@ -356,7 +356,7 @@ float LocalCommand_macro_usage(float argc) void LocalCommand_macro_write_aliases(float fh) { #define CLIENT_COMMAND(name,function,description) \ - { CMD_Write_Alias("qc_cmd_cl", name, description); } + { if(strtolower(description) != "") { CMD_Write_Alias("qc_cmd_cl", name, description); } } CLIENT_COMMANDS(0, 0) #undef CLIENT_COMMAND @@ -524,4 +524,4 @@ float CSQC_ConsoleCommand(string command) // Return value should be 1 if CSQC handled the command, otherwise return 0 to have the engine handle it. return FALSE; -} \ No newline at end of file +} diff --git a/qcsrc/client/csqcmodel_hooks.qc b/qcsrc/client/csqcmodel_hooks.qc index 92b8983b3..152ecbe82 100644 --- a/qcsrc/client/csqcmodel_hooks.qc +++ b/qcsrc/client/csqcmodel_hooks.qc @@ -1,3 +1,5 @@ +void CSQCModel_Hook_PreDraw(); + .float isplayermodel; // FEATURE: LOD @@ -12,12 +14,8 @@ void CSQCPlayer_LOD_Apply(void) string modelname = self.model; string s; - if(!fexists(modelname)) - { - print(sprintf(_("Trying to use non existing model %s. "), modelname)); - modelname = cvar_defstring("_cl_playermodel"); - print(sprintf(_("Reverted to %s.\n"), modelname)); - } + vector mi = self.mins; + vector ma = self.maxs; // set modelindex self.lodmodelindex0 = self.modelindex; @@ -44,6 +42,7 @@ void CSQCPlayer_LOD_Apply(void) } setmodel(self, modelname); // make everything normal again + setsize(self, mi, ma); } // apply LOD @@ -58,8 +57,8 @@ void CSQCPlayer_LOD_Apply(void) } else { - float distance = vlen(self.origin - other.origin); - float f = (distance + 100.0) * autocvar_cl_playerdetailreduction; + float distance = vlen(self.origin - view_origin); + float f = (distance * current_viewzoom + 100.0) * autocvar_cl_playerdetailreduction; f *= 1.0 / bound(0.01, view_quality, 1); if(f > autocvar_cl_loddistance2) self.modelindex = self.lodmodelindex2; @@ -72,17 +71,27 @@ void CSQCPlayer_LOD_Apply(void) // FEATURE: forcemodel (MUST be called BEFORE LOD!) string forceplayermodels_model; +float forceplayermodels_modelisgoodmodel; float forceplayermodels_modelindex; float forceplayermodels_skin; string forceplayermodels_mymodel; +float forceplayermodels_myisgoodmodel; float forceplayermodels_mymodelindex; float forceplayermodels_attempted; + .string forceplayermodels_savemodel; .float forceplayermodels_savemodelindex; .float forceplayermodels_saveskin; .float forceplayermodels_savecolormap; + +.string forceplayermodels_isgoodmodel_mdl; +.float forceplayermodels_isgoodmodel; + +string forceplayermodels_goodmodel; +float forceplayermodels_goodmodelindex; + void CSQCPlayer_ForceModel_PreUpdate(void) { self.model = self.forceplayermodels_savemodel; @@ -96,19 +105,39 @@ void CSQCPlayer_ForceModel_PostUpdate(void) self.forceplayermodels_savemodelindex = self.modelindex; self.forceplayermodels_saveskin = self.skin; self.forceplayermodels_savecolormap = self.colormap; + + if(self.forceplayermodels_savemodel != self.forceplayermodels_isgoodmodel_mdl) + { + self.forceplayermodels_isgoodmodel = fexists(self.forceplayermodels_savemodel); + self.forceplayermodels_isgoodmodel_mdl = self.forceplayermodels_savemodel; + if(!self.forceplayermodels_isgoodmodel) + print(sprintf("Warning: missing model %s has been used\n", self.forceplayermodels_savemodel)); + } } void CSQCPlayer_ForceModel_Apply(float islocalplayer) { - // first, try finding it from the server + // which one is ALWAYS good? + if not(forceplayermodels_goodmodel) + { + entity e; + e = spawn(); + precache_model(cvar_defstring("_cl_playermodel")); + setmodel(e, cvar_defstring("_cl_playermodel")); + forceplayermodels_goodmodel = e.model; + forceplayermodels_goodmodelindex = e.modelindex; + remove(e); + } + // first, try finding it from the server if(self.forceplayermodels_savemodelindex && self.forceplayermodels_savemodel != "null") { if(islocalplayer) { // trust server's idea of "own player model" - forceplayermodels_model = self.model; - forceplayermodels_modelindex = self.modelindex; - forceplayermodels_skin = self.skin; + forceplayermodels_modelisgoodmodel = self.forceplayermodels_isgoodmodel; + forceplayermodels_model = self.forceplayermodels_savemodel; + forceplayermodels_modelindex = self.forceplayermodels_savemodelindex; + forceplayermodels_skin = self.forceplayermodels_saveskin; forceplayermodels_attempted = 1; } } @@ -122,6 +151,7 @@ void CSQCPlayer_ForceModel_Apply(float islocalplayer) entity e; e = spawn(); setmodel(e, autocvar__cl_playermodel); // this is harmless, see below + forceplayermodels_modelisgoodmodel = fexists(e.model); forceplayermodels_model = e.model; forceplayermodels_modelindex = e.modelindex; forceplayermodels_skin = autocvar__cl_playerskin; @@ -133,35 +163,42 @@ void CSQCPlayer_ForceModel_Apply(float islocalplayer) entity e; e = spawn(); setmodel(e, autocvar_cl_forcemyplayermodel); // this is harmless, see below + forceplayermodels_myisgoodmodel = fexists(e.model); forceplayermodels_mymodel = e.model; forceplayermodels_mymodelindex = e.modelindex; remove(e); } // apply it - if(autocvar_cl_forcemyplayermodel != "" && forceplayermodels_mymodelindex && self.entnum == player_localnum + 1) + if(autocvar_cl_forcemyplayermodel != "" && forceplayermodels_myisgoodmodel && islocalplayer) { self.model = forceplayermodels_mymodel; self.modelindex = forceplayermodels_mymodelindex; self.skin = autocvar_cl_forcemyplayerskin; } - else if(autocvar_cl_forceplayermodels && forceplayermodels_modelindex) + else if(autocvar_cl_forceplayermodels && forceplayermodels_modelisgoodmodel) { self.model = forceplayermodels_model; self.modelindex = forceplayermodels_modelindex; self.skin = forceplayermodels_skin; } - else + else if(self.forceplayermodels_isgoodmodel) { self.model = self.forceplayermodels_savemodel; self.modelindex = self.forceplayermodels_savemodelindex; self.skin = self.forceplayermodels_saveskin; } + else + { + self.model = forceplayermodels_goodmodel; + self.modelindex = forceplayermodels_goodmodelindex; + self.skin = self.forceplayermodels_saveskin; + } // forceplayercolors too if(!teamplay) { - if(autocvar_cl_forcemyplayercolors && self.entnum == player_localnum + 1) + if(autocvar_cl_forcemyplayercolors && islocalplayer) self.colormap = 1024 + autocvar_cl_forcemyplayercolors; else if(autocvar_cl_forceplayercolors) self.colormap = player_localnum + 1; @@ -174,6 +211,8 @@ void CSQCPlayer_ForceModel_Apply(float islocalplayer) .float csqcmodel_saveframe3; .float csqcmodel_saveframe4; .float csqcmodel_framecount; + +#define IS_DEAD_FRAME(f) ((f) == 0 || (f) == 1) void CSQCPlayer_FallbackFrame_PreUpdate(void) { self.frame = self.csqcmodel_saveframe; @@ -193,23 +232,23 @@ void CSQCPlayer_FallbackFrame_PostUpdate(float isnew) if(isnew) { #define FIX_FRAMETIME(f,ft) \ - switch(self.f) \ + if(IS_DEAD_FRAME(self.f) && self.ft != 0 && self.death_time != 0) \ { \ - case 0: \ - case 1: \ - self.ft = 0; \ - break; \ + self.ft = self.death_time; \ } FIX_FRAMETIME(frame, frame1time) FIX_FRAMETIME(frame2, frame2time) FIX_FRAMETIME(frame3, frame3time) FIX_FRAMETIME(frame4, frame4time) } + self.csqcmodel_isdead = IS_DEAD_FRAME(self.frame); } float CSQCPlayer_FallbackFrame(float f) { if(frameduration(self.modelindex, f) > 0) return f; // goooooood + if(frameduration(self.modelindex, 1) <= 0) + return f; // this is a static model. We can't fix it if we wanted to switch(f) { case 23: return 11; // anim_melee -> anim_shoot @@ -232,16 +271,6 @@ void CSQCPlayer_FallbackFrame_Apply(void) self.frame4 = CSQCPlayer_FallbackFrame(self.frame4); } -// FEATURE: auto glowmod -.vector glowmod; -void CSQCPlayer_GlowMod_Apply(void) -{ - if(self.colormap > 0) - self.glowmod = colormapPaletteColor(((self.colormap >= 1024) ? self.colormap : stof(getplayerkeyvalue(self.colormap - 1, "colors"))) & 0x0F, TRUE) * 2; - else - self.glowmod = '1 1 1'; -} - // FEATURE: auto tag_index .entity tag_entity; .float tag_entity_lastmodelindex; @@ -260,6 +289,16 @@ void CSQCModel_AutoTagIndex_Apply(void) self.tag_entity = findfloat(world, entnum, self.tag_networkentity); changed = 1; } + + // recursive predraw call to fix issues with forcemodels and LOD if bone indexes mismatch + if(self.tag_entity.classname == "csqcmodel") + { + entity oldself = self; + self = self.tag_entity; + CSQCModel_Hook_PreDraw(); + self = oldself; + } + if(self.tag_entity.modelindex != self.tag_entity_lastmodelindex) { self.tag_entity_lastmodelindex = self.tag_entity.modelindex; @@ -271,6 +310,7 @@ void CSQCModel_AutoTagIndex_Apply(void) { // the best part is: IT EXISTS if(substring(self.model, 0, 17) == "models/weapons/v_") + { if(substring(self.tag_entity.model, 0, 17) == "models/weapons/h_") { self.tag_index = gettagindex(self.tag_entity, "weapon"); @@ -284,14 +324,15 @@ void CSQCModel_AutoTagIndex_Apply(void) dprint("h_ model lacks weapon attachment, but v_ model is attached to it\n"); } } - - if(substring(self.model, 0, 17) == "models/weapons/v_") - if(substring(self.tag_entity.model, 0, 14) == "models/player/") + else if(self.tag_entity.isplayermodel) { - self.tag_index = gettagindex(self.tag_entity, "tag_weapon"); + self.tag_index = gettagindex(self.tag_entity, "weapon"); + if(!self.tag_index) + self.tag_index = gettagindex(self.tag_entity, "tag_weapon"); if(!self.tag_index) self.tag_index = gettagindex(self.tag_entity, "bip01 r hand"); } + } if(substring(self.tag_entity.model, 0, 17) == "models/weapons/v_") { @@ -343,7 +384,7 @@ void CSQCModel_Effects_PostUpdate(void) void CSQCModel_Effects_Apply(void) { float eff = self.csqcmodel_effects; - eff &~= CSQCMODEL_EF_INVISIBLE; + eff &~= CSQCMODEL_EF_RESPAWNGHOST; self.renderflags &~= (RF_DEPTHHACK | RF_ADDITIVE | RF_FULLBRIGHT | EF_NOSHADOW | RF_USEAXIS); self.effects = 0; @@ -356,7 +397,7 @@ void CSQCModel_Effects_Apply(void) adddynamiclight(self.origin, 400, '3 3 3'); if(eff & EF_DIMLIGHT) adddynamiclight(self.origin, 200, '1.5 1.5 1.5'); - if((eff & EF_NODRAW) || (self.csqcmodel_effects & CSQCMODEL_EF_INVISIBLE) || (self.alpha < 0)) + if((eff & EF_NODRAW) || (self.alpha < 0)) self.drawmask = 0; if(eff & EF_ADDITIVE) self.renderflags |= RF_ADDITIVE; @@ -407,11 +448,45 @@ void CSQCModel_Effects_Apply(void) Projectile_DrawTrail(self.origin); else Projectile_ResetTrail(self.origin); + + if(self.csqcmodel_effects & CSQCMODEL_EF_RESPAWNGHOST) + self.renderflags |= RF_ADDITIVE; + // also special in CSQCPlayer_GlowMod_Apply +} + +// FEATURE: auto glowmod +.vector glowmod; +void CSQCPlayer_GlowMod_Apply(void) +{ + float cm = self.colormap; + + if(self.csqcmodel_effects & CSQCMODEL_EF_RESPAWNGHOST) + cm = 1024; + + if(self.colormap > 0) + self.glowmod = colormapPaletteColor(((self.colormap >= 1024) ? self.colormap : stof(getplayerkeyvalue(self.colormap - 1, "colors"))) & 0x0F, TRUE) * 2; + else + self.glowmod = '1 1 1'; + + if(autocvar_cl_deathglow > 0) + if(self.csqcmodel_isdead) + { + self.glowmod = self.glowmod * bound(0, 1 - (time - self.death_time) / autocvar_cl_deathglow, 1); + // prevent the zero vector + self.glowmod_x = max(self.glowmod_x, 0.0001); + self.glowmod_y = max(self.glowmod_y, 0.0001); + self.glowmod_z = max(self.glowmod_z, 0.0001); + } } // general functions -void CSQCModel_Hook_PreDraw(float isplayer, float islocalplayer) +.float csqcmodel_predraw_run; +void CSQCModel_Hook_PreDraw() { + if(self.csqcmodel_predraw_run == framecount) + return; + self.csqcmodel_predraw_run = framecount; + if(!self.modelindex || self.model == "null") { self.drawmask = 0; @@ -422,14 +497,13 @@ void CSQCModel_Hook_PreDraw(float isplayer, float islocalplayer) if(self.isplayermodel) // this checks if it's a player MODEL! { + CSQCPlayer_ForceModel_Apply(self.entnum == player_localnum + 1); CSQCPlayer_GlowMod_Apply(); - CSQCPlayer_ForceModel_Apply(islocalplayer); CSQCPlayer_LOD_Apply(); CSQCPlayer_FallbackFrame_Apply(); } - if(!isplayer) // this checks if it's a player SLOT! - CSQCModel_AutoTagIndex_Apply(); + CSQCModel_AutoTagIndex_Apply(); CSQCModel_Effects_Apply(); } @@ -448,7 +522,7 @@ void CSQCModel_Hook_PreUpdate(float isnew, float isplayer, float islocalplayer) void CSQCModel_Hook_PostUpdate(float isnew, float isplayer, float islocalplayer) { // is it a player model? (shared state) - self.isplayermodel = (substring(self.model, 0, 14) == "models/player/"); + self.isplayermodel = (substring(self.model, 0, 14) == "models/player/" || substring(self.model, 0, 17) == "models/ok_player/"); // save values set by server if(self.isplayermodel) diff --git a/qcsrc/client/damage.qc b/qcsrc/client/damage.qc index 5910dba3e..fc8b83b5b 100644 --- a/qcsrc/client/damage.qc +++ b/qcsrc/client/damage.qc @@ -1,6 +1,119 @@ +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, hitplayer; vector force, thisforce; entity oldself; @@ -18,6 +131,7 @@ void Ent_DamageInfo(float isNew) rad = ReadByte(); edge = ReadByte(); force = decompressShortVector(ReadShort()); + species = ReadByte(); if not(isNew) return; @@ -32,6 +146,10 @@ void Ent_DamageInfo(float isNew) for(self = findradius(w_org, rad + MAX_DAMAGEEXTRARADIUS); self; self = self.chain) { + // attached ents suck + if(self.tag_entity) + continue; + vector nearest = NearestPointOnBox(self, w_org); if(rad) { @@ -72,144 +190,149 @@ void Ent_DamageInfo(float isNew) if(self.event_damage) self.event_damage(thisdmg, w_deathtype, w_org, thisforce); + + DamageEffect(w_org, thisdmg, w_deathtype, species); + + if(self.isplayermodel) + hitplayer = TRUE; // this impact damaged a player } 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 if(!DEATH_ISSPECIAL(w_deathtype)) + if not(hitplayer && !rad) // don't show ground impacts for hitscan weapons if a player was hit { float hitwep; diff --git a/qcsrc/client/damage.qh b/qcsrc/client/damage.qh new file mode 100644 index 000000000..23982f132 --- /dev/null +++ b/qcsrc/client/damage.qh @@ -0,0 +1 @@ +.float total_damages; // number of effects which currently are attached to a player \ No newline at end of file diff --git a/qcsrc/client/gibs.qc b/qcsrc/client/gibs.qc index 6f6316bec..22825bc4f 100644 --- a/qcsrc/client/gibs.qc +++ b/qcsrc/client/gibs.qc @@ -115,6 +115,7 @@ void TossGib (string mdlname, vector safeorg, vector org, vector vconst, vector // 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; diff --git a/qcsrc/client/hud.qc b/qcsrc/client/hud.qc index 3e96d9223..f7ca1a5b9 100644 --- a/qcsrc/client/hud.qc +++ b/qcsrc/client/hud.qc @@ -432,7 +432,8 @@ float GetAmmoTypeForWep(float i) void HUD_Weapons(void) { // declarations - float weapons_stat = getstati(STAT_WEAPONS); + WEPSET_DECLARE_A(weapons_stat); + WEPSET_COPY_AS(weapons_stat); float i, f, a, j, factor; float screen_ar, center_x, center_y; float weapon_count, weapon_id, weapon_alpha; @@ -519,9 +520,9 @@ void HUD_Weapons(void) { if(autocvar__hud_configure) { - if (weapons_stat == 0) // create some fake weapons anyway - for(i = 0; i <= WEP_LAST-WEP_FIRST; i += floor((WEP_LAST-WEP_FIRST)/5)) - weapons_stat |= power2of(i); + if (WEPSET_EMPTY_A(weapons_stat)) + for(i = WEP_FIRST; i <= WEP_LAST; i += floor((WEP_LAST-WEP_FIRST)/5)) + WEPSET_OR_AW(weapons_stat, i); if(menu_enabled != 2) HUD_Panel_DrawBg(1); // also draw the bg of the entire panel @@ -529,7 +530,7 @@ void HUD_Weapons(void) // do we own this weapon? for(i = 0; i <= WEP_LAST-WEP_FIRST; ++i) - if(weapons_stat & weaponorder[i].weapons) + if(WEPSET_CONTAINS_AW(weapons_stat, weaponorder[i].weapon)) ++weapon_count; // add it anyway if weaponcomplain is shown @@ -662,7 +663,7 @@ void HUD_Weapons(void) if(autocvar_hud_panel_weapons_accuracy && acc_levels) { show_accuracy = true; - if (acc_col_x[0] == -1) + if (acc_col[0] == '-1 0 0') for (i = 0; i < acc_levels; ++i) acc_col[i] = stov(cvar_string(strcat("accuracy_color", ftos(i)))); } @@ -678,7 +679,7 @@ void HUD_Weapons(void) // skip this weapon if we don't own it (and onlyowned is enabled)-- or if weapons_complainbubble is showing for this weapon if (autocvar_hud_panel_weapons_onlyowned - && !((weapons_stat & self.weapons) + && !(WEPSET_CONTAINS_AW(weapons_stat, self.weapon) || (self.weapon == complain_weapon && time - complain_weapon_time < when + fadetime && autocvar_hud_panel_weapons_complainbubble))) @@ -714,7 +715,7 @@ void HUD_Weapons(void) } // drawing all the weapon items - if(weapons_stat & self.weapons) + if(WEPSET_CONTAINS_AW(weapons_stat, self.weapon)) { // draw the weapon image drawpic_aspect_skin(weapon_pos, strcat("weapon", self.netname), weapon_size, '1 1 1', weapon_alpha, DRAWFLAG_NORMAL); @@ -727,7 +728,7 @@ void HUD_Weapons(void) break; case 2: // bind - drawstring(weapon_pos, getcommandkey(ftos(weapon_id), strcat("impulse ", ftos(weapon_id))), '1 1 0' * 0.5 * weapon_size_y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + drawstring(weapon_pos, getcommandkey(ftos(weapon_id), strcat("weapon_group_", ftos(weapon_id))), '1 1 0' * 0.5 * weapon_size_y, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); break; case 3: // weapon name @@ -988,7 +989,7 @@ void HUD_Ammo(void) } } -void DrawNumIcon(vector myPos, vector mySize, float x, string icon, float vertical, float icon_right_align, vector color, float theAlpha) +void DrawNumIcon_expanding(vector myPos, vector mySize, float x, string icon, float vertical, float icon_right_align, vector color, float theAlpha, float fadelerp) { vector newPos, newSize; vector picpos, numpos; @@ -1061,32 +1062,39 @@ void DrawNumIcon(vector myPos, vector mySize, float x, string icon, float vertic picpos = newPos; } - drawstring_aspect(numpos, ftos(x), '2 1 0' * newSize_y, color, panel_fg_alpha * theAlpha, DRAWFLAG_NORMAL); - drawpic_aspect_skin(picpos, icon, '1 1 0' * newSize_y, '1 1 1', panel_fg_alpha * theAlpha, DRAWFLAG_NORMAL); + // NOTE: newSize_x is always equal to 3 * mySize_y so we can use + // '2 1 0' * newSize_y instead of eX * (2/3) * newSize_x + eY * newSize_y + drawstring_aspect_expanding(numpos, ftos(x), '2 1 0' * newSize_y, color, panel_fg_alpha * theAlpha, DRAWFLAG_NORMAL, fadelerp); + drawpic_aspect_skin_expanding(picpos, icon, '1 1 0' * newSize_y, '1 1 1', panel_fg_alpha * theAlpha, DRAWFLAG_NORMAL, fadelerp); } -void DrawNumIcon_expanding(vector myPos, vector mySize, float x, string icon, float vertical, float icon_right_align, vector color, float fadelerp) +void DrawNumIcon(vector myPos, vector mySize, float x, string icon, float vertical, float icon_right_align, vector color, float theAlpha) { - float sz; - sz = expandingbox_sizefactor_from_fadelerp(fadelerp); - - DrawNumIcon(myPos + expandingbox_resize_centered_box_offset(sz, mySize, 1), mySize * sz, x, icon, vertical, icon_right_align, color, (1 - fadelerp)); + DrawNumIcon_expanding(myPos, mySize, x, icon, vertical, icon_right_align, color, theAlpha, 0); } // Powerups (#2) // void HUD_Powerups(void) { - float strength_time, shield_time; + float strength_time, shield_time, superweapons_time; if(!autocvar__hud_configure) { if(!autocvar_hud_panel_powerups) return; if(spectatee_status == -1) return; - if not(getstati(STAT_ITEMS, 0, 24) & (IT_STRENGTH | IT_INVINCIBLE)) return; + if not(getstati(STAT_ITEMS, 0, 24) & (IT_STRENGTH | IT_INVINCIBLE | IT_SUPERWEAPON)) return; if (getstati(STAT_HEALTH) <= 0) return; strength_time = bound(0, getstatf(STAT_STRENGTH_FINISHED) - time, 99); shield_time = bound(0, getstatf(STAT_INVINCIBLE_FINISHED) - time, 99); + superweapons_time = bound(0, getstatf(STAT_SUPERWEAPONS_FINISHED) - time, 99); + + if (getstati(STAT_ITEMS, 0, 24) & IT_UNLIMITED_SUPERWEAPONS) + superweapons_time = 99; // force max + + // prevent stuff to show up on mismatch that will be fixed next frame + if (!(getstati(STAT_ITEMS, 0, 24) & IT_SUPERWEAPON)) + superweapons_time = 0; } else { @@ -1094,6 +1102,7 @@ void HUD_Powerups(void) strength_time = 15; shield_time = 27; + superweapons_time = 13; } HUD_Panel_UpdateCvars(powerups); @@ -1102,7 +1111,7 @@ void HUD_Powerups(void) pos = panel_pos; mySize = panel_size; - HUD_Panel_DrawBg(bound(0, max(strength_time, shield_time), 1)); + HUD_Panel_DrawBg(bound(0, max(strength_time, shield_time, superweapons_time), 1)); if(panel_bg_padding) { pos += '1 1 0' * panel_bg_padding; @@ -1111,26 +1120,73 @@ void HUD_Powerups(void) float panel_ar = mySize_x/mySize_y; float is_vertical = (panel_ar < 1); - vector shield_offset, strength_offset; - if (panel_ar >= 4 || (panel_ar >= 1/4 && panel_ar < 1)) + vector shield_offset, strength_offset, superweapons_offset; + + float superweapons_is = -1; + + if(superweapons_time) { - mySize_x *= 0.5; - if (autocvar_hud_panel_powerups_flip) - shield_offset_x = mySize_x; + if(strength_time) + { + if(shield_time) + superweapons_is = 0; + else + superweapons_is = 2; + } else - strength_offset_x = mySize_x; + { + if(shield_time) + superweapons_is = 1; + else + superweapons_is = 2; + } + } + + // FIXME handle superweapons here + if(superweapons_is == 0) + { + if (panel_ar >= 4 || (panel_ar >= 1/4 && panel_ar < 1)) + { + mySize_x *= (1.0 / 3.0); + superweapons_offset_x = mySize_x; + if (autocvar_hud_panel_powerups_flip) + shield_offset_x = 2*mySize_x; + else + strength_offset_x = 2*mySize_x; + } + else + { + mySize_y *= (1.0 / 3.0); + superweapons_offset_y = mySize_y; + if (autocvar_hud_panel_powerups_flip) + shield_offset_y = 2*mySize_y; + else + strength_offset_y = 2*mySize_y; + } } else { - mySize_y *= 0.5; - if (autocvar_hud_panel_powerups_flip) - shield_offset_y = mySize_y; + if (panel_ar >= 4 || (panel_ar >= 1/4 && panel_ar < 1)) + { + mySize_x *= 0.5; + if (autocvar_hud_panel_powerups_flip) + shield_offset_x = mySize_x; + else + strength_offset_x = mySize_x; + } else - strength_offset_y = mySize_y; + { + mySize_y *= 0.5; + if (autocvar_hud_panel_powerups_flip) + shield_offset_y = mySize_y; + else + strength_offset_y = mySize_y; + } } - float shield_baralign, strength_baralign; - float shield_iconalign, strength_iconalign; + float shield_baralign, strength_baralign, superweapons_baralign; + float shield_iconalign, strength_iconalign, superweapons_iconalign; + if (autocvar_hud_panel_powerups_flip) { strength_baralign = (autocvar_hud_panel_powerups_baralign == 2 || autocvar_hud_panel_powerups_baralign == 1); @@ -1146,6 +1202,24 @@ void HUD_Powerups(void) strength_iconalign = (autocvar_hud_panel_powerups_iconalign == 3 || autocvar_hud_panel_powerups_iconalign == 1); } + if(superweapons_is == 0) + { + superweapons_iconalign = strength_iconalign; + superweapons_baralign = 2; + } + else if(superweapons_is == 1) + { + superweapons_offset = strength_offset; + superweapons_iconalign = strength_iconalign; + superweapons_baralign = strength_baralign; + } + else if(superweapons_is == 2) + { + superweapons_offset = shield_offset; + superweapons_iconalign = shield_iconalign; + superweapons_baralign = shield_baralign; + } + if(shield_time) { const float maxshield = 30; @@ -1160,7 +1234,7 @@ void HUD_Powerups(void) if(shield > 1) DrawNumIcon(pos + shield_offset, mySize, shield, "shield", is_vertical, shield_iconalign, '1 1 1', 1); if(shield <= 5) - DrawNumIcon_expanding(pos + shield_offset, mySize, shield, "shield", is_vertical, shield_iconalign, '1 1 1', bound(0, (shield - shield_time) / 0.5, 1)); + DrawNumIcon_expanding(pos + shield_offset, mySize, shield, "shield", is_vertical, shield_iconalign, '1 1 1', 1, bound(0, (shield - shield_time) / 0.5, 1)); } } @@ -1178,7 +1252,25 @@ void HUD_Powerups(void) if(strength > 1) DrawNumIcon(pos + strength_offset, mySize, strength, "strength", is_vertical, strength_iconalign, '1 1 1', 1); if(strength <= 5) - DrawNumIcon_expanding(pos + strength_offset, mySize, strength, "strength", is_vertical, strength_iconalign, '1 1 1', bound(0, (strength - strength_time) / 0.5, 1)); + DrawNumIcon_expanding(pos + strength_offset, mySize, strength, "strength", is_vertical, strength_iconalign, '1 1 1', 1, bound(0, (strength - strength_time) / 0.5, 1)); + } + } + + if(superweapons_time) + { + const float maxsuperweapons = 30; + float superweapons = ceil(superweapons_time); + if(autocvar_hud_panel_powerups_progressbar) + { + HUD_Panel_GetProgressBarColor(superweapons); + HUD_Panel_DrawProgressBar(pos + superweapons_offset, mySize, autocvar_hud_panel_powerups_progressbar_superweapons, superweapons/maxsuperweapons, is_vertical, superweapons_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); + } + if(autocvar_hud_panel_powerups_text) + { + if(superweapons > 1) + DrawNumIcon(pos + superweapons_offset, mySize, superweapons, "superweapons", is_vertical, superweapons_iconalign, '1 1 1', 1); + if(superweapons <= 5) + DrawNumIcon_expanding(pos + superweapons_offset, mySize, superweapons, "superweapons", is_vertical, superweapons_iconalign, '1 1 1', 1, bound(0, (superweapons - superweapons_time) / 0.5, 1)); } } } @@ -2690,6 +2782,7 @@ void HUD_Score(void) string sign; vector distribution_color; entity tm, pl, me; + #ifdef COMPAT_XON050_ENGINE me = (spectatee_status > 0) ? playerslots[spectatee_status - 1] : playerslots[player_localentnum - 1]; #else @@ -3903,10 +3996,17 @@ void HUD_DrawPressedKeys(void) } vector keysize; - keysize = eX * mySize_x * (1/3) + eY * mySize_y * 0.5; + keysize = eX * mySize_x * (1/3.0) + eY * mySize_y * (1/(3.0 - !autocvar_hud_panel_pressedkeys_attack)); float pressedkeys; pressedkeys = getstatf(STAT_PRESSED_KEYS); + if(autocvar_hud_panel_pressedkeys_attack) + { + drawpic_aspect_skin(pos + eX * keysize_x * 0.5, ((pressedkeys & KEY_ATCK) ? "key_atck_inv.tga" : "key_atck.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + drawpic_aspect_skin(pos + eX * keysize_x * 1.5, ((pressedkeys & KEY_ATCK2) ? "key_atck_inv.tga" : "key_atck.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + pos_y += keysize_y; + } + drawpic_aspect_skin(pos, ((pressedkeys & KEY_CROUCH) ? "key_crouch_inv.tga" : "key_crouch.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); drawpic_aspect_skin(pos + eX * keysize_x, ((pressedkeys & KEY_FORWARD) ? "key_forward_inv.tga" : "key_forward.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); drawpic_aspect_skin(pos + eX * keysize_x * 2, ((pressedkeys & KEY_JUMP) ? "key_jump_inv.tga" : "key_jump.tga"), keysize, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); @@ -4274,6 +4374,16 @@ void HUD_Physics(void) panel_size -= '2 2 0' * panel_bg_padding; } + float acceleration_progressbar_scale; + if(autocvar_hud_panel_physics_progressbar && autocvar_hud_panel_physics_acceleration_progressbar_scale > 1) + acceleration_progressbar_scale = autocvar_hud_panel_physics_acceleration_progressbar_scale; + + float text_scale; + if (autocvar_hud_panel_physics_text_scale <= 0) + text_scale = 1; + else + text_scale = min(autocvar_hud_panel_physics_text_scale, 1); + //compute speed float speed, conversion_factor; string unit; @@ -4302,14 +4412,16 @@ void HUD_Physics(void) conversion_factor = 0.0254 * 1.943844492; // 1 m/s = 1.943844492 knots, because 1 knot = 1.852 km/h break; } + + vector vel = (csqcplayer ? csqcplayer.velocity : pmove_vel); float max_speed = floor( autocvar_hud_panel_physics_speed_max * conversion_factor + 0.5 ); if (autocvar__hud_configure) speed = floor( max_speed * 0.65 + 0.5 ); else if(autocvar_hud_panel_physics_speed_vertical) - speed = floor( vlen(pmove_vel) * conversion_factor + 0.5 ); + speed = floor( vlen(vel) * conversion_factor + 0.5 ); else - speed = floor( vlen(pmove_vel - pmove_vel_z * '0 0 1') * conversion_factor + 0.5 ); + speed = floor( vlen(vel - vel_z * '0 0 1') * conversion_factor + 0.5 ); //compute acceleration float acceleration, f; @@ -4320,13 +4432,13 @@ void HUD_Physics(void) // 1 m/s = 0.0254 qu/s; 1 g = 9.80665 m/s^2 f = time - acc_prevtime; if(autocvar_hud_panel_physics_acceleration_vertical) - acceleration = (vlen(pmove_vel) - vlen(acc_prevspeed)); + acceleration = (vlen(vel) - vlen(acc_prevspeed)); else - acceleration = (vlen(pmove_vel - '0 0 1' * pmove_vel_z) - vlen(acc_prevspeed - '0 0 1' * acc_prevspeed_z)); + acceleration = (vlen(vel - '0 0 1' * vel_z) - vlen(acc_prevspeed - '0 0 1' * acc_prevspeed_z)); acceleration = acceleration * (1 / max(0.0001, f)) * (0.0254 / 9.80665); - acc_prevspeed = pmove_vel; + acc_prevspeed = vel; acc_prevtime = time; f = bound(0, f * 10, 1); @@ -4336,7 +4448,7 @@ void HUD_Physics(void) //compute layout float panel_ar = panel_size_x/panel_size_y; vector speed_offset, acceleration_offset; - if (panel_ar >= 5) + if (panel_ar >= 5 && !acceleration_progressbar_scale) { panel_size_x *= 0.5; if (autocvar_hud_panel_physics_flip) @@ -4367,7 +4479,7 @@ void HUD_Physics(void) speed_baralign = (autocvar_hud_panel_physics_baralign == 2); acceleration_baralign = (autocvar_hud_panel_physics_baralign == 3); } - if (autocvar_hud_panel_physics_acceleration_mode == 0) + if (autocvar_hud_panel_physics_acceleration_progressbar_mode == 0) acceleration_baralign = 3; //override hud_panel_physics_baralign value for acceleration //draw speed @@ -4381,11 +4493,12 @@ void HUD_Physics(void) if (autocvar_hud_panel_physics_text == 1 || autocvar_hud_panel_physics_text == 2) { tmp_size_x = panel_size_x * 0.75; - tmp_size_y = panel_size_y; + tmp_size_y = panel_size_y * text_scale; if (speed_baralign) tmp_offset_x = panel_size_x - tmp_size_x; //else //tmp_offset_x = 0; + tmp_offset_y = (panel_size_y - tmp_size_y) / 2; drawstring_aspect(panel_pos + speed_offset + tmp_offset, ftos(speed), tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); //draw speed unit @@ -4397,7 +4510,8 @@ void HUD_Physics(void) { //tmp_offset_y = 0; tmp_size_x = panel_size_x * (1 - 0.75); - tmp_size_y = panel_size_y * 0.4; + tmp_size_y = panel_size_y * 0.4 * text_scale; + tmp_offset_y = (panel_size_y * 0.4 - tmp_size_y) / 2; drawstring_aspect(panel_pos + speed_offset + tmp_offset, unit, tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); } } @@ -4458,7 +4572,8 @@ void HUD_Physics(void) //top speed tmp_offset_y = panel_size_y * 0.4; tmp_size_x = panel_size_x * (1 - 0.75); - tmp_size_y = panel_size_y - tmp_offset_y; + tmp_size_y = (panel_size_y - tmp_offset_y) * text_scale; + tmp_offset_y += (panel_size_y - tmp_offset_y - tmp_size_y) / 2; drawstring_aspect(panel_pos + speed_offset + tmp_offset, ftos(top_speed), tmp_size, '1 0 0', f * panel_fg_alpha, DRAWFLAG_NORMAL); } else @@ -4473,10 +4588,37 @@ void HUD_Physics(void) HUD_Panel_GetProgressBarColor(acceleration_neg); else HUD_Panel_GetProgressBarColor(acceleration); - HUD_Panel_DrawProgressBar(panel_pos + acceleration_offset, panel_size, "accelbar", acceleration/autocvar_hud_panel_physics_acceleration_max, 0, acceleration_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); + + f = acceleration/autocvar_hud_panel_physics_acceleration_max; + if (autocvar_hud_panel_physics_acceleration_progressbar_nonlinear) + f = sqrt(f); + + if (acceleration_progressbar_scale) // allow progressbar to go out of panel bounds + { + tmp_size = acceleration_progressbar_scale * panel_size_x * eX + panel_size_y * eY; + + if (acceleration_baralign == 1) + tmp_offset_x = panel_size_x - tmp_size_x; + else if (acceleration_baralign == 2 || acceleration_baralign == 3) + tmp_offset_x = (panel_size_x - tmp_size_x) / 2; + else + tmp_offset_x = 0; + tmp_offset_y = 0; + } + else + { + tmp_size = panel_size; + tmp_offset = '0 0 0'; + } + + HUD_Panel_DrawProgressBar(panel_pos + acceleration_offset + tmp_offset, tmp_size, "accelbar", f, 0, acceleration_baralign, progressbar_color, autocvar_hud_progressbar_alpha * panel_fg_alpha, DRAWFLAG_NORMAL); } + tmp_size_x = panel_size_x; + tmp_size_y = panel_size_y * text_scale; + tmp_offset_x = 0; + tmp_offset_y = (panel_size_y - tmp_size_y) / 2; if (autocvar_hud_panel_physics_text == 1 || autocvar_hud_panel_physics_text == 3) - drawstring_aspect(panel_pos + acceleration_offset, strcat(ftos_decimals(acceleration, 2), "g"), panel_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); + drawstring_aspect(panel_pos + acceleration_offset + tmp_offset, strcat(ftos_decimals(acceleration, 2), "g"), tmp_size, '1 1 1', panel_fg_alpha, DRAWFLAG_NORMAL); } // CenterPrint (#16) @@ -5002,13 +5144,13 @@ switch (id) {\ case (HUD_PANEL_ENGINEINFO):\ HUD_EngineInfo(); break;\ case (HUD_PANEL_INFOMESSAGES):\ - HUD_InfoMessages(); break;\ + HUD_InfoMessages(); break;\ case (HUD_PANEL_PHYSICS):\ - HUD_Physics(); break;\ + HUD_Physics(); break;\ case (HUD_PANEL_CENTERPRINT):\ - HUD_CenterPrint(); break;\ + HUD_CenterPrint(); break;\ case (HUD_PANEL_ITEMSTIME):\ - HUD_ItemsTime(); break;\ + HUD_ItemsTime(); break;\ } ENDS_WITH_CURLY_BRACE void HUD_Main (void) @@ -5023,17 +5165,14 @@ void HUD_Main (void) if(scoreboard_fade_alpha) hud_fade_alpha = (1 - scoreboard_fade_alpha); + if(autocvar__hud_configure) + if(isdemo()) + HUD_Configure_Exit_Force(); + if(intermission == 2) // no hud during mapvote { - if (autocvar__hud_configure) //force exit from hud config - { - if (menu_enabled) - { - menu_enabled = 0; - localcmd("togglemenu\n"); - } - cvar_set("_hud_configure", "0"); - } + if (autocvar__hud_configure) + HUD_Configure_Exit_Force(); hud_fade_alpha = 0; } else if(autocvar__menu_alpha == 0 && scoreboard_fade_alpha == 0) @@ -5065,12 +5204,15 @@ void HUD_Main (void) hud_configure_gridSize_y = bound(0.005, cvar("hud_configure_grid_ysize"), 0.2); hud_configure_realGridSize_x = hud_configure_gridSize_x * vid_conwidth; hud_configure_realGridSize_y = hud_configure_gridSize_y * vid_conheight; + vector s; // x-axis - for(i = 0; i < 1/hud_configure_gridSize_x; ++i) - drawfill(eX * i * hud_configure_realGridSize_x, eX + eY * vid_conheight, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL); + s = eX + eY * vid_conheight; + for(i = 1; i < 1/hud_configure_gridSize_x; ++i) + drawfill(eX * i * hud_configure_realGridSize_x, s, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL); // y-axis - for(i = 0; i < 1/hud_configure_gridSize_y; ++i) - drawfill(eY * i * hud_configure_realGridSize_y, eY + eX * vid_conwidth, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL); + s = eY + eX * vid_conwidth; + for(i = 1; i < 1/hud_configure_gridSize_y; ++i) + drawfill(eY * i * hud_configure_realGridSize_y, s, '0.5 0.5 0.5', autocvar_hud_configure_grid_alpha, DRAWFLAG_NORMAL); } #ifdef COMPAT_XON050_ENGINE @@ -5183,6 +5325,8 @@ void HUD_Main (void) HUD_Panel_UpdatePosSizeForId(highlightedPanel); HUD_Panel_HlBorder(panel_bg_border + 1.5 * hlBorderSize, '0 0.5 1', 0.25 * (1 - autocvar__menu_alpha)); } + if (!hud_configure_prev) + hudShiftState = 0; } hud_configure_prev = autocvar__hud_configure; diff --git a/qcsrc/client/hud_config.qc b/qcsrc/client/hud_config.qc index 61cddaa1c..a0c9b1b8a 100644 --- a/qcsrc/client/hud_config.qc +++ b/qcsrc/client/hud_config.qc @@ -64,7 +64,7 @@ void HUD_Panel_ExportCfg(string cfgname) HUD_Write_PanelCvar_q("_bg_border"); HUD_Write_PanelCvar_q("_bg_padding"); switch(i) { - case HUD_PANEL_WEAPONS: + case HUD_PANEL_WEAPONS: HUD_Write_PanelCvar_q("_accuracy"); HUD_Write_PanelCvar_q("_label"); HUD_Write_PanelCvar_q("_complainbubble"); @@ -138,6 +138,7 @@ void HUD_Panel_ExportCfg(string cfgname) HUD_Write_PanelCvar_q("_dom_layout"); break; case HUD_PANEL_PRESSEDKEYS: + HUD_Write_PanelCvar_q("_attack"); HUD_Write_PanelCvar_q("_aspect"); break; case HUD_PANEL_ENGINEINFO: @@ -159,8 +160,11 @@ void HUD_Panel_ExportCfg(string cfgname) HUD_Write_PanelCvar_q("_flip"); HUD_Write_PanelCvar_q("_baralign"); HUD_Write_PanelCvar_q("_progressbar"); - HUD_Write_PanelCvar_q("_acceleration_mode"); + HUD_Write_PanelCvar_q("_progressbar_acceleration_mode"); + HUD_Write_PanelCvar_q("_progressbar_acceleration_scale"); + HUD_Write_PanelCvar_q("_progressbar_acceleration_nonlinear"); HUD_Write_PanelCvar_q("_text"); + HUD_Write_PanelCvar_q("_text_scale"); break; case HUD_PANEL_CENTERPRINT: HUD_Write_PanelCvar_q("_align"); @@ -198,6 +202,16 @@ void HUD_Panel_ExportCfg(string cfgname) print(sprintf(_("^1Couldn't write to %s\n"), filename)); } +void HUD_Configure_Exit_Force() +{ + if (menu_enabled) + { + menu_enabled = 0; + localcmd("togglemenu\n"); + } + cvar_set("_hud_configure", "0"); +} + // check if move will result in panel being moved into another panel. If so, return snapped vector, otherwise return the given vector vector HUD_Panel_CheckMove(vector myPos, vector mySize) { @@ -637,6 +651,10 @@ float HUD_Panel_InputEvent(float bInputType, float nPrimary, float nSecondary) if(!autocvar__hud_configure) return false; + // block any input while a menu dialog is fading + if(autocvar__menu_alpha) + return true; + // allow console bind to work string con_keys; float keys; @@ -1058,10 +1076,7 @@ void HUD_Panel_Mouse() print("Menu theAlpha: ", ftos(autocvar__menu_alpha), "\n"); */ - // instantly hide the editor cursor if we open the HUDExit dialog - // as hud_fade_alpha doesn't decrease to 0 in this case - // TODO: find a way to fade the cursor out even in this case - if(menu_enabled == 1 || (menu_enabled == 2 && !hud_fade_alpha)) + if(autocvar__menu_alpha == 1) return; mousepos = mousepos + getmousepos() * autocvar_menu_mouse_speed; @@ -1155,15 +1170,16 @@ void HUD_Panel_Mouse() } // draw cursor after performing move/resize to have the panel pos/size updated before mouse_over_panel const vector cursorsize = '32 32 0'; + float cursor_alpha = 1 - autocvar__menu_alpha; if(!mouse_over_panel) - drawpic(mousepos, strcat("gfx/menu/", autocvar_menu_skin, "/cursor.tga"), cursorsize, '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); + drawpic(mousepos, strcat("gfx/menu/", autocvar_menu_skin, "/cursor.tga"), cursorsize, '1 1 1', cursor_alpha, DRAWFLAG_NORMAL); else if(mouse_over_panel == 1) - drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", autocvar_menu_skin, "/cursor_move.tga"), cursorsize, '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); + drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", autocvar_menu_skin, "/cursor_move.tga"), cursorsize, '1 1 1', cursor_alpha, DRAWFLAG_NORMAL); else if(mouse_over_panel == 2) - drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", autocvar_menu_skin, "/cursor_resize.tga"), cursorsize, '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); + drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", autocvar_menu_skin, "/cursor_resize.tga"), cursorsize, '1 1 1', cursor_alpha, DRAWFLAG_NORMAL); else - drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", autocvar_menu_skin, "/cursor_resize2.tga"), cursorsize, '1 1 1', hud_fade_alpha, DRAWFLAG_NORMAL); + drawpic(mousepos - cursorsize * 0.5, strcat("gfx/menu/", autocvar_menu_skin, "/cursor_resize2.tga"), cursorsize, '1 1 1', cursor_alpha, DRAWFLAG_NORMAL); prevMouseClicked = mouseClicked; } diff --git a/qcsrc/client/main.qh b/qcsrc/client/main.qh index 9349d9c5c..43e7b6499 100644 --- a/qcsrc/client/main.qh +++ b/qcsrc/client/main.qh @@ -158,3 +158,4 @@ entity entcs_receiver[255]; // 255 is the engine limit on maxclients float hud; float view_quality; +float framecount; diff --git a/qcsrc/client/mapvoting.qc b/qcsrc/client/mapvoting.qc index 769b921a4..4cb8dad05 100644 --- a/qcsrc/client/mapvoting.qc +++ b/qcsrc/client/mapvoting.qc @@ -88,7 +88,10 @@ void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, strin } else { - drawpic(pos, pic, img_size, '1 1 1', theAlpha, DRAWFLAG_NORMAL); + if(drawgetimagesize(pic) == '0 0 0') + drawpic(pos, draw_UseSkinFor("nopreview_map"), img_size, '1 1 1', theAlpha, DRAWFLAG_NORMAL); + else + drawpic(pos, pic, img_size, '1 1 1', theAlpha, DRAWFLAG_NORMAL); } if(id == mv_ownvote) diff --git a/qcsrc/client/miscfunctions.qc b/qcsrc/client/miscfunctions.qc index 2bc20e951..070096fbf 100644 --- a/qcsrc/client/miscfunctions.qc +++ b/qcsrc/client/miscfunctions.qc @@ -279,16 +279,20 @@ var string _drawpic_picpath; #define drawpic_aspect(pos,pic,mySize,color,theAlpha,drawflag)\ do {\ _drawpic_imgsize = draw_getimagesize(pic);\ - _drawpic_imgaspect = _drawpic_imgsize_x/_drawpic_imgsize_y;\ - _drawpic_sz = mySize;\ - if(_drawpic_sz_x/_drawpic_sz_y > _drawpic_imgaspect) {\ - _drawpic_oldsz = _drawpic_sz_x;\ - _drawpic_sz_x = _drawpic_sz_y * _drawpic_imgaspect;\ - drawpic(pos + eX * (_drawpic_oldsz - _drawpic_sz_x) * 0.5, pic, _drawpic_sz, color, theAlpha, drawflag);\ - } else {\ - _drawpic_oldsz = _drawpic_sz_y;\ - _drawpic_sz_y = _drawpic_sz_x / _drawpic_imgaspect;\ - drawpic(pos + eY * (_drawpic_oldsz - _drawpic_sz_y) * 0.5, pic, _drawpic_sz, color, theAlpha, drawflag);\ + if(_drawpic_imgsize != '0 0 0') {\ + _drawpic_imgaspect = _drawpic_imgsize_x/_drawpic_imgsize_y;\ + _drawpic_sz = mySize;\ + if(_drawpic_sz_x/_drawpic_sz_y > _drawpic_imgaspect) {\ + _drawpic_oldsz = _drawpic_sz_x;\ + _drawpic_sz_x = _drawpic_sz_y * _drawpic_imgaspect;\ + if(_drawpic_sz_x)\ + drawpic(pos + eX * (_drawpic_oldsz - _drawpic_sz_x) * 0.5, pic, _drawpic_sz, color, theAlpha, drawflag);\ + } else {\ + _drawpic_oldsz = _drawpic_sz_y;\ + _drawpic_sz_y = _drawpic_sz_x / _drawpic_imgaspect;\ + if(_drawpic_sz_y)\ + drawpic(pos + eY * (_drawpic_oldsz - _drawpic_sz_y) * 0.5, pic, _drawpic_sz, color, theAlpha, drawflag);\ + }\ }\ } while(0) @@ -591,3 +595,35 @@ vector getplayerorigin(float pl) return GETPLAYERORIGIN_ERROR; } + +float getplayerisdead(float pl) +{ + entity e; + + e = CSQCModel_server2csqc(pl + 1); + if(e) + return e.csqcmodel_isdead; + + return FALSE; +} + +void URI_Get_Callback(float id, float status, string data) +{ + if(url_URI_Get_Callback(id, status, data)) + { + // handled + } + else if (id == URI_GET_DISCARD) + { + // discard + } + else if (id >= URI_GET_CURL && id <= URI_GET_CURL_END) + { + // sv_cmd curl + Curl_URI_Get_Callback(id, status, data); + } + else + { + print(sprintf(_("Received HTTP request data for an invalid id %d.\n"), id)); + } +} diff --git a/qcsrc/client/progs.src b/qcsrc/client/progs.src index a33570a2f..d3a3a07d8 100644 --- a/qcsrc/client/progs.src +++ b/qcsrc/client/progs.src @@ -22,11 +22,13 @@ Defs.qc ../common/command/rpn.qh ../common/command/generic.qh ../common/command/shared_defs.qh - +../common/urllib.qh command/cl_cmd.qh autocvars.qh +damage.qh + ../csqcmodellib/interpolate.qh teamradar.qh hud.qh @@ -58,6 +60,7 @@ hud.qc scoreboard.qc mapvoting.qc csqcmodel_hooks.qc +../common/net_notice.qc rubble.qc hook.qc @@ -97,7 +100,7 @@ noise.qc ../common/items.qc ../server/w_all.qc ../common/explosion_equation.qc - +../common/urllib.qc command/cl_cmd.qc ../warpzonelib/anglestransform.qc diff --git a/qcsrc/client/scoreboard.qc b/qcsrc/client/scoreboard.qc index 05c8df88c..935a0277a 100644 --- a/qcsrc/client/scoreboard.qc +++ b/qcsrc/client/scoreboard.qc @@ -321,7 +321,7 @@ void Cmd_HUD_SetFields(float argc) else if(argv(2) == "all") { string s; - s = "ping pl color name |"; + s = "ping pl name |"; for(i = 0; i < MAX_SCORE; ++i) { if(i != ps_primary) @@ -985,14 +985,14 @@ vector HUD_DrawScoreboardAccuracyStats(vector pos, vector rgb, vector bg_size) if (!acc_levels) rgb = '1 1 1'; - else if (acc_col_x[0] == -1) + else if (acc_col[0] == '-1 0 0') for (i = 0; i < acc_levels; ++i) acc_col[i] = stov(cvar_string(strcat("accuracy_color", ftos(i)))); for(i = WEP_FIRST; i <= WEP_LAST; ++i) { self = get_weaponinfo(i); - if not(self.weapons) + if not(self.weapon) continue; if ((i == WEP_NEX && g_minstagib) || i == WEP_PORTO || (i == WEP_MINSTANEX && !g_minstagib) || i == WEP_TUBA) // skip port-o-launch, nex || minstanex and tuba continue; diff --git a/qcsrc/client/shownames.qc b/qcsrc/client/shownames.qc index d5e24888d..5309c555e 100644 --- a/qcsrc/client/shownames.qc +++ b/qcsrc/client/shownames.qc @@ -5,7 +5,8 @@ // self.sameteam = player is on same team as local client // self.fadedelay = time to wait before name tag starts fading in for enemies // self.pointtime = last time you pointed at this player -// +// self.csqcmodel_isdead = value of csqcmodel_isdead to know when the player is dead or not + const float SHOWNAMES_FADESPEED = 4; const float SHOWNAMES_FADEDELAY = 0.4; void Draw_ShowNames(entity ent) @@ -35,7 +36,7 @@ void Draw_ShowNames(entity ent) else { traceline(view_origin, ent.origin, MOVE_NORMAL, ent); - if(trace_fraction < 1 && trace_networkentity != ent.sv_entnum) + if(trace_fraction < 1 && (trace_networkentity != ent.sv_entnum && trace_ent.entnum != ent.sv_entnum)) hit = 0; else hit = 1; @@ -90,7 +91,7 @@ void Draw_ShowNames(entity ent) ent.alpha = max(0, ent.alpha - SHOWNAMES_FADESPEED * frametime); ent.fadedelay = 0; // reset fade in delay, enemy has left the view } - else if(ent.healthvalue < 1) // dead player, fade out slowly + else if(ent.csqcmodel_isdead) // dead player, fade out slowly ent.alpha = max(0, ent.alpha - SHOWNAMES_FADESPEED * 0.25 * frametime); else if(overlap) // tag overlap detected, fade out ent.alpha = max(0, ent.alpha - SHOWNAMES_FADESPEED * frametime); @@ -217,6 +218,8 @@ void Draw_ShowNames_All() e.origin = getplayerorigin(i); if(e.origin == GETPLAYERORIGIN_ERROR) continue; + + e.csqcmodel_isdead = getplayerisdead(i); Draw_ShowNames(e); } diff --git a/qcsrc/client/shownames.qh b/qcsrc/client/shownames.qh index adbfa5712..6e3f899dd 100644 --- a/qcsrc/client/shownames.qh +++ b/qcsrc/client/shownames.qh @@ -2,4 +2,4 @@ .float armorvalue; .float sameteam; .float fadedelay; -.float pointtime; +.float pointtime; \ No newline at end of file diff --git a/qcsrc/client/target_music.qc b/qcsrc/client/target_music.qc index c4573296a..77cb2536e 100644 --- a/qcsrc/client/target_music.qc +++ b/qcsrc/client/target_music.qc @@ -106,6 +106,7 @@ void Net_TargetMusic() if(!music_disabled) { e.state = 2; + cvar_settemp("music_playlist_index", "-1"); // don't use playlists localcmd("cd stop\n"); // just in case music_disabled = 1; } diff --git a/qcsrc/client/tturrets.qc b/qcsrc/client/tturrets.qc index 2b9ec0297..d7abeb091 100644 --- a/qcsrc/client/tturrets.qc +++ b/qcsrc/client/tturrets.qc @@ -235,36 +235,46 @@ void turret_draw2d() return; float dist = vlen(self.origin - view_origin); + float t = (GetPlayerColor(player_localnum) + 1); + vector o; - /* - // TODO: Vehicle tactical hud - o = project_3d_to_2d(self.origin + '0 0 32'); - if(o_z < 0 - || o_x < (vid_conwidth * waypointsprite_edgeoffset_left) - || o_y < (vid_conheight * waypointsprite_edgeoffset_top) - || o_x > (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) - || o_y > (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom))) - return; // Dont draw wp's for turrets out of view - o_z = 0; - if(hud != HUD_NORMAL) - { - switch(hud) - { - case HUD_SPIDERBOT: - case HUD_WAKIZASHI: - case HUD_RAPTOR: - vector pz = drawgetimagesize("gfx/vehicles/axh-bracket.tga") * 0.25; - drawpic(o - pz * 0.5 , "gfx/vehicles/axh-bracket.tga", pz , '1 1 1', 0.75, DRAWFLAG_NORMAL); - break; + string txt; + + if(autocvar_cl_vehicles_hud_tactical) + if(dist < 10240 && t != self.team) + { + // TODO: Vehicle tactical hud + o = project_3d_to_2d(self.origin + '0 0 32'); + if(o_z < 0 + || o_x < (vid_conwidth * waypointsprite_edgeoffset_left) + || o_y < (vid_conheight * waypointsprite_edgeoffset_top) + || o_x > (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) + || o_y > (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom))) + return; // Dont draw wp's for turrets out of view + o_z = 0; + if(hud != HUD_NORMAL) + { + switch(hud) + { + case HUD_SPIDERBOT: + case HUD_WAKIZASHI: + case HUD_RAPTOR: + if(self.turret_type == TID_EWHEEL || self.turret_type == TID_WALKER) + txt = "gfx/vehicles/vth-mover.tga"; + else + txt = "gfx/vehicles/vth-stationary.tga"; + + vector pz = drawgetimagesize(txt) * 0.25; + drawpic(o - pz * 0.5, txt, pz , '1 1 1', 0.75, DRAWFLAG_NORMAL); + break; + } } - } - */ + } if(dist > self.maxdistance) return; string spriteimage = self.netname; - float t = (GetPlayerColor(player_localnum) + 1); float a = self.alpha * autocvar_hud_panel_fg_alpha; vector rgb = spritelookupcolor(spriteimage, self.teamradar_color); @@ -280,7 +290,7 @@ void turret_draw2d() print(sprintf("WARNING: sprite of name %s has no color, using pink so you notice it\n", spriteimage)); } - string txt = self.netname; + txt = self.netname; if(autocvar_g_waypointsprite_spam && waypointsprite_count >= autocvar_g_waypointsprite_spam) txt = _("Spam"); else @@ -540,37 +550,38 @@ entity turret_gibtoss(string _model, vector _from, vector _to, vector _cmod, flo void turret_die() { - entity headgib; sound (self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTN_NORM); pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1); turret_tid2info(self.turret_type); - - // Base - if(self.turret_type == TID_EWHEEL) - turret_gibtoss(tid2info_base, self.origin + '0 0 18', self.velocity + '0 0 400' + '0.1 0.1 1' * (random() * 400), '-1 -1 -1', TRUE); - else if (self.turret_type == TID_WALKER) - turret_gibtoss(tid2info_base, self.origin + '0 0 18', self.velocity + '0 0 300' + '0.1 0.1 1' * (random() * 200), '-1 -1 -1', TRUE); - else if (self.turret_type == TID_TESLA) - turret_gibtoss(tid2info_base, self.origin + '0 0 18', '0 0 200', '-1 -1 -1', FALSE); - else - { - if (random() > 0.5) - { - turret_gibtoss("models/turrets/base-gib2.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE); - turret_gibtoss("models/turrets/base-gib3.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE); - turret_gibtoss("models/turrets/base-gib4.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE); - } + if (!autocvar_cl_nogibs) + { + // Base + if(self.turret_type == TID_EWHEEL) + turret_gibtoss(tid2info_base, self.origin + '0 0 18', self.velocity + '0 0 400' + '0.1 0.1 1' * (random() * 400), '-1 -1 -1', TRUE); + else if (self.turret_type == TID_WALKER) + turret_gibtoss(tid2info_base, self.origin + '0 0 18', self.velocity + '0 0 300' + '0.1 0.1 1' * (random() * 200), '-1 -1 -1', TRUE); + else if (self.turret_type == TID_TESLA) + turret_gibtoss(tid2info_base, self.origin + '0 0 18', '0 0 200', '-1 -1 -1', FALSE); else - turret_gibtoss("models/turrets/base-gib1.md3", self.origin + '0 0 8', '0 0 0', '0 0 0', TRUE); - - headgib = turret_gibtoss(tid2info_head, self.origin + '0 0 32', '0 0 200' + randomvec() * 200, '-1 -1 -1', TRUE); - if(headgib) - { - headgib.angles = headgib.move_angles = self.tur_head.angles; - headgib.avelocity = headgib.move_avelocity = self.tur_head.move_avelocity + randomvec() * 45; - headgib.avelocity_y = headgib.move_avelocity_y = headgib.move_avelocity_y * 5; - headgib.gravity = 0.5; + { + if (random() > 0.5) + { + turret_gibtoss("models/turrets/base-gib2.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE); + turret_gibtoss("models/turrets/base-gib3.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE); + turret_gibtoss("models/turrets/base-gib4.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE); + } + else + turret_gibtoss("models/turrets/base-gib1.md3", self.origin + '0 0 8', '0 0 0', '0 0 0', TRUE); + + entity headgib = turret_gibtoss(tid2info_head, self.origin + '0 0 32', '0 0 200' + randomvec() * 200, '-1 -1 -1', TRUE); + if(headgib) + { + headgib.angles = headgib.move_angles = self.tur_head.angles; + headgib.avelocity = headgib.move_avelocity = self.tur_head.move_avelocity + randomvec() * 45; + headgib.avelocity_y = headgib.move_avelocity_y = headgib.move_avelocity_y * 5; + headgib.gravity = 0.5; + } } } diff --git a/qcsrc/client/vehicles/vehicles.qc b/qcsrc/client/vehicles/vehicles.qc index ccb9cff58..6081f5a66 100644 --- a/qcsrc/client/vehicles/vehicles.qc +++ b/qcsrc/client/vehicles/vehicles.qc @@ -661,11 +661,13 @@ void CSQC_WAKIZASHI_HUD() void Vehicles_Precache() { // fixme: HAAAAKKKZZZ!!!!!!!!!!!! (this belongs as a setting in default.cfg) - autocvar_cl_vehicles_hudscale = 0.5; - autocvar_cl_vehicles_hudalpha = 0.75; - + if(!autocvar_cl_vehicles_hudscale ) + autocvar_cl_vehicles_hudscale = 0.5; + + if(!autocvar_cl_vehicles_hudalpha) + autocvar_cl_vehicles_hudalpha = 0.75; - precache_model("models/vehicles/wakizashi.dpm"); + //precache_model("models/vehicles/wakizashi.dpm"); precache_model("models/vehicles/bomblet.md3"); precache_model("models/vehicles/clusterbomb.md3"); diff --git a/qcsrc/client/wall.qc b/qcsrc/client/wall.qc index 0a0bfa9ec..807b260ab 100644 --- a/qcsrc/client/wall.qc +++ b/qcsrc/client/wall.qc @@ -7,7 +7,6 @@ void Ent_Wall_Draw() { float f; - float d; var .vector fld; if(self.bgmscriptangular) @@ -17,25 +16,26 @@ void Ent_Wall_Draw() if(self.lodmodelindex1) { - d = autocvar_loddebug; - if(d > 0) + if(autocvar_cl_modeldetailreduction <= 0) { - if(d == 1) - self.modelindex = self.lodmodelindex0; - else if(d == 2 || !self.lodmodelindex2) - self.modelindex = self.lodmodelindex1; - else // if(d == 3) + if(self.lodmodelindex2 && autocvar_cl_modeldetailreduction <= -2) self.modelindex = self.lodmodelindex2; + else if(autocvar_cl_modeldetailreduction <= -1) + self.modelindex = self.lodmodelindex1; + else + self.modelindex = self.lodmodelindex0; } else { - d = vlen(NearestPointOnBox(self, view_origin) - view_origin); - if(d < self.loddistance1) - self.modelindex = self.lodmodelindex0; - else if(!self.lodmodelindex2 || d < self.loddistance2) + float distance = vlen(NearestPointOnBox(self, view_origin) - view_origin); + f = (distance * current_viewzoom + 100.0) * autocvar_cl_modeldetailreduction; + f *= 1.0 / bound(0.01, view_quality, 1); + if(self.lodmodelindex2 && f > self.loddistance2) + self.modelindex = self.lodmodelindex2; + else if(f > self.loddistance1) self.modelindex = self.lodmodelindex1; else - self.modelindex = self.lodmodelindex2; + self.modelindex = self.lodmodelindex0; } } diff --git a/qcsrc/common/campaign_file.qc b/qcsrc/common/campaign_file.qc index 067cd8054..5ab3da67c 100644 --- a/qcsrc/common/campaign_file.qc +++ b/qcsrc/common/campaign_file.qc @@ -38,13 +38,12 @@ float CampaignFile_Load(float offset, float n) { entlen = tokenize(l); // using insane tokenizer for CSV -#define CAMPAIGN_GETARG0 if(i >= entlen) -#define CAMPAIGN_GETARG1 CAMPAIGN_GETARG0 error("syntax error in campaign file: line has not enough fields"); -#define CAMPAIGN_GETARG2 CAMPAIGN_GETARG1 a = argv(++i); -#define CAMPAIGN_GETARG3 CAMPAIGN_GETARG2 if(a == ",") -#define CAMPAIGN_GETARG4 CAMPAIGN_GETARG3 a = ""; -#define CAMPAIGN_GETARG5 CAMPAIGN_GETARG4 else -#define CAMPAIGN_GETARG CAMPAIGN_GETARG5 ++i +#define CAMPAIGN_GETARG \ + a = argv(++i); \ + if(a == ",") \ + a = ""; \ + else \ + ++i // What you're seeing here is what people will do when your compiler supports // C-style macros but no line continuations. @@ -58,6 +57,10 @@ float CampaignFile_Load(float offset, float n) CAMPAIGN_GETARG; campaign_mutators[campaign_entries] = strzone(a); CAMPAIGN_GETARG; campaign_shortdesc[campaign_entries] = strzone(a); CAMPAIGN_GETARG; campaign_longdesc[campaign_entries] = strzone(strreplace("\\n", "\n", a)); + + if(i > entlen) + error("syntax error in campaign file: line has not enough fields"); + campaign_entries = campaign_entries + 1; if(campaign_entries >= n) diff --git a/qcsrc/common/command/generic.qc b/qcsrc/common/command/generic.qc index 8cf7f5aa5..b7b8da0e9 100644 --- a/qcsrc/common/command/generic.qc +++ b/qcsrc/common/command/generic.qc @@ -1,6 +1,6 @@ // ========================================================= // Generic program common command code, written by Samual -// Last updated: December 28th, 2011 +// Last updated: February 19th, 2012 // ========================================================= // used by generic commands for better help/usage information @@ -17,6 +17,33 @@ string GetProgramCommandPrefix(void) #endif } +// used by curl command +void Curl_URI_Get_Callback(float id, float status, string data) +{ + float i; + float do_exec; + string do_cvar; + i = id - URI_GET_CURL; + do_exec = curl_uri_get_exec[i]; + do_cvar = curl_uri_get_cvar[i]; + if(status != 0) + { + print(sprintf(_("error: status is %d\n"), status)); + if(do_cvar) + strunzone(do_cvar); + return; + } + if(do_exec) + localcmd(data); + if(do_cvar) + { + cvar_set(do_cvar, data); + strunzone(do_cvar); + } + if(!do_exec && !do_cvar) + print(data); +} + // ======================= // Command Sub-Functions @@ -65,6 +92,85 @@ void GenericCommand_addtolist(float request, float argc) } } +void GenericCommand_curl(float request, float argc) +{ + switch(request) + { + case CMD_REQUEST_COMMAND: + { + float do_exec; + string do_cvar; + float key; + float i, j; + string url; + float buf; + float r; + + do_exec = FALSE; + do_cvar = string_null; + key = -1; + + for(i = 1; i+1 < argc; ++i) + { + if(argv(i) == "--cvar" && i+2 < argc) + { + ++i; + do_cvar = strzone(argv(i)); + continue; + } + if(argv(i) == "--exec") + { + do_exec = TRUE; + continue; + } + if(argv(i) == "--key" && i+2 < argc) + { + ++i; + key = stof(argv(i)); + continue; + } + break; + } + + // now, argv(i) is the URL + // following args may be POST parameters + url = argv(i); + ++i; + buf = buf_create(); + j = 0; + for(; i+1 < argc; i += 2) + bufstr_set(buf, ++j, sprintf("%s=%s", uri_escape(argv(i)), uri_escape(argv(i+1)))); + if(i < argc) + bufstr_set(buf, ++j, sprintf("submit=%s", uri_escape(argv(i)))); + + if(j == 0) // no args: GET + r = crypto_uri_postbuf(url, URI_GET_CURL + curl_uri_get_pos, string_null, string_null, -1, key); + else // with args: POST + r = crypto_uri_postbuf(url, URI_GET_CURL + curl_uri_get_pos, "application/x-www-form-urlencoded", "&", buf, key); + + if(r) + { + curl_uri_get_exec[curl_uri_get_pos] = do_exec; + curl_uri_get_cvar[curl_uri_get_pos] = do_cvar; + curl_uri_get_pos = mod(curl_uri_get_pos + 1, URI_GET_CURL_END - URI_GET_CURL + 1); + } + else + print(_("error creating curl handle\n")); + + buf_del(buf); + + return; + } + + default: + case CMD_REQUEST_USAGE: + { + print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " curl [--key N] [--cvar] [--exec] URL [postargs...]")); + return; + } + } +} + void GenericCommand_dumpcommands(float request) { switch(request) @@ -157,6 +263,7 @@ void GenericCommand_maplist(float request, float argc) MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0); argc = tokenizebyseparator(cvar_string("g_maplist"), " "); + tmp_string = ""; for(i = 0; i < argc; ++i) if(MapInfo_CheckMap(argv(i))) tmp_string = strcat(tmp_string, " ", argv(i)); @@ -173,6 +280,7 @@ void GenericCommand_maplist(float request, float argc) { argc = tokenizebyseparator(cvar_string("g_maplist"), " "); + tmp_string = ""; for(i = 0; i < argc; ++i) if(argv(i) != argv(2)) tmp_string = strcat(tmp_string, " ", argv(i)); @@ -208,6 +316,26 @@ void GenericCommand_maplist(float request, float argc) } } +void GenericCommand_nextframe(float request, float arguments, string command) +{ + switch(request) + { + case CMD_REQUEST_COMMAND: + { + queue_to_execute_next_frame(substring(command, argv_start_index(1), argv_end_index(-1) - argv_start_index(1))); + return; + } + + default: + case CMD_REQUEST_USAGE: + { + print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " nextframe command...")); + print(" Where command will be executed next frame of this VM\n"); + return; + } + } +} + void GenericCommand_removefromlist(float request, float argc) { switch(request) @@ -223,6 +351,7 @@ void GenericCommand_removefromlist(float request, float argc) argc = tokenizebyseparator(cvar_string(original_cvar), " "); + tmp_string = ""; for(i = 0; i < argc; ++i) if(argv(i) != removal) tmp_string = strcat(tmp_string, " ", argv(i)); @@ -332,8 +461,10 @@ void GenericCommand_(float request) // Do not hard code aliases for these, instead create them in commands.cfg... also: keep in alphabetical order, please ;) #define GENERIC_COMMANDS(request,arguments,command) \ GENERIC_COMMAND("addtolist", GenericCommand_addtolist(request, arguments), "Add a string to a cvar") \ + GENERIC_COMMAND("curl", GenericCommand_curl(request, arguments), "Queries an URL") \ GENERIC_COMMAND("dumpcommands", GenericCommand_dumpcommands(request), "Dump all commands on the program to *_cmd_dump.txt") \ GENERIC_COMMAND("maplist", GenericCommand_maplist(request, arguments), "Automatic control of maplist") \ + GENERIC_COMMAND("nextframe", GenericCommand_nextframe(request, arguments, command), "Execute the given command next frame of this VM") \ GENERIC_COMMAND("removefromlist", GenericCommand_removefromlist(request, arguments), "Remove a string from a cvar") \ GENERIC_COMMAND("rpn", GenericCommand_rpn(request, arguments, command), "RPN calculator") \ GENERIC_COMMAND("settemp", GenericCommand_settemp(request, arguments), "Temporarily set a value to a cvar which is restored later") \ diff --git a/qcsrc/common/command/generic.qh b/qcsrc/common/command/generic.qh index 3078a0f05..be096db17 100644 --- a/qcsrc/common/command/generic.qh +++ b/qcsrc/common/command/generic.qh @@ -14,4 +14,9 @@ string GetProgramCommandPrefix(void); // used by common/command/generic.qc:GenericCommand_dumpcommands to list all commands into a .txt file #define CMD_Write(s) fputs(fh, s) #define CMD_Write_Alias(execute,command,description) CMD_Write(sprintf("alias %-20s \"%-13s %-20s ${* ?}\" // %s\n", command, execute, command, description)) -void GenericCommand_macro_write_aliases(float fh); \ No newline at end of file +void GenericCommand_macro_write_aliases(float fh); + +void Curl_URI_Get_Callback(float id, float status, string data); +float curl_uri_get_pos; +float curl_uri_get_exec[URI_GET_CURL_END - URI_GET_CURL + 1]; +string curl_uri_get_cvar[URI_GET_CURL_END - URI_GET_CURL + 1]; \ No newline at end of file diff --git a/qcsrc/common/command/markup.qc b/qcsrc/common/command/markup.qc index cb1a8cc37..d1562aaac 100644 --- a/qcsrc/common/command/markup.qc +++ b/qcsrc/common/command/markup.qc @@ -51,6 +51,7 @@ void GenericCommand_markup_init() markup_from[i] = "&.."; markup_to[i] = "\x9e"; ++i; markup_from[i] = "&.)"; markup_to[i] = "\x9f"; ++i; markup_from[i] = "&<|"; markup_to[i] = "\xff"; ++i; + unused_float = i; } string GenericCommand_markup(string s2) diff --git a/qcsrc/common/command/rpn.qc b/qcsrc/common/command/rpn.qc index d6c624bbb..5cca2db1c 100644 --- a/qcsrc/common/command/rpn.qc +++ b/qcsrc/common/command/rpn.qc @@ -55,9 +55,9 @@ void GenericCommand_rpn(float request, float argc, string command) { case CMD_REQUEST_COMMAND: { - float i, j, f, n, f2, f3, rpnpos; - vector rgb; - string s, s2, c, rpncmd; + float i, j, f, f2, f3, rpnpos; + //vector rgb; + string s, s2, rpncmd; if(!rpn_db) { @@ -236,9 +236,9 @@ void GenericCommand_rpn(float request, float argc, string command) i = stof(db_get(rpn_db, "stack.pointer")); db_put(rpn_db, "stack.pointer", ftos(i+1)); db_put(rpn_db, strcat("stack.", ftos(i)), s); + if(!i) + db_put(rpn_db, "stack.pos", "0"); } - if(!i) - db_put(rpn_db, "stack.pos", "0"); } else if(rpncmd == "dbpop") { i = stof(db_get(rpn_db, "stack.pointer")); if(i) @@ -556,4 +556,4 @@ void GenericCommand_rpn(float request, float argc, string command) return; } } -} \ No newline at end of file +} diff --git a/qcsrc/common/constants.qh b/qcsrc/common/constants.qh index 1dbafdddf..74c45a7a8 100644 --- a/qcsrc/common/constants.qh +++ b/qcsrc/common/constants.qh @@ -46,6 +46,7 @@ const float TE_CSQC_NEX_SCOPE = 116; const float TE_CSQC_MINELAYER_MAXMINES = 117; const float TE_CSQC_HAGAR_MAXROCKETS = 118; const float TE_CSQC_VEHICLESETUP = 119; +const float TE_CSQC_SVNOTICE = 120; const float RACE_NET_CHECKPOINT_HIT_QUALIFYING = 0; // byte checkpoint, short time, short recordtime, string recordholder const float RACE_NET_CHECKPOINT_CLEAR = 1; @@ -127,6 +128,8 @@ const float KEY_LEFT = 4; const float KEY_RIGHT = 8; const float KEY_JUMP = 16; const float KEY_CROUCH = 32; +const float KEY_ATCK = 64; +const float KEY_ATCK2 = 128; /////////////////////////// // cvar constants @@ -162,6 +165,7 @@ const float STAT_TYPEHIT_TIME = 55; const float STAT_LAYED_MINES = 56; const float STAT_HAGAR_LOAD = 57; const float STAT_SWITCHINGWEAPON = 58; +const float STAT_SUPERWEAPONS_FINISHED = 59; // see DP source, quakedef.h const float STAT_MOVEVARS_AIRSPEEDLIMIT_NONQW = 222; @@ -563,18 +567,17 @@ string HUD_PANELNAME_PHYSICS = "physics"; string HUD_PANELNAME_CENTERPRINT = "centerprint"; string HUD_PANELNAME_ITEMSTIME = "itemstime"; -float HUD_MENU_ENABLE = 0; - #define SERVERFLAG_ALLOW_FULLBRIGHT 1 #define SERVERFLAG_TEAMPLAY 2 #define SERVERFLAG_PLAYERSTATS 4 -var vector autocvar_sv_player_maxs = '16 16 45'; -var vector autocvar_sv_player_mins = '-16 -16 -24'; -var vector autocvar_sv_player_viewoffset = '0 0 20'; -var vector autocvar_sv_player_crouch_maxs = '16 16 25'; -var vector autocvar_sv_player_crouch_mins = '-16 -16 -24'; -var vector autocvar_sv_player_crouch_viewoffset = '0 0 20'; +// FIXME/EXPLAINME: why? +noref var vector autocvar_sv_player_maxs = '16 16 45'; +noref var vector autocvar_sv_player_mins = '-16 -16 -24'; +noref var vector autocvar_sv_player_viewoffset = '0 0 20'; +noref var vector autocvar_sv_player_crouch_maxs = '16 16 25'; +noref var vector autocvar_sv_player_crouch_mins = '-16 -16 -24'; +noref var vector autocvar_sv_player_crouch_viewoffset = '0 0 20'; noref var vector autocvar_sv_player_headsize = '24 24 12'; #define PL_VIEW_OFS autocvar_sv_player_viewoffset @@ -600,3 +603,13 @@ noref var vector autocvar_sv_player_headsize = '24 24 12'; #define SPAWN_PRIO_NEAR_TEAMMATE_SAMETEAM 100 #define SPAWN_PRIO_RACE_PREVIOUS_SPAWN 50 #define SPAWN_PRIO_GOOD_DISTANCE 10 + +// URI handles +#define URI_GET_DISCARD 0 +#define URI_GET_IPBAN 1 +#define URI_GET_IPBAN_END 16 +#define URI_GET_CURL 17 +#define URI_GET_CURL_END 32 +#define URI_GET_UPDATENOTIFICATION 33 +#define URI_GET_URLLIB 128 +#define URI_GET_URLLIB_END 191 diff --git a/qcsrc/common/csqcmodel_settings.qh b/qcsrc/common/csqcmodel_settings.qh index e0dfce4ca..c07bbeebc 100644 --- a/qcsrc/common/csqcmodel_settings.qh +++ b/qcsrc/common/csqcmodel_settings.qh @@ -21,13 +21,13 @@ CSQCMODEL_PROPERTY(4, float, ReadByte, WriteByte, modelflags) \ CSQCMODEL_PROPERTY_SCALED(8, float, ReadByte, WriteByte, alpha, 254, -1, 254) \ CSQCMODEL_PROPERTY(16, float, ReadByte, WriteByte, skin) \ - CSQCMODEL_IF(isplayer) \ - CSQCMODEL_ENDIF \ + CSQCMODEL_PROPERTY(32, float, ReadApproxPastTime, WriteApproxPastTime, death_time) \ + CSQCMODEL_PROPERTY(64, float, ReadByte, WriteByte, solid) \ CSQCMODEL_IF(!isplayer) \ - CSQCMODEL_PROPERTY(32, TAG_ENTITY_TYPE, ReadShort, WriteEntity, TAG_ENTITY_NAME) \ - CSQCMODEL_PROPERTY_SCALED(64, float, ReadByte, WriteByte, glowmod_x, 255, 0, 255) \ - CSQCMODEL_PROPERTY_SCALED(64, float, ReadByte, WriteByte, glowmod_y, 255, 0, 255) \ - CSQCMODEL_PROPERTY_SCALED(64, float, ReadByte, WriteByte, glowmod_z, 255, 0, 255) \ + CSQCMODEL_PROPERTY(128, TAG_ENTITY_TYPE, ReadShort, WriteEntity, TAG_ENTITY_NAME) \ + CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_x, 255, 0, 255) \ + CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_y, 255, 0, 255) \ + CSQCMODEL_PROPERTY_SCALED(256, float, ReadByte, WriteByte, glowmod_z, 255, 0, 255) \ CSQCMODEL_ENDIF // TODO get rid of colormod/glowmod here, find good solution for nex charge glowmod hack; also get rid of some useless properties on non-players that only exist for CopyBody @@ -37,7 +37,7 @@ #define CSQCMODEL_HOOK_POSTUPDATE \ CSQCModel_Hook_PostUpdate(isnew, isplayer, islocalplayer); #define CSQCMODEL_HOOK_PREDRAW \ - CSQCModel_Hook_PreDraw(isplayer, islocalplayer); + CSQCModel_Hook_PreDraw(); #define CSQCPLAYER_HOOK_POSTCAMERASETUP // force updates of player entities that often even if unchanged @@ -82,4 +82,4 @@ float autocvar_sv_use_csqc_players; # endif #endif -#define CSQCMODEL_EF_INVISIBLE EF_SELECTABLE +#define CSQCMODEL_EF_RESPAWNGHOST EF_SELECTABLE diff --git a/qcsrc/common/items.qc b/qcsrc/common/items.qc index 3ddf8099f..1282d428a 100644 --- a/qcsrc/common/items.qc +++ b/qcsrc/common/items.qc @@ -8,7 +8,7 @@ void register_weapon(float id, float(float) func, float ammotype, float i, float weapon_info[id - 1] = e = spawn(); e.classname = "weapon_info"; e.weapon = id; - e.weapons = power2of(id - WEP_FIRST); + WEPSET_COPY_EW(e, id); e.netname = shortname; e.message = wname; e.items = ammotype; @@ -41,7 +41,7 @@ void register_weapons_done() dummy_weapon_info = spawn(); dummy_weapon_info.classname = "weapon_info"; dummy_weapon_info.weapon = 0; // you can recognize dummies by this - dummy_weapon_info.weapons = 0; // you can recognize dummies by this too + WEPSET_CLEAR_E(dummy_weapon_info); dummy_weapon_info.netname = ""; dummy_weapon_info.message = "@!#%'n Tuba"; dummy_weapon_info.items = 0; @@ -154,3 +154,21 @@ string W_FixWeaponOrder_ForceComplete(string order) return W_FixWeaponOrder(order, 1); } +void W_RandomWeapons(entity e, float n) +{ + float i, j; + WEPSET_DECLARE_A(remaining); + WEPSET_DECLARE_A(result); + WEPSET_COPY_AE(remaining, e); + WEPSET_CLEAR_A(result); + for(i = 0; i < n; ++i) + { + RandomSelection_Init(); + for(j = WEP_FIRST; j <= WEP_LAST; ++j) + if(WEPSET_CONTAINS_AW(remaining, j)) + RandomSelection_Add(world, j, string_null, 1, 1); + WEPSET_OR_AW(result, RandomSelection_chosen_float); + WEPSET_ANDNOT_AW(remaining, RandomSelection_chosen_float); + } + WEPSET_COPY_EA(e, result); +} diff --git a/qcsrc/common/items.qh b/qcsrc/common/items.qh index c98ff786b..33fa21f7e 100644 --- a/qcsrc/common/items.qh +++ b/qcsrc/common/items.qh @@ -2,53 +2,54 @@ float BOT_PICKUP_RATING_LOW = 2500; float BOT_PICKUP_RATING_MID = 5000; float BOT_PICKUP_RATING_HIGH = 10000; -float WEP_TYPE_OTHER = 0x00; // e.g: Hook, Port-o-launch, etc -float WEP_TYPE_SPLASH = 0x01; -float WEP_TYPE_HITSCAN = 0x02; -float WEP_TYPEMASK = 0x0F; -float WEP_FLAG_CANCLIMB = 0x10; -float WEP_FLAG_NORMAL = 0x20; -float WEP_FLAG_HIDDEN = 0x40; -float WEP_FLAG_RELOADABLE = 0x80; - -float IT_UNLIMITED_WEAPON_AMMO = 1; +float WEP_TYPE_OTHER = 0x00; // not for damaging people +float WEP_TYPE_SPLASH = 0x01; // splash damage +float WEP_TYPE_HITSCAN = 0x02; // hitscan +float WEP_TYPEMASK = 0x0F; +float WEP_FLAG_CANCLIMB = 0x10; // can be used for movement +float WEP_FLAG_NORMAL = 0x20; // in "most weapons" set +float WEP_FLAG_HIDDEN = 0x40; // hides from menu +float WEP_FLAG_RELOADABLE = 0x80; // can has reload +float WEP_FLAG_SUPERWEAPON = 0x100; // powerup timer +float WEP_FLAG_MUTATORBLOCKED = 0x200; // hides from impulse 99 etc. (mutators are allowed to clear this flag) + +float IT_UNLIMITED_WEAPON_AMMO = 1; // when this bit is set, using a weapon does not reduce ammo. Checkpoints can give this powerup. -float IT_UNLIMITED_SUPERWEAPONS = 2; -// when this bit is set, using a superweapon does not throw it away. Checkpoints can give this powerup. -float IT_CTF_SHIELDED = 4; // set for the flag shield -// using jetpack -float IT_USING_JETPACK = 8; // confirmation that button is pressed -float IT_JETPACK = 16; // actual item -float IT_FUEL_REGEN = 32; // fuel regeneration trigger -float IT_SHELLS = 256; -float IT_NAILS = 512; -float IT_ROCKETS = 1024; -float IT_CELLS = 2048; -float IT_SUPERWEAPON = 4096; -float IT_FUEL = 128; -float IT_STRENGTH = 8192; -float IT_INVINCIBLE = 16384; -float IT_HEALTH = 32768; +float IT_UNLIMITED_SUPERWEAPONS = 2; +// when this bit is set, superweapons don't expire. Checkpoints can give this powerup. +float IT_CTF_SHIELDED = 4; // set for the flag shield +float IT_USING_JETPACK = 8; // confirmation that button is pressed +float IT_JETPACK = 16; // actual item +float IT_FUEL_REGEN = 32; // fuel regeneration trigger +float IT_SHELLS = 256; +float IT_NAILS = 512; +float IT_ROCKETS = 1024; +float IT_CELLS = 2048; +float IT_SUPERWEAPON = 4096; +float IT_FUEL = 128; +float IT_STRENGTH = 8192; +float IT_INVINCIBLE = 16384; +float IT_HEALTH = 32768; // union: - // for items: - float IT_KEY1 = 131072; - float IT_KEY2 = 262144; - // for players: - float IT_RED_FLAG_TAKEN = 32768; - float IT_RED_FLAG_LOST = 65536; - float IT_RED_FLAG_CARRING = 98304; - float IT_BLUE_FLAG_TAKEN = 131072; - float IT_BLUE_FLAG_LOST = 262144; - float IT_BLUE_FLAG_CARRING = 393216; + // for items: + float IT_KEY1 = 131072; + float IT_KEY2 = 262144; + // for players: + float IT_RED_FLAG_TAKEN = 32768; + float IT_RED_FLAG_LOST = 65536; + float IT_RED_FLAG_CARRING = 98304; + float IT_BLUE_FLAG_TAKEN = 131072; + float IT_BLUE_FLAG_LOST = 262144; + float IT_BLUE_FLAG_CARRING = 393216; // end -float IT_5HP = 524288; -float IT_25HP = 1048576; -float IT_ARMOR_SHARD = 2097152; -float IT_ARMOR = 4194304; +float IT_5HP = 524288; +float IT_25HP = 1048576; +float IT_ARMOR_SHARD = 2097152; +float IT_ARMOR = 4194304; -float IT_AMMO = 8064; // IT_SHELLS | IT_NAILS | IT_ROCKETS | IT_CELLS | IT_SUPERWEAPON | IT_FUEL; -float IT_PICKUPMASK = 51; // IT_FUEL_REGEN | IT_JETPACK | IT_UNLIMITED_AMMO; // strength and invincible are handled separately -float IT_UNLIMITED_AMMO = 3; // IT_UNLIMITED_SUPERWEAPONS | IT_UNLIMITED_WEAPON_AMMO; +float IT_AMMO = 3968; // IT_SHELLS | IT_NAILS | IT_ROCKETS | IT_CELLS | IT_FUEL; +float IT_PICKUPMASK = 51; // IT_FUEL_REGEN | IT_JETPACK | IT_UNLIMITED_AMMO; // strength and invincible are handled separately +float IT_UNLIMITED_AMMO = 3; // IT_UNLIMITED_SUPERWEAPONS | IT_UNLIMITED_WEAPON_AMMO; float AMMO_COUNT = 4; // amount of ammo types to show in the inventory panel @@ -71,7 +72,6 @@ string W_NumberWeaponOrder(string order); // entity properties of weaponinfo: .float weapon; // WEP_... -.float weapons; // WEPBIT_... .string netname; // short name .string message; // human readable name .float items; // IT_... @@ -83,35 +83,149 @@ string W_NumberWeaponOrder(string order); .float bot_pickupbasevalue; // bot weapon priority .string model2; // wpn- sprite name ..float ammo_field; // main ammo field +// also, weaponinfo ents can act as a WEPSET // dynamic weapon adding float w_null(float dummy); void register_weapon(float id, float(float) func, float ammotype, float i, float weapontype, float pickupbasevalue, string modelname, string shortname, string wname); void register_weapons_done(); +#define WEP_FIRST 1 float WEP_COUNT; -float WEP_FIRST = 1; float WEP_LAST; -#define WEP_MAXCOUNT 24 -float WEPBIT_ALL; -#define REGISTER_WEAPON_2(id,bit,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname) \ + +#if 1 +# define WEP_MAXCOUNT 24 +// default storage +.float _WS_weapons; +# define WEPSET_BIT(a) power2of((a) - WEP_FIRST) +# define WEPSET_DECLARE_A(a) float _WS_##a +# define WEPSET_CLEAR_E(e) ((e)._WS_weapons = 0) +# define WEPSET_CLEAR_A(a) (_WS_##a = 0) +# define WEPSET_EMPTY_E(e) ((e)._WS_weapons == 0) +# define WEPSET_EMPTY_A(a) (_WS_##a == 0) +# define WEPSET_COPY_AS(a) (_WS_##a = getstati(STAT_WEAPONS)) +# define WEPSET_ADDSTAT() addstat(STAT_WEAPONS, AS_INT, _WS_weapons) +# define WEPSET_WRITE_E(dest,a) WriteInt24_t(dest, (a)._WS_weapons) +# define WEPSET_WRITE_A(dest,a) WriteInt24_t(dest, _WS_##a) +# define WEPSET_WRITE_W(dest,a) WriteInt24_t(dest, WEPSET_BIT(a)) +# define WEPSET_READ_E(a) (a)._WS_weapons = ReadInt24_t() +# define WEPSET_READ_A(a) (_WS_##a) = ReadInt24_t() +# define WEPSET_OP1_EE(a,b,mergeop,x) ((a)._WS_weapons x (b)._WS_weapons) +# define WEPSET_OP2_EE(a,b,mergeop,x,y) ((a)._WS_weapons x (b)._WS_weapons y (a)._WS_weapons) +# define WEPSET_OP1_EA(a,b,mergeop,x) ((a)._WS_weapons x _WS_##b) +# define WEPSET_OP2_EA(a,b,mergeop,x,y) ((a)._WS_weapons x _WS_##b y (a)._WS_weapons) +# define WEPSET_OP1_EW(a,b,mergeop,x) ((a)._WS_weapons x WEPSET_BIT(b)) +# define WEPSET_OP2_EW(a,b,mergeop,x,y) ((a)._WS_weapons x WEPSET_BIT(b) y (a)._WS_weapons) +# define WEPSET_OP1_AE(a,b,mergeop,x) (_WS_##a x (b)._WS_weapons) +# define WEPSET_OP2_AE(a,b,mergeop,x,y) (_WS_##a x (b)._WS_weapons y _WS_##a) +# define WEPSET_OP1_AA(a,b,mergeop,x) (_WS_##a x _WS_##b) +# define WEPSET_OP2_AA(a,b,mergeop,x,y) (_WS_##a x _WS_##b y _WS_##a) +# define WEPSET_OP1_AW(a,b,mergeop,x) (_WS_##a x WEPSET_BIT(b)) +# define WEPSET_OP2_AW(a,b,mergeop,x,y) (_WS_##a x WEPSET_BIT(b) y _WS_##a) +#else +# define WEP_MAXCOUNT 48 +# define WEP_FIRST2 25 +.float _WS1_weapons; +.float _WS2_weapons; +# define WEPSET_BIT1(a) (((a) < WEP_FIRST2) ? power2of((a) - WEP_FIRST) : 0) +# define WEPSET_BIT2(a) (((a) >= WEP_FIRST2) ? power2of((a) - WEP_FIRST2) : 0) +# define WEPSET_DECLARE_A(a) float _WS1_##a, _WS2_##a +# define WEPSET_CLEAR_E(e) ((e)._WS1_weapons = (e)._WS2_weapons = 0) +# define WEPSET_CLEAR_A(a) ((_WS1_##a) = (_WS2_##a) = 0) +# define WEPSET_EMPTY_E(e) ((e)._WS1_weapons == 0 && (e)._WS2_weapons == 0) +# define WEPSET_EMPTY_A(a) ((_WS1_##a) == 0 && (_WS2_##a) == 0) +# define WEPSET_COPY_AS(a) ((_WS1_##a) = getstati(STAT_WEAPONS), (_WS2_##a) = getstati(STAT_WEAPONS2)) +# define WEPSET_ADDSTAT() addstat(STAT_WEAPONS, AS_INT, _WS1_weapons); addstat(STAT_WEAPONS2, AS_INT, _WS2_weapons) +# define WEPSET_WRITE_E(dest,a) WriteInt24_t(dest, (a)._WS1_weapons); WriteInt24_t(dest, (a)._WS2_weapons) +# define WEPSET_WRITE_A(dest,a) WriteInt24_t(dest, _WS1_##a); WriteInt24_t(dest, _WS2_##a) +# define WEPSET_WRITE_W(dest,a) WriteInt24_t(dest, WEPSET_BIT1(a)); WriteInt24_t(dest, WEPSET_BIT2(a)) +# define WEPSET_READ_E(a) (a)._WS1_weapons = ReadInt24_t(); (a)._WS2_weapons = ReadInt24_t() +# define WEPSET_READ_A(a) (_WS1_##a) = ReadInt24_t(); (_WS2_##a) = ReadInt24_t() +# define WEPSET_OP1_EE(a,b,mergeop,x) (((a)._WS1_weapons x (b)._WS1_weapons) mergeop ((a)._WS2_weapons x (b)._WS2_weapons)) +# define WEPSET_OP2_EE(a,b,mergeop,x,y) (((a)._WS1_weapons x (b)._WS1_weapons y (a)._WS1_weapons) mergeop ((a)._WS2_weapons x (b)._WS2_weapons y (a)._WS2_weapons)) +# define WEPSET_OP1_EA(a,b,mergeop,x) (((a)._WS1_weapons x _WS1_##b) mergeop ((a)._WS2_weapons x _WS2_##b)) +# define WEPSET_OP2_EA(a,b,mergeop,x,y) (((a)._WS1_weapons x _WS1_##b y (a)._WS1_weapons) mergeop ((a)._WS2_weapons x _WS2_##b y (a)._WS2_weapons)) +# define WEPSET_OP1_EW(a,b,mergeop,x) (((a)._WS1_weapons x WEPSET_BIT1(b)) mergeop ((a)._WS2_weapons x WEPSET_BIT2(b))) +# define WEPSET_OP2_EW(a,b,mergeop,x,y) (((a)._WS1_weapons x WEPSET_BIT1(b) y (a)._WS1_weapons) mergeop ((a)._WS2_weapons x WEPSET_BIT2(b) y (a)._WS2_weapons)) +# define WEPSET_OP1_AE(a,b,mergeop,x) ((_WS1_##a x (b)._WS1_weapons) mergeop (_WS2_##a x (b)._WS2_weapons)) +# define WEPSET_OP2_AE(a,b,mergeop,x,y) ((_WS1_##a x (b)._WS1_weapons y _WS1_##a) mergeop (_WS2_##a x (b)._WS2_weapons y _WS2_##a)) +# define WEPSET_OP1_AA(a,b,mergeop,x) ((_WS1_##a x _WS1_##b) mergeop (_WS2_##a x _WS2_##b)) +# define WEPSET_OP2_AA(a,b,mergeop,x,y) ((_WS1_##a x _WS1_##b y _WS1_##a) mergeop (_WS2_##a x _WS2_##b y _WS2_##a)) +# define WEPSET_OP1_AW(a,b,mergeop,x) ((_WS1_##a x WEPSET_BIT1(b)) mergeop (_WS2_##a x WEPSET_BIT2(b))) +# define WEPSET_OP2_AW(a,b,mergeop,x,y) ((_WS1_##a x WEPSET_BIT1(b) y _WS1_##a) mergeop (_WS2_##a x WEPSET_BIT2(b) y _WS2_##a)) +#endif + +#define XX , + +#define WEPSET_COPY_EE(a,b) WEPSET_OP1_EE(a,b,XX,=) +#define WEPSET_EQ_EE(a,b) WEPSET_OP1_EE(a,b,&&,==) +#define WEPSET_OR_EE(a,b) WEPSET_OP1_EE(a,b,XX,|=) +#define WEPSET_AND_EE(a,b) WEPSET_OP2_EE(a,b,XX,=,&) +#define WEPSET_ANDNOT_EE(a,b) WEPSET_OP1_EE(a,b,XX,&~=) +#define WEPSET_CONTAINS_ANY_EE(a,b) !!(WEPSET_OP1_EE(a,b,||,&)) +#define WEPSET_CONTAINS_ALL_EE(a,b) WEPSET_OP2_EE(b,a,&&,==,&) + +#define WEPSET_COPY_EA(a,b) WEPSET_OP1_EA(a,b,XX,=) +#define WEPSET_EQ_EA(a,b) WEPSET_OP1_EA(a,b,&&,==) +#define WEPSET_OR_EA(a,b) WEPSET_OP1_EA(a,b,XX,|=) +#define WEPSET_AND_EA(a,b) WEPSET_OP2_EA(a,b,XX,=,&) +#define WEPSET_ANDNOT_EA(a,b) WEPSET_OP1_EA(a,b,XX,&~=) +#define WEPSET_CONTAINS_ANY_EA(a,b) !!(WEPSET_OP1_EA(a,b,||,&)) +#define WEPSET_CONTAINS_ALL_EA(a,b) WEPSET_OP2_EA(b,a,&&,==,&) + +#define WEPSET_COPY_EW(a,b) WEPSET_OP1_EW(a,b,XX,=) +#define WEPSET_EQ_EW(a,b) WEPSET_OP1_EW(a,b,&&,==) +#define WEPSET_OR_EW(a,b) WEPSET_OP1_EW(a,b,XX,|=) +#define WEPSET_AND_EW(a,b) WEPSET_OP2_EW(a,b,XX,=,&) +#define WEPSET_ANDNOT_EW(a,b) WEPSET_OP1_EW(a,b,XX,&~=) +#define WEPSET_CONTAINS_EW(a,b) !!(WEPSET_OP1_EW(a,b,||,&)) + +#define WEPSET_COPY_AE(a,b) WEPSET_OP1_AE(a,b,XX,=) +#define WEPSET_EQ_AE(a,b) WEPSET_OP1_AE(a,b,&&,==) +#define WEPSET_OR_AE(a,b) WEPSET_OP1_AE(a,b,XX,|=) +#define WEPSET_AND_AE(a,b) WEPSET_OP2_AE(a,b,XX,=,&) +#define WEPSET_ANDNOT_AE(a,b) WEPSET_OP1_AE(a,b,XX,&~=) +#define WEPSET_CONTAINS_ANY_AE(a,b) !!(WEPSET_OP1_AE(a,b,||,&)) +#define WEPSET_CONTAINS_ALL_AE(a,b) WEPSET_OP2_AE(b,a,&&,==,&) + +#define WEPSET_COPY_AA(a,b) WEPSET_OP1_AA(a,b,XX,=) +#define WEPSET_EQ_AA(a,b) WEPSET_OP1_AA(a,b,&&,==) +#define WEPSET_OR_AA(a,b) WEPSET_OP1_AA(a,b,XX,|=) +#define WEPSET_AND_AA(a,b) WEPSET_OP2_AA(a,b,XX,=,&) +#define WEPSET_ANDNOT_AA(a,b) WEPSET_OP1_AA(a,b,XX,&~=) +#define WEPSET_CONTAINS_ANY_AA(a,b) !!(WEPSET_OP1_AA(a,b,||,&)) +#define WEPSET_CONTAINS_ALL_AA(a,b) WEPSET_OP2_AA(b,a,&&,==,&) + +#define WEPSET_COPY_AW(a,b) WEPSET_OP1_AW(a,b,XX,=) +#define WEPSET_EQ_AW(a,b) WEPSET_OP1_AW(a,b,&&,==) +#define WEPSET_OR_AW(a,b) WEPSET_OP1_AW(a,b,XX,|=) +#define WEPSET_AND_AW(a,b) WEPSET_OP2_AW(a,b,XX,=,&) +#define WEPSET_ANDNOT_AW(a,b) WEPSET_OP1_AW(a,b,XX,&~=) +#define WEPSET_CONTAINS_AW(a,b) !!(WEPSET_OP1_AW(a,b,||,&)) + +WEPSET_DECLARE_A(WEPBIT_ALL); +WEPSET_DECLARE_A(WEPBIT_SUPERWEAPONS); +// note: the fabs call is just there to hide "if result is constant" warning +#define REGISTER_WEAPON_2(id,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname) \ float id; \ - float bit; \ float func(float); \ void RegisterWeapons_##id() \ { \ WEP_LAST = (id = WEP_FIRST + WEP_COUNT); \ - WEPBIT_ALL |= (bit = power2of(WEP_COUNT)); \ + WEPSET_OR_AW(WEPBIT_ALL, id); \ + if(fabs(weapontype & WEP_FLAG_SUPERWEAPON)) \ + WEPSET_OR_AW(WEPBIT_SUPERWEAPONS, id); \ ++WEP_COUNT; \ register_weapon(id,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname); \ } \ ACCUMULATE_FUNCTION(RegisterWeapons, RegisterWeapons_##id) #ifdef MENUQC #define REGISTER_WEAPON(id,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname) \ - REGISTER_WEAPON_2(WEP_##id,WEPBIT_##id,w_null,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname) + REGISTER_WEAPON_2(WEP_##id,w_null,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname) #else #define REGISTER_WEAPON(id,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname) \ - REGISTER_WEAPON_2(WEP_##id,WEPBIT_##id,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname) + REGISTER_WEAPON_2(WEP_##id,func,ammotype,i,weapontype,pickupbasevalue,modelname,shortname,wname) #endif #include "../server/w_all.qc" @@ -126,3 +240,5 @@ string W_NameWeaponOrder(string order); string W_FixWeaponOrder_BuildImpulseList(string o); string W_FixWeaponOrder_AllowIncomplete(string order); string W_FixWeaponOrder_ForceComplete(string order); + +void W_RandomWeapons(entity e, float n); diff --git a/qcsrc/common/mapinfo.qc b/qcsrc/common/mapinfo.qc index 1b32c9d1d..05c93865d 100644 --- a/qcsrc/common/mapinfo.qc +++ b/qcsrc/common/mapinfo.qc @@ -242,6 +242,8 @@ float _MapInfo_Generate(string pFilename) // 0: failure, 1: ok ent, 2: ok bsp spawnpoints = 0; spawnplaces = 0; _MapInfo_Map_worldspawn_music = ""; + mapMins = '0 0 0'; + mapMaxs = '0 0 0'; for(;;) { @@ -536,7 +538,7 @@ string _MapInfo_GetDefaultEx(float t) { entity e; for(e = MapInfo_Type_first; e; e = e.enemy) - if(t == e.weapons) + if(t == e.items) return e.model2; return ""; } @@ -637,11 +639,29 @@ void _MapInfo_Map_ApplyGametypeEx(string s, float pWantedType, float pThisType) float MapInfo_Type_FromString(string t) { entity e; + if(t == "nexball") + { + print("MapInfo_Type_FromString (probably ", MapInfo_Map_bspname, "): using deprecated name '", t); + t = "nb"; + print("'. Should use '", t, "'.\n"); + } + if(t == "freezetag") + { + print("MapInfo_Type_FromString (probably ", MapInfo_Map_bspname, "): using deprecated name '", t); + t = "ft"; + print("'. Should use '", t, "'.\n"); + } + if(t == "keepaway") + { + print("MapInfo_Type_FromString (probably ", MapInfo_Map_bspname, "): using deprecated name '", t); + t = "ka"; + print("'. Should use '", t, "'.\n"); + } if(t == "all") return MAPINFO_TYPE_ALL; for(e = MapInfo_Type_first; e; e = e.enemy) if(t == e.mdl) - return e.weapons; + return e.items; return 0; } @@ -651,7 +671,7 @@ string MapInfo_Type_ToString(float t) if(t == MAPINFO_TYPE_ALL) return "all"; for(e = MapInfo_Type_first; e; e = e.enemy) - if(t == e.weapons) + if(t == e.items) return e.mdl; return ""; } @@ -660,7 +680,7 @@ string MapInfo_Type_ToText(float t) { entity e; for(e = MapInfo_Type_first; e; e = e.enemy) - if(t == e.weapons) + if(t == e.items) return e.message; return _("@!#%'n Tuba Throwing"); } @@ -925,7 +945,7 @@ float MapInfo_Get_ByName_NoFallbacks(string pFilename, float pAllowGenerate, flo MapInfo_Map_author = s; else if(t == "has") { - t = car(s); s = cdr(s); + t = car(s); // s = cdr(s); if (t == "weapons") MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_WEAPONS; else if(t == "turrets") MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_TURRETS; else if(t == "vehicles") MapInfo_Map_supportedFeatures |= MAPINFO_FEATURE_VEHICLES; @@ -1157,8 +1177,8 @@ float MapInfo_CurrentGametype() prev = cvar("gamecfg"); for(e = MapInfo_Type_first; e; e = e.enemy) if(cvar(e.netname)) - if(prev != e.weapons) - return e.weapons; + if(prev != e.items) + return e.items; if(prev) return prev; return MAPINFO_TYPE_DEATHMATCH; @@ -1187,7 +1207,7 @@ void MapInfo_SwitchGameType(float t) { entity e; for(e = MapInfo_Type_first; e; e = e.enemy) - cvar_set(e.netname, (t == e.weapons) ? "1" : "0"); + cvar_set(e.netname, (t == e.items) ? "1" : "0"); } void MapInfo_LoadMap(string s, float reinit) diff --git a/qcsrc/common/mapinfo.qh b/qcsrc/common/mapinfo.qh index e47a28369..bd67f67a8 100644 --- a/qcsrc/common/mapinfo.qh +++ b/qcsrc/common/mapinfo.qh @@ -1,9 +1,9 @@ -var float MAPINFO_TYPE_ALL = 0; +float MAPINFO_TYPE_ALL; entity MapInfo_Type_first; entity MapInfo_Type_last; .entity enemy; // internal next pointer -.float weapons; // game type ID +.float items; // game type ID .string netname; // game type name as in cvar (with g_ prefix) .string mdl; // game type short name .string message; // human readable name @@ -17,7 +17,7 @@ entity MapInfo_Type_last; MAPINFO_TYPE_##NAME = MAPINFO_TYPE_ALL + 1; \ MAPINFO_TYPE_ALL |= MAPINFO_TYPE_##NAME; \ MapInfo_Type##g_name = spawn(); \ - MapInfo_Type##g_name.weapons = MAPINFO_TYPE_##NAME; \ + MapInfo_Type##g_name.items = MAPINFO_TYPE_##NAME; \ MapInfo_Type##g_name.netname = #g_name; \ MapInfo_Type##g_name.mdl = #sname; \ MapInfo_Type##g_name.message = hname; \ @@ -72,13 +72,13 @@ REGISTER_GAMETYPE(_("Assault"),as,g_assault,ASSAULT,"timelimit=20") REGISTER_GAMETYPE(_("Onslaught"),ons,g_onslaught,ONSLAUGHT,"timelimit=20") #define g_onslaught IS_GAMETYPE(ONSLAUGHT) -REGISTER_GAMETYPE(_("Nexball"),nexball,g_nexball,NEXBALL,"timelimit=20 pointlimit=5 leadlimit=0") +REGISTER_GAMETYPE(_("Nexball"),nb,g_nexball,NEXBALL,"timelimit=20 pointlimit=5 leadlimit=0") #define g_nexball IS_GAMETYPE(NEXBALL) -REGISTER_GAMETYPE(_("Freeze Tag"),freezetag,g_freezetag,FREEZETAG,"timelimit=20 pointlimit=10 teams=2 leadlimit=0") +REGISTER_GAMETYPE(_("Freeze Tag"),ft,g_freezetag,FREEZETAG,"timelimit=20 pointlimit=10 teams=2 leadlimit=0") #define g_freezetag IS_GAMETYPE(FREEZETAG) -REGISTER_GAMETYPE(_("Keepaway"),keepaway,g_keepaway,KEEPAWAY,"timelimit=20 pointlimit=30") +REGISTER_GAMETYPE(_("Keepaway"),ka,g_keepaway,KEEPAWAY,"timelimit=20 pointlimit=30") #define g_keepaway IS_GAMETYPE(KEEPAWAY) float MAPINFO_FEATURE_WEAPONS = 1; // not defined for minstagib-only maps @@ -140,6 +140,7 @@ string MapInfo_ListAllowedMaps(float pFlagsRequired, float pFlagsForbidden); 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); diff --git a/qcsrc/common/net_notice.qc b/qcsrc/common/net_notice.qc new file mode 100644 index 000000000..869a44bc8 --- /dev/null +++ b/qcsrc/common/net_notice.qc @@ -0,0 +1,117 @@ +#ifdef SVQC +void sv_notice_join_think() +{ + //NextLevel(); + float argc = tokenizebyseparator(autocvar_sv_join_notices, "|"); + if(argc > 0) + { + float i; + for(i = argc - 1; i >= 0; --i) + sv_notice_to(self.owner, argv(i), autocvar_sv_join_notices_time, FALSE); + } + remove(self); +} + +void sv_notice_join() +{ + // to-do: make sv_join_notices support per-entry times + if(!autocvar_sv_join_notices || autocvar_sv_join_notices == "") + return; + + entity n = spawn(); + n.owner = self; + n.think = sv_notice_join_think; + n.nextthink = time + 1; +} + +void sv_notice_to(entity _to, string _notice, float _howlong, float _modal) +{ + msg_entity = _to; + WriteByte(MSG_ONE, SVC_TEMPENTITY); + WriteByte(MSG_ONE, TE_CSQC_SVNOTICE); + WriteString(MSG_ONE, _notice); + WriteLong(MSG_ONE, _howlong); + WriteByte(MSG_ONE, _modal); +} + +void sv_notice_toall(string _notice, float _howlong, float _modal) +{ + entity _head; + FOR_EACH_REALCLIENT(_head) + sv_notice_to(_head, _notice, _howlong, _modal); + +} + +#endif // SVQC + +#ifdef CSQC +void SUB_Remove() +{ remove(self); } + +void cl_notice_read() +{ + entity _notice; + //float _done; + //float _modal; + _notice = spawn(); + _notice.classname = "sv_notice"; + _notice.netname = strzone(ReadString()); + _notice.alpha = ReadLong() + time; + _notice.skin = ReadByte(); +} + +float cl_notice_run() +{ + entity _notes; + string _notice; + float m = FALSE; + + _notes = findchain(classname, "sv_notice"); + if(!_notes) + return FALSE; + #define M1 30 + #define M2 10 + + vector v1, v2, v3; + v1 = '1 1 0' * M1; + v2_x = vid_conwidth - (2 * M1); + v2_y = vid_conheight - (2 * M1); + + drawfill(v1, v2, '0 0 0', 0.5, DRAWFLAG_NORMAL); + v1 = '1 1 0' * (M1 + M2); + v2_x = vid_conwidth - (2 * (M1 + M2)); + v2_y = vid_conheight - (2 * (M1 + M2)); + drawfill(v1, v2, '0.5 0.5 0.5', 0.5, DRAWFLAG_NORMAL); + v3 = v1 + '10 10 0'; + + #define OUT(s,z) drawcolorcodedstring(v3, s, '1 1 0' * z, 1, DRAWFLAG_NORMAL); v3_y += z + 4 + + OUT(_("^1Server notices:"), 32); + + //drawcolorcodedstring(v1 + '5 5 0', "^1Server notices:", '32 32 0', 1, DRAWFLAG_NORMAL); + while(_notes) + { + + _notice = sprintf(_("^7%s (^3%d sec left)"), _notes.netname , rint(_notes.alpha - time)); + OUT(_notice, 16); + + if(_notes.skin) + m = TRUE; + + if(_notes.alpha <= time) + { + _notes.think = SUB_Remove; + _notes.nextthink = time; + } + + _notes = _notes.chain; + } + + #undef OUT + #undef M1 + #undef M2 + + return m; +} + +#endif // CSQC diff --git a/qcsrc/common/net_notice.qh b/qcsrc/common/net_notice.qh new file mode 100644 index 000000000..d94f1d98f --- /dev/null +++ b/qcsrc/common/net_notice.qh @@ -0,0 +1,13 @@ +#ifdef CSQC +void cl_notice_read(); +void sv_notice_to(entity _to, string _notice, float _howlong, float _modal); +#endif + +#ifdef SVQC +string autocvar_sv_join_notices; +float autocvar_sv_join_notices_time; + +void sv_notice_to(entity _to, string _notice, float _howlong, float _modal); +void sv_notice_toall(string _notice, float _howlong, float _modal); +void sv_notice_join(); +#endif diff --git a/qcsrc/common/urllib.qc b/qcsrc/common/urllib.qc index 1bc065027..9a5e0e7da 100644 --- a/qcsrc/common/urllib.qc +++ b/qcsrc/common/urllib.qc @@ -13,6 +13,10 @@ .url_ready_func url_ready; .entity url_ready_pass; +// for multi handles +.float url_attempt; +.float url_mode; + entity url_fromid[NUM_URL_ID]; float autocvar__urllib_nextslot; @@ -345,16 +349,16 @@ void url_multi_ready(entity fh, entity me, float status) remove(me); return; } - me.cnt += 1; + me.url_attempt += 1; n = tokenize_console(me.url_url); - if(n <= me.cnt) + if(n <= me.url_attempt) { me.url_ready(fh, me.url_ready_pass, status); strunzone(me.url_url); remove(me); return; } - url_single_fopen(argv(me.cnt), me.lip, url_multi_ready, me); + url_single_fopen(argv(me.url_attempt), me.url_mode, url_multi_ready, me); return; } me.url_ready(fh, me.url_ready_pass, status); @@ -374,8 +378,8 @@ void url_multi_fopen(string url, float mode, url_ready_func rdy, entity pass) me = spawn(); me.classname = "url_multi"; me.url_url = strzone(url); - me.cnt = 0; - me.lip = mode; + me.url_attempt = 0; + me.url_mode = mode; me.url_ready = rdy; me.url_ready_pass = pass; url_single_fopen(argv(0), mode, url_multi_ready, me); diff --git a/qcsrc/common/urllib.qh b/qcsrc/common/urllib.qh index f92178b2f..8a871c6b3 100644 --- a/qcsrc/common/urllib.qh +++ b/qcsrc/common/urllib.qh @@ -12,7 +12,7 @@ void url_fputs(entity e, string s); // returns true if handled float url_URI_Get_Callback(float id, float status, string data); -#define MIN_URL_ID 128 -#define NUM_URL_ID 64 +#define MIN_URL_ID URI_GET_URLLIB +#define NUM_URL_ID (URI_GET_URLLIB_END - URI_GET_URLLIB + 1) void url_multi_fopen(string url, float mode, url_ready_func rdy, entity pass); diff --git a/qcsrc/common/util-pre.qh b/qcsrc/common/util-pre.qh index 5a22d3612..b65193d44 100644 --- a/qcsrc/common/util-pre.qh +++ b/qcsrc/common/util-pre.qh @@ -5,4 +5,7 @@ //# define WORKAROUND_XON010 //# define COMPAT_XON010_CHANNELS # define COMPAT_XON050_ENGINE +# define COMPAT_NO_MOD_IS_XONOTIC +# define COMPAT_XON060_DONTCRASH_CHECKPVS #endif + diff --git a/qcsrc/common/util.qc b/qcsrc/common/util.qc index 19339a36e..6e534ffc1 100644 --- a/qcsrc/common/util.qc +++ b/qcsrc/common/util.qc @@ -39,6 +39,16 @@ void wordwrap_sprint(string s, float l) #endif #endif +#ifndef SVQC +string draw_UseSkinFor(string pic) +{ + if(substring(pic, 0, 1) == "/") + return substring(pic, 1, strlen(pic)-1); + else + return strcat(draw_currentSkin, "/", pic); +} +#endif + string unescape(string in) { float i, len; @@ -186,6 +196,9 @@ float median(float a, float b, float c) // works for up to 10 decimals! string ftos_decimals(float number, float decimals) { + // inhibit stupid negative zero + if(number == 0) + number = 0; // we have sprintf... return sprintf("%.*f", decimals, number); } @@ -846,6 +859,8 @@ float cvar_settemp(string tmp_cvar, string tmp_value) { float created_saved_value; entity e; + + created_saved_value = FALSE; if not(tmp_cvar || tmp_value) { @@ -899,6 +914,8 @@ float almost_in_bounds(float a, float b, float c) { float eps; eps = (max(a, -a) + max(c, -c)) * 0.001; + if(a > c) + eps = -eps; return b == median(a - eps, b, c + eps); } @@ -1563,6 +1580,109 @@ vector solve_quadratic(float a, float b, float c) // ax^2 + bx + c = 0 return v; } +vector solve_shotdirection(vector myorg, vector myvel, vector eorg, vector evel, float spd, float newton_style) +{ + vector ret; + + // make origin and speed relative + eorg -= myorg; + if(newton_style) + evel -= myvel; + + // now solve for ret, ret normalized: + // eorg + t * evel == t * ret * spd + // or, rather, solve for t: + // |eorg + t * evel| == t * spd + // eorg^2 + t^2 * evel^2 + 2 * t * (eorg * evel) == t^2 * spd^2 + // t^2 * (evel^2 - spd^2) + t * (2 * (eorg * evel)) + eorg^2 == 0 + vector solution = solve_quadratic(evel * evel - spd * spd, 2 * (eorg * evel), eorg * eorg); + // p = 2 * (eorg * evel) / (evel * evel - spd * spd) + // q = (eorg * eorg) / (evel * evel - spd * spd) + if(!solution_z) // no real solution + { + // happens if D < 0 + // (eorg * evel)^2 < (evel^2 - spd^2) * eorg^2 + // (eorg * evel)^2 / eorg^2 < evel^2 - spd^2 + // spd^2 < ((evel^2 * eorg^2) - (eorg * evel)^2) / eorg^2 + // spd^2 < evel^2 * (1 - cos^2 angle(evel, eorg)) + // spd^2 < evel^2 * sin^2 angle(evel, eorg) + // spd < |evel| * sin angle(evel, eorg) + return '0 0 0'; + } + else if(solution_x > 0) + { + // both solutions > 0: take the smaller one + // happens if p < 0 and q > 0 + ret = normalize(eorg + solution_x * evel); + } + else if(solution_y > 0) + { + // one solution > 0: take the larger one + // happens if q < 0 or q == 0 and p < 0 + ret = normalize(eorg + solution_y * evel); + } + else + { + // no solution > 0: reject + // happens if p > 0 and q >= 0 + // 2 * (eorg * evel) / (evel * evel - spd * spd) > 0 + // (eorg * eorg) / (evel * evel - spd * spd) >= 0 + // + // |evel| >= spd + // eorg * evel > 0 + // + // "Enemy is moving away from me at more than spd" + return '0 0 0'; + } + + // NOTE: we always got a solution if spd > |evel| + + if(newton_style == 2) + ret = normalize(ret * spd + myvel); + + return ret; +} + +vector get_shotvelocity(vector myvel, vector mydir, float spd, float newton_style, float mi, float ma) +{ + if(!newton_style) + return spd * mydir; + + if(newton_style == 2) + { + // true Newtonian projectiles with automatic aim adjustment + // + // solve: |outspeed * mydir - myvel| = spd + // outspeed^2 - 2 * outspeed * (mydir * myvel) + myvel^2 - spd^2 = 0 + // outspeed = (mydir * myvel) +- sqrt((mydir * myvel)^2 - myvel^2 + spd^2) + // PLUS SIGN! + // not defined? + // then... + // myvel^2 - (mydir * myvel)^2 > spd^2 + // velocity without mydir component > spd + // fire at smallest possible spd that works? + // |(mydir * myvel) * myvel - myvel| = spd + + vector solution = solve_quadratic(1, -2 * (mydir * myvel), myvel * myvel - spd * spd); + + float outspeed; + if(solution_z) + outspeed = solution_y; // the larger one + else + { + //outspeed = 0; // slowest possible shot + outspeed = solution_x; // the real part (that is, the average!) + //dprint("impossible shot, adjusting\n"); + } + + outspeed = bound(spd * mi, outspeed, spd * ma); + return mydir * outspeed; + } + + // real Newtonian + return myvel + spd * mydir; +} + void check_unacceptable_compiler_bugs() { if(cvar("_allow_unacceptable_compiler_bugs")) @@ -1570,6 +1690,10 @@ void check_unacceptable_compiler_bugs() 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) @@ -1806,6 +1930,7 @@ float matchacl(string acl, string str) while(acl) { t = car(acl); acl = cdr(acl); + d = 1; if(substring(t, 0, 1) == "-") { @@ -1814,10 +1939,11 @@ float matchacl(string acl, string str) } else if(substring(t, 0, 1) == "+") t = substring(t, 1, strlen(t) - 1); + if(substring(t, -1, 1) == "*") { t = substring(t, 0, strlen(t) - 1); - s = substring(s, 0, strlen(t)); + s = substring(str, 0, strlen(t)); } else s = str; @@ -2164,3 +2290,129 @@ void m_shutdown() } cvar_settemp_restore(); // this must be done LAST, but in any case } + +#define APPROXPASTTIME_ACCURACY_REQUIREMENT 0.05 +#define APPROXPASTTIME_MAX (16384 * APPROXPASTTIME_ACCURACY_REQUIREMENT) +#define APPROXPASTTIME_RANGE (64 * APPROXPASTTIME_ACCURACY_REQUIREMENT) +// this will use the value: +// 128 +// accuracy near zero is APPROXPASTTIME_MAX/(256*255) +// accuracy at x is 1/derivative, i.e. +// APPROXPASTTIME_MAX * (1 + 256 * (dt / APPROXPASTTIME_MAX))^2 / 65536 +#ifdef SVQC +void WriteApproxPastTime(float dst, float t) +{ + float dt = time - t; + + // warning: this is approximate; do not resend when you don't have to! + // be careful with sendflags here! + // we want: 0 -> 0.05, 1 -> 0.1, ..., 255 -> 12.75 + + // map to range... + dt = 256 * (dt / ((APPROXPASTTIME_MAX / 256) + dt)); + + // round... + dt = rint(bound(0, dt, 255)); + + WriteByte(dst, dt); +} +#endif +#ifdef CSQC +float ReadApproxPastTime() +{ + float dt = ReadByte(); + + // map from range...PPROXPASTTIME_MAX / 256 + dt = (APPROXPASTTIME_MAX / 256) * (dt / (256 - dt)); + + return servertime - dt; +} +#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() +{ + if(to_execute_next_frame) + { + localcmd("\n", to_execute_next_frame, "\n"); + strunzone(to_execute_next_frame); + to_execute_next_frame = string_null; + } +} +void queue_to_execute_next_frame(string s) +{ + if(to_execute_next_frame) + { + s = strcat(s, "\n", to_execute_next_frame); + strunzone(to_execute_next_frame); + } + to_execute_next_frame = strzone(s); +} + +float cubic_speedfunc(float startspeedfactor, float endspeedfactor, float x) +{ + return + ((( startspeedfactor + endspeedfactor - 2 + ) * x - 2 * startspeedfactor - endspeedfactor + 3 + ) * x + startspeedfactor + ) * x; +} + +float cubic_speedfunc_is_sane(float startspeedfactor, float endspeedfactor) +{ + if(startspeedfactor < 0 || endspeedfactor < 0) + return FALSE; + + /* + // if this is the case, the possible zeros of the first derivative are outside + // 0..1 + We can calculate this condition as condition + if(se <= 3) + return TRUE; + */ + + // better, see below: + if(startspeedfactor <= 3 && endspeedfactor <= 3) + return TRUE; + + // if this is the case, the first derivative has no zeros at all + float se = startspeedfactor + endspeedfactor; + float s_e = startspeedfactor - endspeedfactor; + if(3 * (se - 4) * (se - 4) + s_e * s_e <= 12) // an ellipse + return TRUE; + + // Now let s <= 3, s <= 3, s+e >= 3 (triangle) then we get se <= 6 (top right corner). + // we also get s_e <= 6 - se + // 3 * (se - 4)^2 + (6 - se)^2 + // is quadratic, has value 12 at 3 and 6, and value < 12 in between. + // Therefore, above "better" check works! + + return FALSE; + + // known good cases: + // (0, [0..3]) + // (0.5, [0..3.8]) + // (1, [0..4]) + // (1.5, [0..3.9]) + // (2, [0..3.7]) + // (2.5, [0..3.4]) + // (3, [0..3]) + // (3.5, [0.2..2.3]) + // (4, 1) +} diff --git a/qcsrc/common/util.qh b/qcsrc/common/util.qh index 1b4eebb3d..8bc78fcdc 100644 --- a/qcsrc/common/util.qh +++ b/qcsrc/common/util.qh @@ -1,6 +1,11 @@ // a dummy macro that prevents the "hanging ;" warning #define ENDS_WITH_CURLY_BRACE +// TODO make ascii art pic of xzibit +// YO DAWG! +// I HERD YO LIEK MACROS +// SO I PUT A MACRO DEFINITION IN YO MACRO DEFINITION +// SO YO CAN EXPAND MACROS WHILE YO EXPAND MACROS #define ACCUMULATE_FUNCTION(func,otherfunc) \ #ifdef func \ void __merge__##otherfunc() { func(); otherfunc(); } \ @@ -20,6 +25,11 @@ void wordwrap_sprint(string s, float l); #endif void wordwrap_cb(string s, float l, void(string) callback) +#ifndef SVQC +string draw_currentSkin; +string draw_UseSkinFor(string pic); +#endif + // iterative depth-first search, with fields that go "up", "down left" and "right" in a tree // for each element, funcPre is called first, then funcPre and funcPost for all its children, and funcPost last void depthfirst(entity start, .entity up, .entity downleft, .entity right, void(entity, entity) funcPre, void(entity, entity) funcPost, entity pass); @@ -158,13 +168,18 @@ vector solve_quadratic(float a, float b, float c); // z = 1 if a real solution exists, 0 if not // if no real solution exists, x contains the real part and y the imaginary part of the complex solutions x+iy and x-iy +vector solve_shotdirection(vector myorg, vector myvel, vector eorg, vector evel, float spd, float newton_style); +vector get_shotvelocity(vector myvel, vector mydir, float spd, float newton_style, float mi, float ma); + void check_unacceptable_compiler_bugs(); float compressShotOrigin(vector v); vector decompressShotOrigin(float f); +#ifdef SVQC string rankings_reply, ladder_reply, lsmaps_reply, lsnewmaps_reply, maplist_reply; // cached replies string records_reply[10]; +#endif float RandomSelection_totalweight; float RandomSelection_best_priority; @@ -286,3 +301,37 @@ float InterpretBoolean(string input); // 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 +#ifdef CSQC +float ReadApproxPastTime(); +#endif + +// execute-stuff-next-frame subsystem +void execute_next_frame(); +void queue_to_execute_next_frame(string s); + +// for marking written-to values as unused where it's a good idea to do this +noref float unused_float; + + + +// a function f with: +// f(0) = 0 +// f(1) = 1 +// f'(0) = startspeedfactor +// f'(1) = endspeedfactor +float cubic_speedfunc(float startspeedfactor, float endspeedfactor, float x); + +// checks whether f'(x) = 0 anywhere from 0 to 1 +// because if this is the case, the function is not usable for platforms +// as it may exceed 0..1 bounds, or go in reverse +float cubic_speedfunc_is_sane(float startspeedfactor, float endspeedfactor); diff --git a/qcsrc/csqcmodellib/cl_model.qc b/qcsrc/csqcmodellib/cl_model.qc index b77507bb6..163a5126d 100644 --- a/qcsrc/csqcmodellib/cl_model.qc +++ b/qcsrc/csqcmodellib/cl_model.qc @@ -134,7 +134,10 @@ void CSQCModel_InterpolateAnimation_Do() } else { - self.lerpfrac = 1 - bound(0, (time - self.frame1time) / autocvar_cl_lerpanim_maxdelta_framegroups, 1); + if(self.frame2time == 0) // if frame2 was not previously displayed, only frame1 can make sense + self.lerpfrac = 0; + else + self.lerpfrac = 1 - bound(0, (time - self.frame1time) / autocvar_cl_lerpanim_maxdelta_framegroups, 1); } #endif } @@ -180,6 +183,7 @@ void CSQCModel_Read(float isnew) float islocalplayer = (self.entnum == player_localnum + 1); float isnolocalplayer = (isplayer && (self.entnum != player_localnum + 1)); + self.classname = "csqcmodel"; self.iflags |= IFLAG_ANGLES; // interpolate angles too { CSQCMODEL_HOOK_PREUPDATE } @@ -204,6 +208,7 @@ void CSQCModel_Read(float isnew) if(sf & CSQCMODEL_PROPERTY_MODELINDEX) setmodelindex(self, self.modelindex); // this retrieves the .model key and sets mins/maxs/absmin/absmax + // FIXME do we WANT this to override mins/maxs? if(sf & CSQCMODEL_PROPERTY_TELEPORTED) { diff --git a/qcsrc/csqcmodellib/cl_player.qc b/qcsrc/csqcmodellib/cl_player.qc index ec7fe0ddf..4aa8fdf92 100644 --- a/qcsrc/csqcmodellib/cl_player.qc +++ b/qcsrc/csqcmodellib/cl_player.qc @@ -20,7 +20,7 @@ * IN THE SOFTWARE. */ -var float autocvar_cl_predictionerrorcompensation = 0; +var float autocvar_cl_movement_errorcompensation = 0; // engine stuff .float pmove_flags; @@ -31,28 +31,59 @@ float pmove_onground; // weird engine flag we shouldn't really use but have to f #define REFDEFFLAG_TELEPORTED 1 #define REFDEFFLAG_JUMPING 2 -entity csqcplayer; vector csqcplayer_origin, csqcplayer_velocity; float csqcplayer_sequence, player_pmflags; float csqcplayer_moveframe; -vector csqcplayer_predictionerror; +vector csqcplayer_predictionerroro; +vector csqcplayer_predictionerrorv; float csqcplayer_predictionerrortime; +float csqcplayer_predictionerrorfactor; -vector CSQCPlayer_GetPredictionError() +vector CSQCPlayer_GetPredictionErrorO() { - if(!autocvar_cl_predictionerrorcompensation) + if(time >= csqcplayer_predictionerrortime) return '0 0 0'; - if(time < csqcplayer_predictionerrortime) - return csqcplayer_predictionerror * (csqcplayer_predictionerrortime - time) * autocvar_cl_predictionerrorcompensation; - return '0 0 0'; + return csqcplayer_predictionerroro * (csqcplayer_predictionerrortime - time) * csqcplayer_predictionerrorfactor; } -void CSQCPlayer_SetPredictionError(vector v) +vector CSQCPlayer_GetPredictionErrorV() { - if(!autocvar_cl_predictionerrorcompensation) + if(time >= csqcplayer_predictionerrortime) + return '0 0 0'; + return csqcplayer_predictionerrorv * (csqcplayer_predictionerrortime - time) * csqcplayer_predictionerrorfactor; +} + +void CSQCPlayer_SetPredictionError(vector o, vector v, float onground_diff) +{ + // error too big to compensate, we LIKELY hit a teleport or a + // jumppad, or it's a jump time disagreement that'll get fixed + // next frame + + // FIXME we sometimes have disagreement in order of jump velocity. Do not act on them! + /* + // commented out as this one did not help + if(onground_diff) + { + print(sprintf("ONGROUND MISMATCH: %d x=%v v=%v\n", onground_diff, o, v)); return; - csqcplayer_predictionerror = (csqcplayer_predictionerrortime - time) * autocvar_cl_predictionerrorcompensation * csqcplayer_predictionerror + v; - csqcplayer_predictionerrortime = time + 1.0 / autocvar_cl_predictionerrorcompensation; + } + */ + if(vlen(o) > 32 || vlen(v) > 192) + { + //print(sprintf("TOO BIG: x=%v v=%v\n", o, v)); + return; + } + + if(!autocvar_cl_movement_errorcompensation) + { + csqcplayer_predictionerrorfactor = 0; + return; + } + + csqcplayer_predictionerroro = CSQCPlayer_GetPredictionErrorO() + o; + csqcplayer_predictionerrorv = CSQCPlayer_GetPredictionErrorV() + v; + csqcplayer_predictionerrorfactor = autocvar_cl_movement_errorcompensation / ticrate; + csqcplayer_predictionerrortime = time + 1.0 / csqcplayer_predictionerrorfactor; } void CSQCPlayer_Unpredict() @@ -92,29 +123,45 @@ void CSQCPlayer_SavePrediction() csqcplayer_status = CSQCPLAYERSTATUS_PREDICTED; } -void CSQCPlayer_PredictTo(float endframe) +void CSQCPlayer_PredictTo(float endframe, float apply_error) { CSQCPlayer_Unpredict(); + if(apply_error) + { + self.origin += CSQCPlayer_GetPredictionErrorO(); + self.velocity += CSQCPlayer_GetPredictionErrorV(); + } CSQCPlayer_SetMinsMaxs(); csqcplayer_status = CSQCPLAYERSTATUS_PREDICTED; +#if 0 + // we don't need this + // darkplaces makes servercommandframe == 0 in these cases anyway if (getstatf(STAT_HEALTH) <= 0) { csqcplayer_moveframe = clientcommandframe; getinputstate(csqcplayer_moveframe-1); + print("the Weird code path got hit\n"); return; } +#endif - while(csqcplayer_moveframe < endframe) + if(csqcplayer_moveframe >= endframe) + { + getinputstate(csqcplayer_moveframe - 1); + } + else { - if (!getinputstate(csqcplayer_moveframe)) + do { - break; + if (!getinputstate(csqcplayer_moveframe)) + break; + runstandardplayerphysics(self); + CSQCPlayer_SetMinsMaxs(); + csqcplayer_moveframe++; } - runstandardplayerphysics(self); - CSQCPlayer_SetMinsMaxs(); - csqcplayer_moveframe++; + while(csqcplayer_moveframe < endframe); } //add in anything that was applied after (for low packet rate protocols) @@ -130,6 +177,9 @@ void(entity e, float fl) V_CalcRefdef = #640; // DP_CSQC_V_CALCREFDEF void CSQCPlayer_SetCamera() { + vector v0; + v0 = pmove_vel; // TRICK: pmove_vel is set by the engine when we get here. No need to network velocity + if(csqcplayer) { entity oldself; @@ -161,6 +211,9 @@ void CSQCPlayer_SetCamera() // override it back just in case self.view_ofs = '0 0 1' * getstati(STAT_VIEWHEIGHT); + + // set velocity + self.velocity = v0; } else { @@ -168,10 +221,10 @@ void CSQCPlayer_SetCamera() { vector o, v; o = self.origin; - v = pmove_vel; // TRICK: pmove_vel is set by the engine when we get here. No need to network velocity + v = v0; csqcplayer_status = CSQCPLAYERSTATUS_PREDICTED; - CSQCPlayer_PredictTo(servercommandframe + 1); - CSQCPlayer_SetPredictionError(o - self.origin); + CSQCPlayer_PredictTo(servercommandframe + 1, FALSE); + CSQCPlayer_SetPredictionError(self.origin - o, self.velocity - v, pmove_onground - !!(self.pmove_flags & PMF_ONGROUND)); self.origin = o; self.velocity = v; @@ -189,7 +242,7 @@ void CSQCPlayer_SetCamera() CSQCPlayer_SavePrediction(); } - CSQCPlayer_PredictTo(clientcommandframe + 1); + CSQCPlayer_PredictTo(clientcommandframe + 1, TRUE); CSQCPlayer_SetMinsMaxs(); @@ -237,6 +290,13 @@ void CSQCPlayer_SetCamera() if(input_buttons & 4) refdefflags |= REFDEFFLAG_JUMPING; + // note: these two only work in WIP2, but are harmless in WIP1 + if(getstati(STAT_HEALTH) <= 0) + refdefflags |= REFDEFFLAG_DEAD; + + if(intermission) + refdefflags |= REFDEFFLAG_INTERMISSION; + V_CalcRefdef(view, refdefflags); } else diff --git a/qcsrc/csqcmodellib/cl_player.qh b/qcsrc/csqcmodellib/cl_player.qh index 0eecabed8..881ad3b32 100644 --- a/qcsrc/csqcmodellib/cl_player.qh +++ b/qcsrc/csqcmodellib/cl_player.qh @@ -20,6 +20,7 @@ * IN THE SOFTWARE. */ +entity csqcplayer; float csqcplayer_status; #define CSQCPLAYERSTATUS_UNPREDICTED 0 #define CSQCPLAYERSTATUS_FROMSERVER 1 diff --git a/qcsrc/csqcmodellib/sv_model.qc b/qcsrc/csqcmodellib/sv_model.qc index bf6eefa69..e6e4cfe43 100644 --- a/qcsrc/csqcmodellib/sv_model.qc +++ b/qcsrc/csqcmodellib/sv_model.qc @@ -29,6 +29,10 @@ float CSQCModel_Send(entity to, float sf) float islocalplayer = (self == to); float isnolocalplayer = (isplayer && (self != to)); + unused_float = isplayer; + unused_float = islocalplayer; + unused_float = isnolocalplayer; + WriteByte(MSG_ENTITY, ENT_CLIENT_MODEL); WriteShort(MSG_ENTITY, sf); @@ -59,6 +63,10 @@ void CSQCModel_CheckUpdate() float islocalplayer = isplayer; // we set BOTH to 1 here as we need the sendflags float isnolocalplayer = isplayer; // we set BOTH to 1 here as we need the sendflags + unused_float = isplayer; + unused_float = islocalplayer; + unused_float = isnolocalplayer; + #ifdef CSQCPLAYER_FORCE_UPDATES if(isplayer && time > self.csqcmodel_nextforcedupdate) { diff --git a/qcsrc/dpdefs/csprogsdefs.qc b/qcsrc/dpdefs/csprogsdefs.qc index 0d3088f9c..7b0644e3e 100644 --- a/qcsrc/dpdefs/csprogsdefs.qc +++ b/qcsrc/dpdefs/csprogsdefs.qc @@ -910,6 +910,7 @@ const float VF_MINFPS_QUALITY = 401; //1 should lead to an unmodified view //DP_CSQC_V_CALCREFDEF_WIP1 +//DP_CSQC_V_CALCREFDEF_WIP2 //idea: divVerent //darkplaces implementation: divVerent //builtin definitions: @@ -919,9 +920,13 @@ float PMF_DUCKED = 4; float PMF_ONGROUND = 8; float REFDEFFLAG_TELEPORTED = 1; float REFDEFFLAG_JUMPING = 2; +float REFDEFFLAG_DEAD = 4; +float REFDEFFLAG_INTERMISSION = 8; //- use this on the player entity after performing prediction //- pass REFDEFFLAG_TELEPORTED if the player teleported since last frame //- pass REFDEFFLAG_JUMPING if jump button is pressed +//- pass REFDEFFLAG_DEAD if dead (DP_CSQC_V_CALCREFDEF_WIP2) +//- pass REFDEFFLAG_INTERMISSION if in intermission (DP_CSQC_V_CALCREFDEF_WIP2) //- the player entity needs to have origin, velocity, pmove_flags set according // to prediction (the above two PMF_ flags are used in the player's pmove_flags) //- NOTE: to check for this, ALSO OR a check with DP_CSQC_V_CALCREFDEF to also support @@ -1072,6 +1077,15 @@ float MOVETYPE_FLY_WORLDONLY = 33; //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 @@ -1405,3 +1419,11 @@ float trace_networkentity; 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 checkpvs(vector viewpos, entity viewee) = #240; diff --git a/qcsrc/dpdefs/menudefs.qc b/qcsrc/dpdefs/menudefs.qc index 74bfdc860..ad8666ed3 100644 --- a/qcsrc/dpdefs/menudefs.qc +++ b/qcsrc/dpdefs/menudefs.qc @@ -293,7 +293,7 @@ void WriteEntity(entity data, float dest, float desto) = #408; ////////////////////////////////////////////////// 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; @@ -404,6 +404,15 @@ float(string s1, string s2, float len) strncmp = #228; 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 diff --git a/qcsrc/fteqcc-bugs.qc b/qcsrc/fteqcc-bugs.qc new file mode 100644 index 000000000..dd4fd45f3 --- /dev/null +++ b/qcsrc/fteqcc-bugs.qc @@ -0,0 +1,30 @@ +void error(...) = #1; +float id(float x) { return x; } + +void Oassignments(float foo) // pass 1 +{ + float bar; + bar = 2; + bar = (foo ? 0 : (foo & 1)); + if(bar == 2) + error("FTEQCC SUCKS"); +} + +void Oreturn_only(float foo) // pass 0 +{ + if(foo) + { + return; + } +} + +void Oreturn_only_trap(void) +{ + error("FTEQCC SUCKS"); +} + +.float fld; +void Ono_assignments(entity e, float wep) // pass an e with e.fld == 1, and wep == 3. e.fld will be 2 instead of 3. Observe the INDIRECT and the SUB use the same field for storage, wreaking havoc. +{ + ((e).fld |= id(wep - 1)); +} diff --git a/qcsrc/menu/anim/animhost.c b/qcsrc/menu/anim/animhost.c index 48a45bda8..ae84e0957 100644 --- a/qcsrc/menu/anim/animhost.c +++ b/qcsrc/menu/anim/animhost.c @@ -29,8 +29,7 @@ void AnimHost_addAnim(entity me, entity other) other.parent = me; - entity f, l; - f = me.firstChild; + entity l; l = me.lastChild; if(l) @@ -50,9 +49,7 @@ void AnimHost_removeAnim(entity me, entity other) other.parent = NULL; - entity n, p, f, l; - f = me.firstChild; - l = me.lastChild; + entity n, p; n = other.nextSibling; p = other.prevSibling; diff --git a/qcsrc/menu/anim/keyframe.c b/qcsrc/menu/anim/keyframe.c index de5d54ae1..3bcda94e6 100644 --- a/qcsrc/menu/anim/keyframe.c +++ b/qcsrc/menu/anim/keyframe.c @@ -75,8 +75,7 @@ void Keyframe_addAnim(entity me, entity other) other.parent = me; - entity f, l; - f = me.firstChild; + entity l; l = me.lastChild; if(l) diff --git a/qcsrc/menu/classes.c b/qcsrc/menu/classes.c index 047d9e855..8d125d40c 100644 --- a/qcsrc/menu/classes.c +++ b/qcsrc/menu/classes.c @@ -34,7 +34,7 @@ #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" @@ -79,9 +79,13 @@ #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" diff --git a/qcsrc/menu/command/menu_cmd.qc b/qcsrc/menu/command/menu_cmd.qc index 3be6edc66..f6312931f 100644 --- a/qcsrc/menu/command/menu_cmd.qc +++ b/qcsrc/menu/command/menu_cmd.qc @@ -25,35 +25,6 @@ void _dumptree_close(entity pass, entity me) } } -float curl_uri_get_pos; -float curl_uri_get_exec[URI_GET_CURL_END - URI_GET_CURL + 1]; -string curl_uri_get_cvar[URI_GET_CURL_END - URI_GET_CURL + 1]; -void Curl_URI_Get_Callback(float id, float status, string data) -{ - float i; - float do_exec; - string do_cvar; - i = id - URI_GET_CURL; - do_exec = curl_uri_get_exec[i]; - do_cvar = curl_uri_get_cvar[i]; - if(status != 0) - { - print(sprintf(_("error: status is %d\n"), status)); - if(do_cvar) - strunzone(do_cvar); - return; - } - if(do_exec) - localcmd(data); - if(do_cvar) - { - cvar_set(do_cvar, data); - strunzone(do_cvar); - } - if(!do_exec && !do_cvar) - print(data); -} - void GameCommand(string theCommand) { float argc; @@ -94,19 +65,19 @@ void GameCommand(string theCommand) if(argv(0) == "skinselect") { - m_goto_skin_selector(); + m_goto("skinselector"); return; } if(argv(0) == "languageselect") { - m_goto_language_selector(); + m_goto("languageselector"); return; } if(argv(0) == "videosettings") { - m_goto_video_settings(); + m_goto("videosettings"); return; } @@ -119,68 +90,6 @@ void GameCommand(string theCommand) if(argv(0) == "curl") { - float do_exec; - string do_cvar; - float key; - float i, j; - string url; - float buf; - float r; - - do_exec = FALSE; - do_cvar = string_null; - key = -1; - - for(i = 1; i+1 < argc; ++i) - { - if(argv(i) == "--cvar" && i+2 < argc) - { - ++i; - do_cvar = strzone(argv(i)); - continue; - } - if(argv(i) == "--exec") - { - do_exec = TRUE; - continue; - } - if(argv(i) == "--key" && i+2 < argc) - { - ++i; - key = stof(argv(i)); - continue; - } - break; - } - - // now, argv(i) is the URL - // following args may be POST parameters - url = argv(i); - ++i; - buf = buf_create(); - j = 0; - for(; i+1 < argc; i += 2) - bufstr_set(buf, ++j, sprintf("%s=%s", uri_escape(argv(i)), uri_escape(argv(i+1)))); - if(i < argc) - bufstr_set(buf, ++j, sprintf("submit=%s", uri_escape(argv(i)))); - - if(j == 0) // no args: GET - r = crypto_uri_postbuf(url, URI_GET_CURL + curl_uri_get_pos, string_null, string_null, -1, key); - else // with args: POST - r = crypto_uri_postbuf(url, URI_GET_CURL + curl_uri_get_pos, "application/x-www-form-urlencoded", "&", buf, key); - - if(r) - { - curl_uri_get_exec[curl_uri_get_pos] = do_exec; - curl_uri_get_cvar[curl_uri_get_pos] = do_cvar; - curl_uri_get_pos = mod(curl_uri_get_pos + 1, URI_GET_CURL_END - URI_GET_CURL + 1); - } - else - print(_("error creating curl handle\n")); - - buf_del(buf); - - return; } print(_("Invalid command. For a list of supported commands, try menu_cmd help.\n")); diff --git a/qcsrc/menu/draw.qc b/qcsrc/menu/draw.qc index 12b56d8da..1f223f281 100644 --- a/qcsrc/menu/draw.qc +++ b/qcsrc/menu/draw.qc @@ -2,14 +2,6 @@ string draw_mousepointer; vector draw_mousepointer_offset; vector draw_mousepointer_size; -string draw_UseSkinFor(string pic) -{ - if(substring(pic, 0, 1) == "/") - return substring(pic, 1, strlen(pic)-1); - else - return strcat(draw_currentSkin, "/", pic); -} - void draw_setMousePointer(string pic, vector theSize, vector theOffset) { draw_mousepointer = strzone(draw_UseSkinFor(pic)); @@ -61,10 +53,16 @@ vector boxToGlobalSize(vector v, vector theScale) return v; } -void draw_PreloadPicture(string pic) +string draw_PreloadPicture(string pic) +{ + pic = draw_UseSkinFor(pic); + return precache_pic(pic); +} + +string draw_PreloadPictureWithFlags(string pic, float f) { pic = draw_UseSkinFor(pic); - precache_pic(pic); + return precache_pic(pic, f); } void draw_Picture(vector theOrigin, string pic, vector theSize, vector theColor, float theAlpha) diff --git a/qcsrc/menu/draw.qh b/qcsrc/menu/draw.qh index 63e22bd63..301a5f440 100644 --- a/qcsrc/menu/draw.qh +++ b/qcsrc/menu/draw.qh @@ -14,7 +14,8 @@ void draw_reset(float cw, float ch, float ox, float oy); void draw_setMousePointer(string pic, vector theSize, vector theOffset); void draw_drawMousePointer(vector where); -void draw_PreloadPicture(string pic); +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); @@ -38,7 +39,5 @@ vector globalToBoxSize(vector v, vector scale); float draw_NeedResizeNotify; -string draw_currentSkin; - float draw_TextWidth_WithColors(string s, vector size); float draw_TextWidth_WithoutColors(string s, vector size); diff --git a/qcsrc/menu/item.c b/qcsrc/menu/item.c index 52b960e45..d055b1a05 100644 --- a/qcsrc/menu/item.c +++ b/qcsrc/menu/item.c @@ -44,8 +44,41 @@ void Item_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOr 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) diff --git a/qcsrc/menu/item/borderimage.c b/qcsrc/menu/item/borderimage.c index bdeed2bb1..4cacfca6b 100644 --- a/qcsrc/menu/item/borderimage.c +++ b/qcsrc/menu/item/borderimage.c @@ -2,6 +2,7 @@ CLASS(BorderImage) EXTENDS(Label) METHOD(BorderImage, configureBorderImage, void(entity, string, float, vector, string, float)) METHOD(BorderImage, resizeNotify, void(entity, vector, vector, vector, vector)) + METHOD(BorderImage, recalcPositionWithText, void(entity, string)) METHOD(BorderImage, draw, void(entity)) ATTRIB(BorderImage, src, string, string_null) ATTRIB(BorderImage, borderHeight, float, 0) @@ -13,27 +14,38 @@ CLASS(BorderImage) EXTENDS(Label) ATTRIB(BorderImage, isNexposeeTitleBar, float, 0) ATTRIB(BorderImage, zoomedOutTitleBarPosition, float, 0) ATTRIB(BorderImage, zoomedOutTitleBar, float, 0) + ATTRIB(BorderImage, overrideRealOrigin, vector, '0 1 0') + ATTRIB(BorderImage, saveRelOrigin, vector, '0 0 0') + ATTRIB(BorderImage, saveRelSize, vector, '0 0 0') ENDCLASS(BorderImage) #endif #ifdef IMPLEMENTATION -void BorderImage_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize) +void BorderImage_recalcPositionWithText(entity me, string t) { - me.isNexposeeTitleBar = 0; - if(me.zoomedOutTitleBar) - if(me.parent.parent.instanceOfNexposee) - if(me.parent.instanceOfDialog) - if(me == me.parent.frame) - me.isNexposeeTitleBar = 1; if(me.isNexposeeTitleBar) { vector scrs; scrs = eX * conwidth + eY * conheight; - SUPER(BorderImage).resizeNotify(me, relOrigin, relSize, boxToGlobal(me.parent.Nexposee_smallOrigin, '0 0 0', scrs), boxToGlobalSize(me.parent.Nexposee_smallSize, scrs)); + me.resizeNotify(me, me.saveRelOrigin, me.saveRelSize, boxToGlobal(me.parent.Nexposee_smallOrigin, '0 0 0', scrs), boxToGlobalSize(me.parent.Nexposee_smallSize, scrs)); + SUPER(BorderImage).recalcPositionWithText(me, t); me.realOrigin_y = me.realFontSize_y * me.zoomedOutTitleBarPosition; me.realOrigin_Nexposeed = me.realOrigin; me.realFontSize_Nexposeed = me.realFontSize; + me.resizeNotify(me, me.saveRelOrigin, me.saveRelSize, boxToGlobal(me.parent.Nexposee_initialOrigin, '0 0 0', scrs), boxToGlobalSize(me.parent.Nexposee_initialSize, scrs)); } + SUPER(BorderImage).recalcPositionWithText(me, t); +} +void BorderImage_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize) +{ + me.isNexposeeTitleBar = 0; + if(me.zoomedOutTitleBar) + if(me.parent.parent.instanceOfNexposee) + if(me.parent.instanceOfDialog) + if(me == me.parent.frame) + me.isNexposeeTitleBar = 1; + me.saveRelOrigin = relOrigin; + me.saveRelSize = relSize; SUPER(BorderImage).resizeNotify(me, relOrigin, relSize, absOrigin, absSize); me.borderVec_x = me.borderHeight / absSize_x; me.borderVec_y = me.borderHeight / absSize_y; @@ -59,11 +71,16 @@ void BorderImage_draw(entity me) { if(me.src) draw_BorderPicture('0 0 0', me.src, '1 1 0', me.color, 1, me.borderVec); + if(me.fontSize > 0) { - vector ro, rf, df; + if(me.recalcPos) + me.recalcPositionWithText(me, me.text); + if(me.isNexposeeTitleBar) { + vector ro, rf, df; + // me.parent.Nexposee_animationFactor 0 (small) or 1 (full) // default values are for 1 ro = me.realOrigin; @@ -72,18 +89,21 @@ void BorderImage_draw(entity me) me.realOrigin = ro * me.parent.Nexposee_animationFactor + me.realOrigin_Nexposeed * (1 - me.parent.Nexposee_animationFactor); me.realFontSize = rf * me.parent.Nexposee_animationFactor + me.realFontSize_Nexposeed * (1 - me.parent.Nexposee_animationFactor); draw_fontscale = globalToBoxSize(boxToGlobalSize(df, me.realFontSize), rf); - } - SUPER(BorderImage).draw(me); + SUPER(BorderImage).draw(me); - if(me.isNexposeeTitleBar) - { // me.Nexposee_animationState 0 (small) or 1 (full) // default values are for 1 me.realOrigin = ro; me.realFontSize = rf; draw_fontscale = df; } + else + SUPER(BorderImage).draw(me); + } + else + { + SUPER(BorderImage).draw(me); } } #endif diff --git a/qcsrc/menu/item/button.c b/qcsrc/menu/item/button.c index 71ca11c7c..20bc4ab9c 100644 --- a/qcsrc/menu/item/button.c +++ b/qcsrc/menu/item/button.c @@ -158,8 +158,6 @@ void Button_draw(entity me) draw_alpha = save; - SUPER(Button).draw(me); - if(me.clickTime > 0 && me.clickTime <= frametime) { // keyboard click timer expired? Fire the event then. @@ -167,5 +165,7 @@ void Button_draw(entity me) me.onClick(me, me.onClickEntity); } me.clickTime -= frametime; + + SUPER(Button).draw(me); } #endif diff --git a/qcsrc/menu/item/checkbox.c b/qcsrc/menu/item/checkbox.c index 5ae92d612..94f67ba70 100644 --- a/qcsrc/menu/item/checkbox.c +++ b/qcsrc/menu/item/checkbox.c @@ -42,7 +42,7 @@ void CheckBox_draw(entity me) } else me.srcSuffix = (me.checked ? "1" : "0"); - SUPER(CheckBox).draw(me); me.pressed = s; + SUPER(CheckBox).draw(me); } #endif diff --git a/qcsrc/menu/item/container.c b/qcsrc/menu/item/container.c index 5e924a0ee..6241cee03 100644 --- a/qcsrc/menu/item/container.c +++ b/qcsrc/menu/item/container.c @@ -177,6 +177,8 @@ void Container_draw(entity me) e.draw(e); me.leaveSubitem(me); } + + SUPER(Container).draw(me); } void Container_focusLeave(entity me) @@ -302,8 +304,7 @@ void Container_addItem(entity me, entity other, vector theOrigin, vector theSize other.Container_size = theSize; me.setAlphaOf(me, other, theAlpha); - entity f, l; - f = me.firstChild; + entity l; l = me.lastChild; if(l) @@ -328,9 +329,7 @@ void Container_removeItem(entity me, entity other) other.parent = NULL; - entity n, p, f, l; - f = me.firstChild; - l = me.lastChild; + entity n, p; n = other.nextSibling; p = other.prevSibling; @@ -369,13 +368,11 @@ void Container_setFocus(entity me, entity other) void Container_moveItemAfter(entity me, entity other, entity dest) { // first: remove other from the chain - entity n, p, f, l; + entity n, p; if(other.parent != me) error("Can't move in wrong container!"); - f = me.firstChild; - l = me.lastChild; n = other.nextSibling; p = other.prevSibling; diff --git a/qcsrc/menu/item/dialog.c b/qcsrc/menu/item/dialog.c index da6a4013c..ed73be095 100644 --- a/qcsrc/menu/item/dialog.c +++ b/qcsrc/menu/item/dialog.c @@ -124,7 +124,6 @@ void Dialog_TDempty(entity me, float colspan) void Dialog_configureDialog(entity me) { - entity closebutton; float absWidth, absHeight; me.frame = spawnBorderImage(); @@ -154,14 +153,13 @@ void Dialog_configureDialog(entity me) if(me.closable && me.borderLines > 0) { - closebutton = me.closeButton = spawnButton(); + entity closebutton; + closebutton = me.closeButton = me.frame.closeButton = spawnButton(); closebutton.configureButton(closebutton, "", 0, me.closeButtonImage); closebutton.onClick = Dialog_Close; closebutton.onClickEntity = me; closebutton.srcMulti = 0; me.addItem(me, closebutton, '0 0 0', '1 1 0', 1); // put it as LAST } - - me.frame.closeButton = closebutton; } void Dialog_close(entity me) diff --git a/qcsrc/menu/item/gecko.c b/qcsrc/menu/item/gecko.c index a47e5d6b4..5a69c3b87 100644 --- a/qcsrc/menu/item/gecko.c +++ b/qcsrc/menu/item/gecko.c @@ -48,6 +48,7 @@ void Gecko_draw(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) diff --git a/qcsrc/menu/item/image.c b/qcsrc/menu/item/image.c index c64561b39..a7e63b0e1 100644 --- a/qcsrc/menu/item/image.c +++ b/qcsrc/menu/item/image.c @@ -25,6 +25,7 @@ void Image_configureImage(entity me, string path) 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) { diff --git a/qcsrc/menu/item/inputbox.c b/qcsrc/menu/item/inputbox.c index 5b07afd4e..572d3a071 100644 --- a/qcsrc/menu/item/inputbox.c +++ b/qcsrc/menu/item/inputbox.c @@ -146,6 +146,9 @@ void InputBox_draw(entity me) if(me.pressed) me.mouseDrag(me, me.dragScrollPos); // simulate mouseDrag event + if(me.recalcPos) + me.recalcPositionWithText(me, me.text); + me.focusable = !me.disabled; if(me.disabled) draw_alpha *= me.disabledAlpha; @@ -223,7 +226,6 @@ void InputBox_draw(entity me) else if(ch2 == "x") // ^x found { theColor = '1 1 1'; - theTempColor = '0 0 0'; component = HEXDIGIT_TO_DEC(substring(me.text, i+2, 1)); if (component >= 0) // ^xr found @@ -287,11 +289,14 @@ void InputBox_draw(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) diff --git a/qcsrc/menu/item/inputcontainer.c b/qcsrc/menu/item/inputcontainer.c index e1b14d3b1..65129b294 100644 --- a/qcsrc/menu/item/inputcontainer.c +++ b/qcsrc/menu/item/inputcontainer.c @@ -153,8 +153,7 @@ float InputContainer_mousePress(entity me, vector pos) } float InputContainer_mouseRelease(entity me, vector pos) { - float r; - r = SUPER(InputContainer).mouseRelease(me, pos); + SUPER(InputContainer).mouseRelease(me, pos); // return value? if(me.focused) // am I still eligible for this? (UGLY HACK, but a mouse event could have changed focus away) if(me._changeFocusXY(me, pos)) return 1; diff --git a/qcsrc/menu/item/label.c b/qcsrc/menu/item/label.c index e3a6bee40..e1543ce27 100644 --- a/qcsrc/menu/item/label.c +++ b/qcsrc/menu/item/label.c @@ -5,7 +5,7 @@ CLASS(Label) EXTENDS(Item) METHOD(Label, resizeNotify, void(entity, vector, vector, vector, vector)) METHOD(Label, setText, void(entity, string)) METHOD(Label, toString, string(entity)) - METHOD(Label, recalcPosition, void(entity)) + METHOD(Label, recalcPositionWithText, void(entity, string)) ATTRIB(Label, text, string, string_null) ATTRIB(Label, fontSize, float, 8) ATTRIB(Label, align, float, 0.5) @@ -25,6 +25,8 @@ CLASS(Label) EXTENDS(Item) ATTRIB(Label, allowWrap, float, 0) ATTRIB(Label, recalcPos, float, 0) ATTRIB(Label, condenseFactor, float, 1) + ATTRIB(Label, overrideRealOrigin, vector, '0 0 0') + ATTRIB(Label, overrideCondenseFactor, float, 0) ENDCLASS(Label) #endif @@ -38,35 +40,79 @@ void Label_setText(entity me, string txt) me.text = txt; me.recalcPos = 1; } -void Label_recalcPosition(entity me) +void Label_recalcPositionWithText(entity me, string t) { float spaceAvail; spaceAvail = 1 - me.keepspaceLeft - me.keepspaceRight; float spaceUsed; - spaceUsed = draw_TextWidth(me.text, me.allowColors, me.realFontSize); + spaceUsed = draw_TextWidth(t, me.allowColors, me.realFontSize); if(spaceUsed <= spaceAvail) { - me.realOrigin_x = me.align * (spaceAvail - spaceUsed) + me.keepspaceLeft; - me.condenseFactor = 1; + if(!me.overrideRealOrigin_x) + me.realOrigin_x = me.align * (spaceAvail - spaceUsed) + me.keepspaceLeft; + if(!me.overrideCondenseFactor) + me.condenseFactor = 1; } else if(me.allowCut || me.allowWrap) { - me.realOrigin_x = me.keepspaceLeft; - me.condenseFactor = 1; + if(!me.overrideRealOrigin_x) + me.realOrigin_x = me.keepspaceLeft; + if(!me.overrideCondenseFactor) + me.condenseFactor = 1; } else { - me.realOrigin_x = me.keepspaceLeft; - me.condenseFactor = spaceAvail / spaceUsed; - dprint(sprintf(_("NOTE: label text %s too wide for label, condensed by factor %f\n"), me.text, me.condenseFactor)); + if(!me.overrideRealOrigin_x) + me.realOrigin_x = me.keepspaceLeft; + if(!me.overrideCondenseFactor) + me.condenseFactor = spaceAvail / spaceUsed; + dprint(sprintf(_("NOTE: label text %s too wide for label, condensed by factor %f\n"), t, me.condenseFactor)); } + + if(!me.overrideRealOrigin_y) + { + float lines; + vector dfs; + vector fs; + + // set up variables to draw in condensed size, but use hinting for original size + fs = me.realFontSize; + fs_x *= me.condenseFactor; + + dfs = draw_fontscale; + draw_fontscale_x *= me.condenseFactor; + + if(me.allowCut) // FIXME allowCut incompatible with align != 0 + lines = 1; + else if(me.allowWrap) // FIXME allowWrap incompatible with align != 0 + { + getWrappedLine_remaining = me.text; + lines = 0; + while(getWrappedLine_remaining) + { + if (me.allowColors) + getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithColors); + else + getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithoutColors); + ++lines; + } + } + else + lines = 1; + + draw_fontscale = dfs; + + me.realOrigin_y = 0.5 * (1 - lines * me.realFontSize_y); + } + me.recalcPos = 0; } void Label_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize) { SUPER(Label).resizeNotify(me, relOrigin, relSize, absOrigin, absSize); + // absSize_y is height of label me.realFontSize_y = me.fontSize / absSize_y; me.realFontSize_x = me.fontSize / absSize_x; @@ -75,41 +121,7 @@ void Label_resizeNotify(entity me, vector relOrigin, vector relSize, vector absO if(me.marginRight) me.keepspaceRight = me.marginRight * me.realFontSize_x; - me.recalcPosition(me); - - float lines; - - vector dfs; - vector fs; - - // set up variables to draw in condensed size, but use hinting for original size - fs = me.realFontSize; - fs_x *= me.condenseFactor; - - dfs = draw_fontscale; - draw_fontscale_x *= me.condenseFactor; - - if(me.allowCut) // FIXME allowCut incompatible with align != 0 - lines = 1; - else if(me.allowWrap) // FIXME allowWrap incompatible with align != 0 - { - getWrappedLine_remaining = me.text; - lines = 0; - while(getWrappedLine_remaining) - { - if (me.allowColors) - getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithColors); - else - getWrappedLine((1 - me.keepspaceLeft - me.keepspaceRight), fs, draw_TextWidth_WithoutColors); - ++lines; - } - } - else - lines = 1; - - draw_fontscale = dfs; - - me.realOrigin_y = 0.5 * (1 - lines * me.realFontSize_y); + me.recalcPos = 1; } void Label_configureLabel(entity me, string txt, float sz, float algn) { @@ -133,7 +145,7 @@ void Label_draw(entity me) t = me.text; if(me.recalcPos) - me.recalcPosition(me); + me.recalcPositionWithText(me, t); if(me.fontSize) if(t) @@ -169,5 +181,7 @@ void Label_draw(entity me) draw_fontscale = dfs; } + + SUPER(Label).draw(me); } #endif diff --git a/qcsrc/menu/item/listbox.c b/qcsrc/menu/item/listbox.c index 9664e9376..0c4f34902 100644 --- a/qcsrc/menu/item/listbox.c +++ b/qcsrc/menu/item/listbox.c @@ -182,7 +182,6 @@ float ListBox_mouseRelease(entity me, vector pos) // and give it a nice click event if(me.nItems > 0) { - absSize = boxToGlobalSize(me.size, eX * (1 - me.controlWidth) + eY * me.itemHeight); me.clickListBoxItem(me, me.selectedItem, globalToBox(pos, eY * (me.selectedItem * me.itemHeight - me.scrollPos), eX * (1 - me.controlWidth) + eY * me.itemHeight)); } } @@ -288,6 +287,10 @@ void ListBox_draw(entity me) 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) diff --git a/qcsrc/menu/item/modalcontroller.c b/qcsrc/menu/item/modalcontroller.c index 4f1ff4e9e..5a5541dc7 100644 --- a/qcsrc/menu/item/modalcontroller.c +++ b/qcsrc/menu/item/modalcontroller.c @@ -144,6 +144,7 @@ void ModalController_draw(entity me) vector fs; animating = 0; + front = world; for(e = me.firstChild; e; e = e.nextSibling) if(e.ModalController_state) { diff --git a/qcsrc/menu/item/nexposee.c b/qcsrc/menu/item/nexposee.c index 02f122425..8f8f45119 100644 --- a/qcsrc/menu/item/nexposee.c +++ b/qcsrc/menu/item/nexposee.c @@ -305,6 +305,7 @@ float Nexposee_keyDown(entity me, float scan, float ascii, float shift) } switch(me.animationState) { + default: case 0: case 3: nexposeeKey = ((scan == K_SPACE) || (scan == K_ENTER) || (scan == K_KP_ENTER)); @@ -318,6 +319,7 @@ float Nexposee_keyDown(entity me, float scan, float ascii, float shift) { switch(me.animationState) { + default: case 0: case 3: me.animationState = 1; diff --git a/qcsrc/menu/menu.qc b/qcsrc/menu/menu.qc index 536295fc2..b4c7ce746 100644 --- a/qcsrc/menu/menu.qc +++ b/qcsrc/menu/menu.qc @@ -26,10 +26,31 @@ void m_sync() loadAllCvars(main); } +void m_gamestatus() +{ + gamestatus = 0; + if(isserver()) + gamestatus = gamestatus | GAME_ISSERVER; + if(clientstate() == CS_CONNECTED || isdemo()) + gamestatus = gamestatus | GAME_CONNECTED; + if(cvar("developer")) + gamestatus = gamestatus | GAME_DEVELOPER; +} + void m_init() { + float restarting = 0; cvar_set("_menu_alpha", "0"); - prvm_language = strzone(cvar_string("prvm_language")); + prvm_language = cvar_string("prvm_language"); + if(prvm_language == "") + { + prvm_language = "en"; + cvar_set("prvm_language", prvm_language); + localcmd("\nmenu_restart\n"); + restarting = 1; + } + prvm_language = strzone(prvm_language); + cvar_set("_menu_prvm_language", prvm_language); check_unacceptable_compiler_bugs(); @@ -54,6 +75,22 @@ void m_init() // 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"); + initConwidths(); + + if(!restarting) + { + if(cvar("_menu_initialized")) // always show menu after menu_restart + m_display(); + else + m_hide(); + cvar_set("_menu_initialized", "1"); + } } float MENU_ASPECT = 1.25; // 1280x1024 @@ -107,6 +144,7 @@ void UpdateConWidthHeight() } } +string m_goto_buffer; void m_init_delayed() { float fh, glob, n, i; @@ -180,6 +218,13 @@ void m_init_delayed() m_sync(); + if(m_goto_buffer) + { + m_goto(m_goto_buffer); + strunzone(m_goto_buffer); + m_goto_buffer = string_null; + } + if(Menu_Active) m_display(); // delayed menu display } @@ -299,6 +344,7 @@ void drawBackground(string img, float a, string algn, float force1) scalemode = SCALEMODE_CROP; + l = 0; for(i = 0; i < strlen(algn); ++i) { c = substring(algn, i, 1); @@ -616,6 +662,10 @@ void m_draw() float t; float realFrametime; + m_gamestatus(); + + execute_next_frame(); + menuMouseMode = cvar("menu_mouse_absolute"); if (anim) @@ -668,14 +718,6 @@ void m_draw() if(cvar("cl_capturevideo")) frametime = t / cvar("cl_capturevideo_fps"); // make capturevideo work smoothly - gamestatus = 0; - if(isserver()) - gamestatus = gamestatus | GAME_ISSERVER; - if(clientstate() == CS_CONNECTED) - gamestatus = gamestatus | GAME_CONNECTED; - if(cvar("developer")) - gamestatus = gamestatus | GAME_DEVELOPER; - prevMenuAlpha = menuAlpha; if(Menu_Active) { @@ -907,11 +949,18 @@ void m_goto(string itemname) { entity e; if(!menuInitialized) + { + if(m_goto_buffer) + strunzone(m_goto_buffer); + m_goto_buffer = strzone(itemname); return; + } if(itemname == "") // this can be called by GameCommand { if(gamestatus & (GAME_ISSERVER | GAME_CONNECTED)) + { m_hide(); + } else { m_activate_window(main.mainNexposee); @@ -932,27 +981,3 @@ void m_goto(string itemname) } } } - -void m_goto_skin_selector() -{ - if(!menuInitialized) - return; - // TODO add code to switch back to the skin selector (no idea how to do it now) - m_goto("skinselector"); -} - -void m_goto_language_selector() -{ - if(!menuInitialized) - return; - // TODO add code to switch back to the language selector (no idea how to do it now) - m_goto("languageselector"); -} - -void m_goto_video_settings() -{ - if(!menuInitialized) - return; - // TODO add code to switch back to the video settings (no idea how to do it now) - m_goto("videosettings"); -} diff --git a/qcsrc/menu/menu.qh b/qcsrc/menu/menu.qh index ab812437a..641ddf7d1 100644 --- a/qcsrc/menu/menu.qh +++ b/qcsrc/menu/menu.qh @@ -26,9 +26,6 @@ entity main; void m_hide(); void m_display(); void m_goto(string name); -void m_goto_skin_selector(); -void m_goto_language_selector(); -void m_goto_video_settings(); .string name; entity keyGrabber; diff --git a/qcsrc/menu/progs.src b/qcsrc/menu/progs.src index 1f70e0e7b..0f545e60c 100644 --- a/qcsrc/menu/progs.src +++ b/qcsrc/menu/progs.src @@ -19,6 +19,7 @@ oo/base.h ../common/command/rpn.qh ../common/command/generic.qh ../common/command/shared_defs.qh +../common/urllib.qh command/menu_cmd.qh menu.qh @@ -44,6 +45,7 @@ xonotic/util.qc ../common/campaign_setup.qc ../common/mapinfo.qc ../common/items.qc +../common/urllib.qc ../warpzonelib/mathlib.qc diff --git a/qcsrc/menu/skin-customizables.inc b/qcsrc/menu/skin-customizables.inc index e8cfba368..d30ac7248 100644 --- a/qcsrc/menu/skin-customizables.inc +++ b/qcsrc/menu/skin-customizables.inc @@ -64,9 +64,13 @@ SKINBEGIN 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!) @@ -142,8 +146,8 @@ SKINBEGIN 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"); @@ -186,6 +190,7 @@ SKINBEGIN // item: nexposee SKINVECTOR(ALPHAS_MAINMENU, '0.6 0.8 0.9'); + SKINFLOAT(ALPHA_DIALOG_SANDBOXTOOLS, 0.6); // item: player color button SKINSTRING(GFX_COLORBUTTON, "colorbutton"); @@ -226,6 +231,7 @@ SKINBEGIN SKINFLOAT(ALPHA_SERVERLIST_IMPOSSIBLE, 0.7); SKINVECTOR(COLOR_SERVERLIST_IMPOSSIBLE, '0.3 0.3 0.3'); SKINSTRING(GFX_SERVERLIST_ICON, "icon"); + SKINFLOAT(ALPHA_SERVERLIST_ICON_NONPURE, 0.5); // item: server info SKINVECTOR(COLOR_SERVERINFO_NAME, '1 1 1'); diff --git a/qcsrc/menu/xonotic/campaign.c b/qcsrc/menu/xonotic/campaign.c index 04f7a083c..0537967bd 100644 --- a/qcsrc/menu/xonotic/campaign.c +++ b/qcsrc/menu/xonotic/campaign.c @@ -275,7 +275,11 @@ void XonoticCampaignList_drawListBoxItem(entity me, float i, vector absSize, flo draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED); s = ftos(p); - draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", campaign_mapname[i]), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); + if(draw_PictureSize(strcat("/maps/", campaign_mapname[i])) == '0 0 0') + draw_Picture(me.columnPreviewOrigin * eX, "nopreview_map", me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); + else + draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", campaign_mapname[i]), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); + if(i < me.campaignIndex) draw_Picture(me.checkMarkOrigin, "checkmark", me.checkMarkSize, '1 1 1', 1); if(i <= me.campaignIndex) diff --git a/qcsrc/menu/xonotic/colorpicker_string.c b/qcsrc/menu/xonotic/colorpicker_string.c index f57c768a5..c3593056c 100644 --- a/qcsrc/menu/xonotic/colorpicker_string.c +++ b/qcsrc/menu/xonotic/colorpicker_string.c @@ -5,6 +5,8 @@ CLASS(XonoticColorpickerString) EXTENDS(Image) 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) @@ -28,10 +30,45 @@ void XonoticColorpickerString_configureXonoticColorpickerString(entity me, strin { 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) @@ -52,6 +89,7 @@ float XonoticColorpickerString_mouseDrag(entity me, vector coords) if(coords_y <= 1 - margin_y) { me.prevcoords = coords; + me.saveCvars(me); } return 1; @@ -77,10 +115,8 @@ void XonoticColorpickerString_draw(entity me) 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 diff --git a/qcsrc/menu/xonotic/crosshairbutton.c b/qcsrc/menu/xonotic/crosshairbutton.c index 9456cd66d..0b501f5b6 100644 --- a/qcsrc/menu/xonotic/crosshairbutton.c +++ b/qcsrc/menu/xonotic/crosshairbutton.c @@ -118,10 +118,11 @@ void XonoticCrosshairButton_draw(entity me) 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 diff --git a/qcsrc/menu/xonotic/demolist.c b/qcsrc/menu/xonotic/demolist.c index c16e4ae00..2daed8bcb 100644 --- a/qcsrc/menu/xonotic/demolist.c +++ b/qcsrc/menu/xonotic/demolist.c @@ -1,26 +1,28 @@ #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(); @@ -33,134 +35,136 @@ void DemoList_Filter_Change(entity box, entity me); 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 diff --git a/qcsrc/menu/xonotic/dialog_firstrun.c b/qcsrc/menu/xonotic/dialog_firstrun.c index 6568a7198..39a7d2c70 100644 --- a/qcsrc/menu/xonotic/dialog_firstrun.c +++ b/qcsrc/menu/xonotic/dialog_firstrun.c @@ -3,9 +3,9 @@ CLASS(XonoticFirstRunDialog) EXTENDS(XonoticRootDialog) 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) @@ -19,8 +19,13 @@ float CheckFirstRunButton(entity me) { if(cvar_string("_cl_name") != "Player") return 1; - if(cvar_string("prvm_language") != prvm_language) + + if(cvar_string("_menu_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; } @@ -30,43 +35,56 @@ void XonoticFirstRunDialog_fill(entity me) 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 = "prvm_language \"$_menu_prvm_language\"; saveconfig; menu_restart"; + 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', "prvm_language \"$_menu_prvm_language\"; saveconfig; menu_restart", COMMANDBUTTON_APPLY)); setDependentWeird(e, CheckFirstRunButton); } #endif diff --git a/qcsrc/menu/xonotic/dialog_multiplayer.c b/qcsrc/menu/xonotic/dialog_multiplayer.c index 2492581d0..2c86f79c3 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer.c @@ -5,7 +5,7 @@ CLASS(XonoticMultiplayerDialog) EXTENDS(XonoticDialog) 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 @@ -15,10 +15,10 @@ void XonoticMultiplayerDialog_fill(entity me) 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); diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_create.c b/qcsrc/menu/xonotic/dialog_multiplayer_create.c index b9b589680..a53401693 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_create.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_create.c @@ -5,7 +5,7 @@ CLASS(XonoticServerCreateTab) EXTENDS(XonoticTab) 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) @@ -33,7 +33,7 @@ void XonoticServerCreateTab_fill(entity me) 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); @@ -42,10 +42,9 @@ void XonoticServerCreateTab_fill(entity 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); @@ -67,8 +66,7 @@ void XonoticServerCreateTab_fill(entity 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"); @@ -84,6 +82,7 @@ void XonoticServerCreateTab_fill(entity me) 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; @@ -99,7 +98,7 @@ void XonoticServerCreateTab_fill(entity me) 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); diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c b/qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c index 226f346b6..3fcabaaab 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_create_advanced.c @@ -25,36 +25,36 @@ void XonoticAdvancedDialog_fill(entity me) me.TD(me, 1, 3, makeXonoticTextLabel(0, _("Game settings:"))); me.TR(me); me.TDempty(me, 0.2); - me.TD(me, 1, 2.8, e = makeXonoticCheckBox(0, "sv_spectate", _("Allow spectating"))); + me.TD(me, 1, 2.8, makeXonoticCheckBox(0, "sv_spectate", _("Allow spectating"))); me.TR(me); me.TDempty(me, 0.2); - me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Spawn shield:"))); - me.TD(me, 1, 1.6, e = makeXonoticSlider(0, 15, 0.5, "g_spawnshieldtime")); + me.TD(me, 1, 1.2, makeXonoticTextLabel(0, _("Spawn shield:"))); + me.TD(me, 1, 1.6, makeXonoticSlider(0, 15, 0.5, "g_spawnshieldtime")); me.TR(me); me.TR(me); me.TDempty(me, 0.2); - me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Game speed:"))); - me.TD(me, 1, 1.6, e = makeXonoticSlider(0.5, 2.0, 0.1, "slowmo")); + me.TD(me, 1, 1.2, makeXonoticTextLabel(0, _("Game speed:"))); + me.TD(me, 1, 1.6, makeXonoticSlider(0.5, 2.0, 0.1, "slowmo")); me.TR(me); me.TR(me); me.TD(me, 1, 3, makeXonoticTextLabel(0, _("Teamplay settings:"))); me.TR(me); me.TDempty(me, 0.2); - me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Friendly fire scale:"))); - me.TD(me, 1, 1.6, e = makeXonoticSlider(0, 1.0, 0.05, "g_friendlyfire")); + me.TD(me, 1, 1.2, makeXonoticTextLabel(0, _("Friendly fire scale:"))); + me.TD(me, 1, 1.6, makeXonoticSlider(0, 1.0, 0.05, "g_friendlyfire")); me.TR(me); me.TDempty(me, 0.4); - me.TD(me, 1, 2.6, e = makeXonoticCheckBox(0, "g_friendlyfire_virtual", _("Virtual friendly fire (effect only)"))); + me.TD(me, 1, 2.6, makeXonoticCheckBox(0, "g_friendlyfire_virtual", _("Virtual friendly fire (effect only)"))); me.TR(me); me.TDempty(me, 0.2); - me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Friendly fire penalty:"))); - me.TD(me, 1, 1.6, e = makeXonoticSlider(0, 1.0, 0.05, "g_mirrordamage")); + me.TD(me, 1, 1.2, makeXonoticTextLabel(0, _("Friendly fire penalty:"))); + me.TD(me, 1, 1.6, makeXonoticSlider(0, 1.0, 0.05, "g_mirrordamage")); me.TR(me); me.TDempty(me, 0.4); - me.TD(me, 1, 2.6, e = makeXonoticCheckBox(0, "g_mirrordamage_virtual", _("Virtual penalty (effect only)"))); + me.TD(me, 1, 2.6, makeXonoticCheckBox(0, "g_mirrordamage_virtual", _("Virtual penalty (effect only)"))); me.TR(me); me.TDempty(me, 0.2); - me.TD(me, 1, 1.2, e = makeXonoticTextLabel(0, _("Teams:"))); + me.TD(me, 1, 1.2, makeXonoticTextLabel(0, _("Teams:"))); me.TD(me, 1, 1.6, e = makeXonoticTextSlider("g_tdm_teams_override g_domination_teams_override g_keyhunt_teams_override")); e.addValue(e, "Default", "0"); e.addValue(e, "2 teams", "2"); @@ -63,7 +63,7 @@ void XonoticAdvancedDialog_fill(entity me) e.configureXonoticTextSliderValues(e); me.TR(me); me.TR(me); - me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Map voting:"))); + me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Map voting:"))); me.TD(me, 1, 2, e = makeXonoticTextSlider("g_maplist_votable")); e.addValue(e, _("No voting"), "0"); e.addValue(e, _("2 choices"), "2"); @@ -76,7 +76,7 @@ void XonoticAdvancedDialog_fill(entity me) e.addValue(e, _("9 choices"), "9"); e.configureXonoticTextSliderValues(e); me.TR(me); - me.TD(me, 1, 3, e = makeXonoticCheckBoxEx(0.5, 0, "sv_vote_simple_majority_factor", _("Simple majority wins vcall"))); + me.TD(me, 1, 3, makeXonoticCheckBoxEx(0.5, 0, "sv_vote_simple_majority_factor", _("Simple majority wins vcall"))); me.gotoRC(me, me.rows - 1, 0); me.TD(me, 1, me.columns, e = makeXonoticButton(_("OK"), '0 0 0')); diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c b/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c index 31ea3e084..8e4bc5a23 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_create_mapinfo.c @@ -43,8 +43,8 @@ void XonoticMapInfoDialog_loadMapInfo(entity me, float i, entity mlb) 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)); @@ -54,7 +54,10 @@ void XonoticMapInfoDialog_loadMapInfo(entity me, float i, entity mlb) me.authorLabel.setText(me.authorLabel, me.currentMapAuthor); me.descriptionLabel.setText(me.descriptionLabel, me.currentMapDescription); me.featuresLabel.setText(me.featuresLabel, me.currentMapFeaturesText); - me.previewImage.src = me.currentMapPreviewImage; + if(draw_PictureSize(me.currentMapPreviewImage) == '0 0 0') + me.previewImage.src = "nopreview_map"; + else + me.previewImage.src = me.currentMapPreviewImage; for(i = 0; i < GameType_GetCount(); ++i) { diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c b/qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c index ac2d71e48..2d642728e 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_create_mutators.c @@ -68,6 +68,8 @@ string XonoticMutatorsDialog_toString(entity me) s = strcat(s, ", ", _("Dodging")); if(cvar("g_minstagib")) s = strcat(s, ", ", _("MinstaGib")); + if(cvar("g_new_toys")) + s = strcat(s, ", ", _("New Toys")); if(cvar("g_nix")) s = strcat(s, ", ", _("NIX")); if(cvar("g_rocket_flying")) @@ -159,7 +161,32 @@ void preDrawLaserWeaponArenaLaserButton(entity me) } // WARNING: end of dirty hack. Do not try this at home. - +float checkCompatibility_pinata(entity me) +{ + if(cvar("g_minstagib")) + return 0; + if(cvar("g_nix")) + return 0; + if(cvar_string("g_weaponarena") != "0") + return 0; + return 1; +} +float checkCompatibility_weaponstay(entity me) +{ + return checkCompatibility_pinata(me); +} +float checkCompatibility_newtoys(entity me) +{ + if(cvar("g_minstagib")) + return 0; + if(cvar_string("g_weaponarena") == "most") + return 1; + if(cvar_string("g_weaponarena") == "all") + return 1; + if(cvar_string("g_weaponarena") != "0") + return 0; + return 1; +} void XonoticMutatorsDialog_fill(entity me) { @@ -184,6 +211,7 @@ void XonoticMutatorsDialog_fill(entity me) me.TDempty(me, 0.2); s = makeXonoticSlider(10, 50, 1, "g_bloodloss"); me.TD(me, 1, 2, e = makeXonoticSliderCheckBox(0, 1, s, _("Blood loss"))); + setDependent(e, "g_minstagib", 0, 0); me.TR(me); me.TDempty(me, 0.4); me.TD(me, 1, 1.8, s); @@ -208,15 +236,21 @@ void XonoticMutatorsDialog_fill(entity me) me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "g_invincible_projectiles", _("Invincible Projectiles"))); + me.TR(me); + me.TDempty(me, 0.2); + me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "g_new_toys", _("New Toys"))); + setDependentWeird(e, checkCompatibility_newtoys); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "g_rocket_flying", _("Rocket Flying"))); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "g_pinata", _("Piñata"))); + setDependentWeird(e, checkCompatibility_pinata); me.TR(me); me.TDempty(me, 0.2); me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "g_weapon_stay", _("Weapons stay"))); + setDependentWeird(e, checkCompatibility_weaponstay); me.TR(me); me.gotoRC(me, 0, 2); me.setFirstColumn(me, me.currentColumn); diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_demo.c b/qcsrc/menu/xonotic/dialog_multiplayer_demo.c index 99f5a179b..bb4b969c4 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_demo.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_demo.c @@ -4,8 +4,8 @@ CLASS(XonoticDemoBrowserTab) EXTENDS(XonoticTab) ATTRIB(XonoticDemoBrowserTab, title, string, _("Demo")) ATTRIB(XonoticDemoBrowserTab, intendedWidth, float, 0.9) ATTRIB(XonoticDemoBrowserTab, rows, float, 22) - ATTRIB(XonoticDemoBrowserTab, columns, float, 6.5) - ATTRIB(XonoticDemoBrowserTab, name, string, "DemoBroswer") + ATTRIB(XonoticDemoBrowserTab, columns, float, 4) + ATTRIB(XonoticDemoBrowserTab, name, string, "DemoBrowser") ENDCLASS(XonoticDemoBrowserTab) entity makeXonoticDemoBrowserTab(); #endif @@ -25,20 +25,22 @@ void XonoticDemoBrowserTab_fill(entity me) 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; diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c b/qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c index 8bf090fe4..4e6d6f590 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_join_serverinfo.c @@ -5,8 +5,8 @@ CLASS(XonoticServerInfoDialog) EXTENDS(XonoticDialog) 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) @@ -15,9 +15,9 @@ CLASS(XonoticServerInfoDialog) EXTENDS(XonoticDialog) 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) @@ -30,9 +30,9 @@ CLASS(XonoticServerInfoDialog) EXTENDS(XonoticDialog) 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) @@ -40,16 +40,6 @@ CLASS(XonoticServerInfoDialog) EXTENDS(XonoticDialog) ATTRIB(XonoticServerInfoDialog, pureLabel, entity, NULL) ENDCLASS(XonoticServerInfoDialog) -float SLIST_FIELD_NAME; -float SLIST_FIELD_CNAME; -float SLIST_FIELD_QCSTATUS; -float SLIST_FIELD_MAP; -float SLIST_FIELD_PLAYERS; -float SLIST_FIELD_NUMHUMANS; -float SLIST_FIELD_MAXPLAYERS; -float SLIST_FIELD_NUMBOTS; -float SLIST_FIELD_MOD; -float SLIST_FIELD_PING; void Join_Click(entity btn, entity me); #endif @@ -57,44 +47,51 @@ void Join_Click(entity btn, entity me); void XonoticServerInfoDialog_loadServerInfo(entity me, float i) { float m, pure, freeslots, j, numh, maxp, numb, sflags; - string s, typestr, versionstr, k, v; + string s, typestr, versionstr, k, v, modname; + // ==================================== + // 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); @@ -102,12 +99,21 @@ void XonoticServerInfoDialog_loadServerInfo(entity me, float i) 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; - SLIST_FIELD_NAME = gethostcacheindexforkey("name"); + // ========================== + // Now, fill in the strings + // ========================== me.currentServerName = strzone(gethostcachestring(SLIST_FIELD_NAME, i)); me.nameLabel.setText(me.nameLabel, me.currentServerName); - SLIST_FIELD_CNAME = gethostcacheindexforkey("cname"); me.currentServerCName = strzone(gethostcachestring(SLIST_FIELD_CNAME, i)); me.cnameLabel.setText(me.cnameLabel, me.currentServerCName); @@ -115,7 +121,6 @@ void XonoticServerInfoDialog_loadServerInfo(entity me, float i) typestr = _("N/A"); versionstr = _("N/A"); - SLIST_FIELD_QCSTATUS = gethostcacheindexforkey("qcstatus"); s = gethostcachestring(SLIST_FIELD_QCSTATUS, i); m = tokenizebyseparator(s, ":"); if(m >= 2) @@ -125,6 +130,7 @@ void XonoticServerInfoDialog_loadServerInfo(entity me, float i) } freeslots = -1; sflags = -1; + modname = ""; for(j = 2; j < m; ++j) { if(argv(j) == "") @@ -137,187 +143,196 @@ void XonoticServerInfoDialog_loadServerInfo(entity me, float i) freeslots = stof(v); else if(k == "F") sflags = stof(v); + else if(k == "M") + modname = v; } +#ifdef COMPAT_NO_MOD_IS_XONOTIC + if(modname == "") + modname = "Xonotic"; +#endif + + s = gethostcachestring(SLIST_FIELD_MOD, i); + if(s != "data") + modname = sprintf(_("%s (%s)"), modname, s); + + 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); - SLIST_FIELD_MAP = gethostcacheindexforkey("map"); me.currentServerMap = strzone(gethostcachestring(SLIST_FIELD_MAP, i)); me.mapLabel.setText(me.mapLabel, me.currentServerMap); - SLIST_FIELD_PLAYERS = gethostcacheindexforkey("players"); me.currentServerPlayers = strzone(gethostcachestring(SLIST_FIELD_PLAYERS, i)); me.rawPlayerList.setPlayerList(me.rawPlayerList, me.currentServerPlayers); - SLIST_FIELD_NUMHUMANS = gethostcacheindexforkey("numhumans"); numh = gethostcachenumber(SLIST_FIELD_NUMHUMANS, i); - SLIST_FIELD_MAXPLAYERS = gethostcacheindexforkey("maxplayers"); 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); - - SLIST_FIELD_MOD = gethostcacheindexforkey("mod"); - me.currentServerMod = strzone(gethostcachestring(SLIST_FIELD_MOD, i)); + + if(freeslots < 0) { freeslots = maxp - numh - numb; } + s = ftos(freeslots); + me.currentServerNumFreeSlots = strzone(s); + me.numFreeSlotsLabel.setText(me.numFreeSlotsLabel, me.currentServerNumFreeSlots); + + me.currentServerMod = ((modname == "Xonotic") ? _("Default") : modname); + me.currentServerMod = strzone(me.currentServerMod); 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; } diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c index 636508165..d33a1eab1 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup.c @@ -5,17 +5,14 @@ CLASS(XonoticPlayerSettingsTab) EXTENDS(XonoticTab) 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; @@ -33,7 +30,7 @@ void XonoticPlayerSettingsTab_draw(entity me) } void XonoticPlayerSettingsTab_fill(entity me) { - entity e, pms, sl, label, e0, box; + entity e, pms, label, box; float i, r, m, n; me.TR(me); @@ -64,13 +61,13 @@ void XonoticPlayerSettingsTab_fill(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) @@ -83,129 +80,98 @@ void XonoticPlayerSettingsTab_fill(entity me) 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 diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c new file mode 100644 index 000000000..a18fec1c4 --- /dev/null +++ b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_crosshair.c @@ -0,0 +1,95 @@ +#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 diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c new file mode 100644 index 000000000..e53f99bc1 --- /dev/null +++ b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hud.c @@ -0,0 +1,103 @@ +#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 diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c new file mode 100644 index 000000000..b06dc9207 --- /dev/null +++ b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_hudconfirm.c @@ -0,0 +1,40 @@ +#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 diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c new file mode 100644 index 000000000..25b0fcb19 --- /dev/null +++ b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_model.c @@ -0,0 +1,57 @@ +#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, 7) + 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); + #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 diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c new file mode 100644 index 000000000..59a7e6e79 --- /dev/null +++ b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_view.c @@ -0,0 +1,117 @@ +#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")), "2"); + 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.01, 0, "cl_bob", _("View bobbing while walking around"))); + makeMulti(e, "cl_bob2"); + 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 diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c deleted file mode 100644 index 7ded2c505..000000000 --- a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_waypoint.c +++ /dev/null @@ -1,39 +0,0 @@ -#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 diff --git a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c index 2c960d368..fa3549154 100644 --- a/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c +++ b/qcsrc/menu/xonotic/dialog_multiplayer_playersetup_weapons.c @@ -5,9 +5,9 @@ CLASS(XonoticWeaponsDialog) EXTENDS(XonoticDialog) 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 @@ -26,21 +26,22 @@ void XonoticWeaponsDialog_fill(entity me) 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); @@ -52,8 +53,24 @@ void XonoticWeaponsDialog_fill(entity 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; diff --git a/qcsrc/menu/xonotic/dialog_quit.c b/qcsrc/menu/xonotic/dialog_quit.c index fd8471186..71de59dac 100644 --- a/qcsrc/menu/xonotic/dialog_quit.c +++ b/qcsrc/menu/xonotic/dialog_quit.c @@ -18,7 +18,7 @@ void XonoticQuitDialog_fill(entity me) me.TD(me, 1, 2, makeXonoticTextLabel(0.5, _("Are you sure you want to quit?"))); me.TR(me); me.TR(me); - me.TD(me, 1, 1, e = makeXonoticCommandButton(_("Yes"), '1 0 0', "quit", 0)); + me.TD(me, 1, 1, e = makeXonoticCommandButton(_("Yes"), '1 0 0', "echo ]quit\nquit", 0)); me.TD(me, 1, 1, e = makeXonoticButton(_("No"), '0 1 0')); e.onClick = Dialog_Close; e.onClickEntity = me; diff --git a/qcsrc/menu/xonotic/dialog_settings.c b/qcsrc/menu/xonotic/dialog_settings.c index 1f084a16c..930fa7df9 100644 --- a/qcsrc/menu/xonotic/dialog_settings.c +++ b/qcsrc/menu/xonotic/dialog_settings.c @@ -19,7 +19,7 @@ void XonoticSettingsDialog_fill(entity 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); diff --git a/qcsrc/menu/xonotic/dialog_settings_audio.c b/qcsrc/menu/xonotic/dialog_settings_audio.c index bf3406142..174873fe7 100644 --- a/qcsrc/menu/xonotic/dialog_settings_audio.c +++ b/qcsrc/menu/xonotic/dialog_settings_audio.c @@ -4,7 +4,7 @@ CLASS(XonoticAudioSettingsTab) EXTENDS(XonoticTab) 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 @@ -23,79 +23,103 @@ void XonoticAudioSettingsTab_fill(entity me) entity e, s, sl; me.TR(me); - s = makeXonoticDecibelsSlider(-20, 0, 0.5, "mastervolume"); + s = makeXonoticDecibelsSlider(-40, 0, 1, "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"); + s = makeXonoticDecibelsSlider(-40, 0, 1, "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"); me.TR(me); me.TDempty(me, 0.2); - s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_staticvolume"); + s = makeXonoticDecibelsSlider(-40, 0, 1, "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.TR(me); me.TDempty(me, 0.2); - s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel0volume"); + s = makeXonoticDecibelsSlider(-40, 0, 1, "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.TR(me); me.TDempty(me, 0.2); - s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel3volume"); + s = makeXonoticDecibelsSlider(-40, 0, 1, "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.TR(me); me.TDempty(me, 0.2); - s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel6volume"); + s = makeXonoticDecibelsSlider(-40, 0, 1, "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.TR(me); me.TDempty(me, 0.2); - s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel7volume"); + s = makeXonoticDecibelsSlider(-40, 0, 1, "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.TR(me); me.TDempty(me, 0.2); - s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel4volume"); + s = makeXonoticDecibelsSlider(-40, 0, 1, "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.TR(me); me.TDempty(me, 0.2); - s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel2volume"); + s = makeXonoticDecibelsSlider(-40, 0, 1, "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"); me.TR(me); me.TDempty(me, 0.2); - s = makeXonoticDecibelsSlider(-20, 0, 0.5, "snd_channel1volume"); + s = makeXonoticDecibelsSlider(-40, 0, 1, "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.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Frequency:"))); + me.TR(me); + me.TD(me, 1, 3, makeXonoticCheckBox(0, "menu_snd_attenuation_method", _("New style sound attenuation"))); + me.TR(me); + me.TD(me, 1, 3, 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, makeXonoticTextLabel(0, _("Frequency:"))); me.TD(me, 1, 2, e = makeXonoticTextSlider("snd_speed")); e.addValue(e, _("8 kHz"), "8000"); e.addValue(e, _("11.025 kHz"), "11025"); @@ -107,7 +131,7 @@ void XonoticAudioSettingsTab_fill(entity me) e.addValue(e, _("48 kHz"), "48000"); e.configureXonoticTextSliderValues(e); me.TR(me); - me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Channels:"))); + me.TD(me, 1, 1, makeXonoticTextLabel(0, _("Channels:"))); me.TD(me, 1, 2, e = makeXonoticTextSlider("snd_channels")); e.addValue(e, _("Mono"), "1"); e.addValue(e, _("Stereo"), "2"); @@ -119,33 +143,27 @@ void XonoticAudioSettingsTab_fill(entity me) 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.TD(me, 1, 3, makeXonoticCheckBox(0, "cl_hitsound", _("Hit indication sound"))); me.TR(me); - 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")))); - me.TD(me, 1, 2/3, e = makeXonoticRadioButton(1, "cl_voice_directional", "1", ZCTX(_("VOCS^All")))); + me.TD(me, 1, 3, makeXonoticCheckBox(0, "con_chatsound", _("Chat message sound"))); me.TR(me); - me.TDempty(me, 0.2); - me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Taunt range:"))); - setDependent(e, "cl_voice_directional", 0.5, -0.5); - me.TD(me, 1, 2, e = makeXonoticTextSlider("cl_voice_directional_taunt_attenuation")); - e.addValue(e, ZCTX(_("RNG^Very short")), "3"); - e.addValue(e, ZCTX(_("RNG^Short")), "2"); - e.addValue(e, ZCTX(_("RNG^Normal")), "0.5"); - e.addValue(e, ZCTX(_("RNG^Long")), "0.25"); - e.addValue(e, ZCTX(_("RNG^Full")), "0.015625"); + me.TD(me, 1, 3, makeXonoticCheckBoxEx(2, 0, "menu_sounds", _("Menu sounds"))); + me.TR(me); + me.TR(me); + me.TD(me, 1, 1, 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); - setDependent(e, "cl_voice_directional", 0.5, -0.5); + me.TR(me); me.TR(me); sl = makeXonoticSlider(0.15, 1, 0.05, "cl_autotaunt"); sl.valueDisplayMultiplier = 100; @@ -155,21 +173,12 @@ void XonoticAudioSettingsTab_fill(entity me) e.savedValue = 0.65; // default me.TR(me); me.TDempty(me, 0.2); - me.TD(me, 1, 0.8, e = makeXonoticTextLabel(0, _("Frequency:"))); + me.TD(me, 1, 0.8, makeXonoticTextLabel(0, _("Frequency:"))); 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, 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)); diff --git a/qcsrc/menu/xonotic/dialog_settings_effects.c b/qcsrc/menu/xonotic/dialog_settings_effects.c index 385252bcb..1e315dc98 100644 --- a/qcsrc/menu/xonotic/dialog_settings_effects.c +++ b/qcsrc/menu/xonotic/dialog_settings_effects.c @@ -4,7 +4,7 @@ CLASS(XonoticEffectsSettingsTab) EXTENDS(XonoticTab) 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(); @@ -38,18 +38,18 @@ void XonoticEffectsSettingsTab_fill(entity me) 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"); @@ -59,29 +59,21 @@ void XonoticEffectsSettingsTab_fill(entity me) 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.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Playermodel LOD:"))); + me.TD(me, 1, 2, e = makeXonoticSlider(4, 0, -0.1, "cl_playerdetailreduction")); 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); { // detect texture compression method float f; @@ -91,75 +83,59 @@ void XonoticEffectsSettingsTab_fill(entity me) 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"))); @@ -175,22 +151,37 @@ void XonoticEffectsSettingsTab_fill(entity me) 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", _("High Dynamic Range (HDR)"))); - + me.TD(me, 1, 3, e = makeXonoticCheckBox(0, "r_bloom", _("Bloom"))); + 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); 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)); } diff --git a/qcsrc/menu/xonotic/dialog_settings_input.c b/qcsrc/menu/xonotic/dialog_settings_input.c index 440d00d8b..96bf5e5c6 100644 --- a/qcsrc/menu/xonotic/dialog_settings_input.c +++ b/qcsrc/menu/xonotic/dialog_settings_input.c @@ -4,7 +4,7 @@ CLASS(XonoticInputSettingsTab) EXTENDS(XonoticTab) 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 @@ -25,51 +25,66 @@ void XonoticInputSettingsTab_fill(entity me) 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)); } diff --git a/qcsrc/menu/xonotic/dialog_settings_misc.c b/qcsrc/menu/xonotic/dialog_settings_misc.c index 61295359a..b9aab55ab 100644 --- a/qcsrc/menu/xonotic/dialog_settings_misc.c +++ b/qcsrc/menu/xonotic/dialog_settings_misc.c @@ -4,7 +4,7 @@ CLASS(XonoticMiscSettingsTab) EXTENDS(XonoticTab) 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 @@ -20,53 +20,131 @@ entity makeXonoticMiscSettingsTab() void XonoticMiscSettingsTab_fill(entity me) { entity e; - entity sk; + //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 diff --git a/qcsrc/menu/xonotic/dialog_settings_misc_cvars.c b/qcsrc/menu/xonotic/dialog_settings_misc_cvars.c index be2b64259..7ebca4162 100644 --- a/qcsrc/menu/xonotic/dialog_settings_misc_cvars.c +++ b/qcsrc/menu/xonotic/dialog_settings_misc_cvars.c @@ -5,7 +5,7 @@ CLASS(XonoticCvarsDialog) EXTENDS(XonoticDialog) 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 @@ -15,14 +15,24 @@ void XonoticCvarsDialog_showNotify(entity me) { 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; @@ -30,7 +40,7 @@ void XonoticCvarsDialog_fill(entity me) 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; @@ -42,11 +52,13 @@ void XonoticCvarsDialog_fill(entity me) 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; @@ -58,7 +70,7 @@ void XonoticCvarsDialog_fill(entity me) 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; } diff --git a/qcsrc/menu/xonotic/dialog_settings_network.c b/qcsrc/menu/xonotic/dialog_settings_network.c deleted file mode 100644 index 9b6b7c330..000000000 --- a/qcsrc/menu/xonotic/dialog_settings_network.c +++ /dev/null @@ -1,60 +0,0 @@ -#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.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 diff --git a/qcsrc/menu/xonotic/dialog_settings_user.c b/qcsrc/menu/xonotic/dialog_settings_user.c new file mode 100644 index 000000000..9a1710a9f --- /dev/null +++ b/qcsrc/menu/xonotic/dialog_settings_user.c @@ -0,0 +1,91 @@ +#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 diff --git a/qcsrc/menu/xonotic/dialog_settings_video.c b/qcsrc/menu/xonotic/dialog_settings_video.c index 474798c17..57bbc3cd2 100644 --- a/qcsrc/menu/xonotic/dialog_settings_video.c +++ b/qcsrc/menu/xonotic/dialog_settings_video.c @@ -4,7 +4,7 @@ CLASS(XonoticVideoSettingsTab) EXTENDS(XonoticTab) 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(); @@ -40,27 +40,37 @@ void XonoticVideoSettingsTab_fill(entity me) 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:"))); @@ -70,9 +80,17 @@ void XonoticVideoSettingsTab_fill(entity me) 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); @@ -80,19 +98,19 @@ void XonoticVideoSettingsTab_fill(entity 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:")))); @@ -100,8 +118,28 @@ void XonoticVideoSettingsTab_fill(entity me) 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, makeXonoticCommandButton(_("Apply immediately"), '0 0 0', "menu_cmd sync; vid_restart; menu_restart; menu_cmd videosettings", COMMANDBUTTON_APPLY)); } #endif diff --git a/qcsrc/menu/xonotic/dialog_singleplayer.c b/qcsrc/menu/xonotic/dialog_singleplayer.c index 6e1be0067..c37cb7e40 100644 --- a/qcsrc/menu/xonotic/dialog_singleplayer.c +++ b/qcsrc/menu/xonotic/dialog_singleplayer.c @@ -123,7 +123,7 @@ void XonoticSingleplayerDialog_fill(entity me) 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; @@ -133,7 +133,12 @@ void XonoticSingleplayerDialog_fill(entity me) 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; diff --git a/qcsrc/menu/xonotic/gametypelist.c b/qcsrc/menu/xonotic/gametypelist.c index cbc239946..531c761f6 100644 --- a/qcsrc/menu/xonotic/gametypelist.c +++ b/qcsrc/menu/xonotic/gametypelist.c @@ -1,7 +1,7 @@ #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)) @@ -9,7 +9,10 @@ CLASS(XonoticGametypeList) EXTENDS(XonoticListBox) 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) @@ -27,9 +30,15 @@ entity makeXonoticGametypeList(void) } 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) { @@ -68,18 +77,28 @@ void XonoticGametypeList_saveCvars(entity me) 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 diff --git a/qcsrc/menu/xonotic/languagelist.c b/qcsrc/menu/xonotic/languagelist.c index 0ea54dbca..5be639a07 100644 --- a/qcsrc/menu/xonotic/languagelist.c +++ b/qcsrc/menu/xonotic/languagelist.c @@ -27,7 +27,7 @@ CLASS(XonoticLanguageList) EXTENDS(XonoticListBox) ATTRIB(XonoticLanguageList, name, string, "languageselector") // change this to make it noninteractive (for first run dialog) - ATTRIB(XonoticLanguageList, doubleClickCommand, string, "menu_restart\ntogglemenu\ndefer 0.1 \"menu_cmd languageselect\"") + ATTRIB(XonoticLanguageList, doubleClickCommand, string, "prvm_language \"$_menu_prvm_language\"\nmenu_restart\nmenu_cmd languageselect") ENDCLASS(XonoticLanguageList) entity makeXonoticLanguageList(); @@ -85,7 +85,7 @@ void XonoticLanguageList_loadCvars(entity me) { string s; float i, n; - s = cvar_string("prvm_language"); + s = cvar_string("_menu_prvm_language"); n = me.nItems; // default to English @@ -107,11 +107,14 @@ void XonoticLanguageList_loadCvars(entity me) break; } } + + // save it off (turning anything unknown into "en") + me.saveCvars(me); } void XonoticLanguageList_saveCvars(entity me) { - cvar_set("prvm_language", me.languageParameter(me, me.selectedItem, LANGPARM_ID)); + cvar_set("_menu_prvm_language", me.languageParameter(me, me.selectedItem, LANGPARM_ID)); } void XonoticLanguageList_clickListBoxItem(entity me, float i, vector where) @@ -150,6 +153,7 @@ void XonoticLanguageList_getLanguages(entity me) buf = buf_create(); fh = fopen("languages.txt", FILE_READ); + i = 0; while((s = fgets(fh))) { n = tokenize_console(s); diff --git a/qcsrc/menu/xonotic/mainwindow.c b/qcsrc/menu/xonotic/mainwindow.c index 3b433fa5a..54ed66ada 100644 --- a/qcsrc/menu/xonotic/mainwindow.c +++ b/qcsrc/menu/xonotic/mainwindow.c @@ -9,9 +9,13 @@ CLASS(MainWindow) EXTENDS(ModalController) 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) @@ -42,18 +46,13 @@ void MainWindow_configureMainWindow(entity me) { 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); @@ -129,7 +128,35 @@ void MainWindow_configureMainWindow(entity me) i = spawnXonoticHUDItemsTimeDialog(); 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); @@ -137,35 +164,47 @@ void MainWindow_configureMainWindow(entity me) 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 * SKINALPHA_DIALOG_SANDBOXTOOLS); + + + // 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")) @@ -202,6 +241,7 @@ void MainWindow_configureMainWindow(entity me) 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); diff --git a/qcsrc/menu/xonotic/maplist.c b/qcsrc/menu/xonotic/maplist.c index 650e343c6..54b9554a8 100644 --- a/qcsrc/menu/xonotic/maplist.c +++ b/qcsrc/menu/xonotic/maplist.c @@ -186,12 +186,16 @@ void XonoticMapList_drawListBoxItem(entity me, float i, vector absSize, float is draw_Fill('0 0 0', '1 1 0', SKINCOLOR_MAPLIST_INCLUDEDBG, SKINALPHA_MAPLIST_INCLUDEDBG); s = ftos(p); - draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", MapInfo_Map_bspname), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); + if(draw_PictureSize(strcat("/maps/", MapInfo_Map_bspname)) == '0 0 0') + draw_Picture(me.columnPreviewOrigin * eX, "nopreview_map", me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); + else + draw_Picture(me.columnPreviewOrigin * eX, strcat("/maps/", MapInfo_Map_bspname), me.columnPreviewSize * eX + eY, '1 1 1', theAlpha); + 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(); diff --git a/qcsrc/menu/xonotic/playerlist.c b/qcsrc/menu/xonotic/playerlist.c index b3a658e3b..4c1c62af2 100644 --- a/qcsrc/menu/xonotic/playerlist.c +++ b/qcsrc/menu/xonotic/playerlist.c @@ -84,7 +84,7 @@ void XonoticPlayerList_resizeNotify(entity me, vector relOrigin, vector relSize, 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; @@ -115,7 +115,7 @@ void XonoticPlayerList_drawListBoxItem(entity me, float i, vector absSize, float if(substring(score, strlen(score) - 10, 10) == ":spectator") { - score = "-666"; + score = _("spectator"); } else { @@ -123,6 +123,9 @@ void XonoticPlayerList_drawListBoxItem(entity me, float i, vector absSize, float 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); diff --git a/qcsrc/menu/xonotic/playermodel.c b/qcsrc/menu/xonotic/playermodel.c index ef02224df..61eb4a681 100644 --- a/qcsrc/menu/xonotic/playermodel.c +++ b/qcsrc/menu/xonotic/playermodel.c @@ -137,7 +137,10 @@ void XonoticPlayerModelSelector_go(entity me, float d) me.currentModelDescription = strzone(bufstr_get(me.bufModels, BUFMODELS_COUNT*me.idxModels+BUFMODELS_DESC)); // fix the image - me.src = me.currentModelImage; + if(draw_PictureSize(me.currentModelImage) == '0 0 0') + me.src = "nopreview_player"; + else + me.src = me.currentModelImage; me.updateAspect(me); } diff --git a/qcsrc/menu/xonotic/serverlist.c b/qcsrc/menu/xonotic/serverlist.c index 82fdbfb5e..44ca1b227 100644 --- a/qcsrc/menu/xonotic/serverlist.c +++ b/qcsrc/menu/xonotic/serverlist.c @@ -64,9 +64,7 @@ void ServerList_Filter_Change(entity box, entity me); void ServerList_Favorite_Click(entity btn, entity me); void ServerList_Info_Click(entity btn, entity me); void ServerList_Update_favoriteButton(entity btn, entity me); -#endif -#ifdef IMPLEMENTATION float SLIST_FIELD_CNAME; float SLIST_FIELD_PING; float SLIST_FIELD_GAME; @@ -82,6 +80,9 @@ float SLIST_FIELD_FREESLOTS; float SLIST_FIELD_PLAYERS; float SLIST_FIELD_QCSTATUS; float SLIST_FIELD_ISFAVORITE; +#endif + +#ifdef IMPLEMENTATION void ServerList_UpdateFieldIDs() { SLIST_FIELD_CNAME = gethostcacheindexforkey( "cname" ); @@ -600,13 +601,14 @@ void XonoticServerList_drawListBoxItem(entity me, float i, vector absSize, float vector theColor; float theAlpha; float m, pure, freeslots, j, sflags; - string s, typestr, versionstr, k, v; + string s, typestr, versionstr, k, v, modname; if(isSelected) draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED); s = gethostcachestring(SLIST_FIELD_QCSTATUS, i); m = tokenizebyseparator(s, ":"); + typestr = ""; if(m >= 2) { typestr = argv(0); @@ -614,6 +616,8 @@ void XonoticServerList_drawListBoxItem(entity me, float i, vector absSize, float } freeslots = -1; sflags = -1; + modname = ""; + pure = 0; for(j = 2; j < m; ++j) { if(argv(j) == "") @@ -626,8 +630,31 @@ void XonoticServerList_drawListBoxItem(entity me, float i, vector absSize, float freeslots = stof(v); else if(k == "F") sflags = stof(v); + else if(k == "M") + modname = v; } +#ifdef COMPAT_NO_MOD_IS_XONOTIC + if(modname == "") + modname = "Xonotic"; +#endif + + /* + SLIST_FIELD_MOD = gethostcacheindexforkey("mod"); + s = gethostcachestring(SLIST_FIELD_MOD, i); + if(s != "data") + if(modname == "Xonotic") + modname = s; + */ + + // list the mods here on which the pure server check actually works + if(modname != "Xonotic") + if(modname != "MinstaGib") + if(modname != "CTS") + if(modname != "NIX") + if(modname != "NewToys") + pure = 0; + if(gethostcachenumber(SLIST_FIELD_FREESLOTS, i) <= 0) theAlpha = SKINALPHA_SERVERLIST_FULL; else if(freeslots == 0) @@ -714,29 +741,56 @@ void XonoticServerList_drawListBoxItem(entity me, float i, vector absSize, float iconPos_x = (me.columnIconsSize - 3 * iconSize_x) * 0.5; iconPos_y = (1 - iconSize_y) * 0.5; + string n; + if not(me.seenIPv4 && me.seenIPv6) { iconPos_x += iconSize_x * 0.5; } else if(me.seenIPv4 && me.seenIPv6) { + n = string_null; if(isv6) - draw_Picture(iconPos, strcat(SKINGFX_SERVERLIST_ICON, "_ipv6"), iconSize, '1 1 1', 1); + draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_ipv6"), 0); // PRECACHE_PIC_MIPMAP else if(isv4) - draw_Picture(iconPos, strcat(SKINGFX_SERVERLIST_ICON, "_ipv4"), iconSize, '1 1 1', 1); + draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_ipv4"), 0); // PRECACHE_PIC_MIPMAP + if(n) + draw_Picture(iconPos, n, iconSize, '1 1 1', 1); iconPos_x += iconSize_x; } if(q > 0) - draw_Picture(iconPos, strcat(SKINGFX_SERVERLIST_ICON, "_aeslevel", ftos(q)), iconSize, '1 1 1', 1); + { + draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_aeslevel", ftos(q)), 0); // PRECACHE_PIC_MIPMAP + draw_Picture(iconPos, n, iconSize, '1 1 1', 1); + } iconPos_x += iconSize_x; - if(pure == 0) - draw_Picture(iconPos, strcat(SKINGFX_SERVERLIST_ICON, "_pure1"), iconSize, '1 1 1', 1); + if(modname == "Xonotic") + { + if(pure == 0) + { + draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_pure1"), PRECACHE_PIC_MIPMAP); + draw_Picture(iconPos, n, iconSize, '1 1 1', 1); + } + } + else + { + draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_mod_", modname), PRECACHE_PIC_MIPMAP); + if(draw_PictureSize(n) == '0 0 0') + draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_mod_"), PRECACHE_PIC_MIPMAP); + if(pure == 0) + draw_Picture(iconPos, n, iconSize, '1 1 1', 1); + else + draw_Picture(iconPos, n, iconSize, '1 1 1', SKINALPHA_SERVERLIST_ICON_NONPURE); + } iconPos_x += iconSize_x; if(sflags >= 0 && (sflags & SERVERFLAG_PLAYERSTATS)) - draw_Picture(iconPos, strcat(SKINGFX_SERVERLIST_ICON, "_stats1"), iconSize, '1 1 1', 1); + { + draw_PreloadPictureWithFlags(n = strcat(SKINGFX_SERVERLIST_ICON, "_stats1"), 0); // PRECACHE_PIC_MIPMAP + draw_Picture(iconPos, n, iconSize, '1 1 1', 1); + } iconPos_x += iconSize_x; } diff --git a/qcsrc/menu/xonotic/skinlist.c b/qcsrc/menu/xonotic/skinlist.c index bb01f974c..fdb07870a 100644 --- a/qcsrc/menu/xonotic/skinlist.c +++ b/qcsrc/menu/xonotic/skinlist.c @@ -104,7 +104,10 @@ void XonoticSkinList_getSkins(entity me) bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_NAME, substring(s, 9, strlen(s) - 24)); // the * part bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_TITLE, _("<TITLE>")); bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_AUTHOR, _("<AUTHOR>")); - bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_PREVIEW, strcat("/gfx/menu/", substring(s, 9, strlen(s) - 24), "/skinpreview")); + if(draw_PictureSize(strcat("/gfx/menu/", substring(s, 9, strlen(s) - 24), "/skinpreview")) == '0 0 0') + bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_PREVIEW, "nopreview_menuskin"); + else + bufstr_set(buf, i * SKINPARM_COUNT + SKINPARM_PREVIEW, strcat("/gfx/menu/", substring(s, 9, strlen(s) - 24), "/skinpreview")); fh = fopen(language_filename(s), FILE_READ); if(fh < 0) { @@ -172,7 +175,7 @@ void XonoticSkinList_drawListBoxItem(entity me, float i, vector absSize, float i void XonoticSkinList_setSkin(entity me) { me.saveCvars(me); - localcmd("\nmenu_restart\ntogglemenu\ndefer 0.1 \"menu_cmd skinselect\"\n"); + localcmd("\nmenu_restart\nmenu_cmd skinselect\n"); } void SetSkin_Click(entity btn, entity me) diff --git a/qcsrc/menu/xonotic/slider_decibels.c b/qcsrc/menu/xonotic/slider_decibels.c index 24edb4cb9..729bec006 100644 --- a/qcsrc/menu/xonotic/slider_decibels.c +++ b/qcsrc/menu/xonotic/slider_decibels.c @@ -9,6 +9,16 @@ entity makeXonoticDecibelsSlider(float, float, float, string); #ifdef IMPLEMENTATION +float toDecibelOfSquare(float f) +{ + return 20.0 * log10(f); +} + +float fromDecibelOfSquare(float f) +{ + return pow(10, f / 20.0); +} + entity makeXonoticDecibelsSlider(float theValueMin, float theValueMax, float theValueStep, string theCvar) { entity me; @@ -24,32 +34,34 @@ void XonoticDecibelsSlider_loadCvars(entity me) return; v = cvar(me.cvarName); - if(v >= 0.98) - Slider_setValue( me, 0 ); - else if(v < 0.0005) - Slider_setValue( me, -1000000 ); + + // snapping + if(v > fromDecibelOfSquare(me.valueMax - 0.5 * me.valueStep)) + Slider_setValue(me, me.valueMax); + else if(v < fromDecibelOfSquare(me.valueMin - 0.5 * me.valueStep)) + Slider_setValue(me, -1000000); // virtually infinite else - Slider_setValue( me, 0.1 * floor(0.5 + 10.0 * log10(cvar(me.cvarName)) * 10) ); + Slider_setValue(me, me.valueStep * floor(0.5 + toDecibelOfSquare(v) / me.valueStep) ); } void XonoticDecibelsSlider_saveCvars(entity me) { if not(me.cvarName) return; - if(me.value >= -0.1) - cvar_set(me.cvarName, "1"); - if(me.value < -33) + if(me.value > me.valueMax - 0.5 * me.valueStep) + cvar_set(me.cvarName, ftos(fromDecibelOfSquare(me.valueMax))); + else if(me.value < me.valueMin - 0.5 * me.valueStep) cvar_set(me.cvarName, "0"); else - cvar_set(me.cvarName, ftos(pow(10, me.value / 10))); + cvar_set(me.cvarName, ftos(fromDecibelOfSquare(me.value))); } string XonoticDecibelsSlider_valueToText(entity me, float v) { - if(v < -33) - return CTX(_("VOL^OFF")); - else if(v >= -0.1) + if(v > me.valueMax - 0.5 * me.valueStep) return CTX(_("VOL^MAX")); + else if(v < me.valueMin - 0.5 * me.valueStep) + return CTX(_("VOL^OFF")); return sprintf(_("%s dB"), SUPER(XonoticDecibelsSlider).valueToText(me, v)); } diff --git a/qcsrc/menu/xonotic/slider_resolution.c b/qcsrc/menu/xonotic/slider_resolution.c index 2e3ea4ce4..8bd47e799 100644 --- a/qcsrc/menu/xonotic/slider_resolution.c +++ b/qcsrc/menu/xonotic/slider_resolution.c @@ -6,18 +6,25 @@ CLASS(XonoticResolutionSlider) EXTENDS(XonoticTextSlider) METHOD(XonoticResolutionSlider, saveCvars, void(entity)) ENDCLASS(XonoticResolutionSlider) entity makeXonoticResolutionSlider(); +void initConwidths(); void updateConwidths(); #endif #ifdef IMPLEMENTATION +void initConwidths() +{ + cvar_set("_menu_vid_width", cvar_string("vid_width")); + cvar_set("_menu_vid_height", cvar_string("vid_height")); + cvar_set("_menu_vid_pixelheight", cvar_string("vid_pixelheight")); +} void updateConwidths() { vector r, c; float minfactor, maxfactor; float sz, f; - r_x = cvar("menu_vid_width"); - r_y = cvar("menu_vid_height"); - r_z = cvar("menu_vid_pixelheight"); + r_x = cvar("_menu_vid_width"); + r_y = cvar("_menu_vid_height"); + r_z = cvar("_menu_vid_pixelheight"); sz = cvar("menu_vid_scale"); // calculate the base resolution @@ -70,7 +77,7 @@ void XonoticResolutionSlider_configureXonoticResolutionSlider(entity me) float i; vector r0, r; - me.configureXonoticTextSlider(me, "menu_vid_width"); + me.configureXonoticTextSlider(me, "_menu_vid_width"); r0 = '0 0 0'; for(i = 0;; ++i) @@ -105,16 +112,16 @@ void XonoticResolutionSlider_configureXonoticResolutionSlider(entity me) } void XonoticResolutionSlider_loadCvars(entity me) { - me.setValueFromIdentifier(me, strcat(cvar_string("menu_vid_width"), " ", cvar_string("menu_vid_height"), " ", cvar_string("menu_vid_pixelheight"))); + me.setValueFromIdentifier(me, strcat(cvar_string("_menu_vid_width"), " ", cvar_string("_menu_vid_height"), " ", cvar_string("_menu_vid_pixelheight"))); } void XonoticResolutionSlider_saveCvars(entity me) { if(me.value >= 0 || me.value < me.nValues) { tokenize_console(me.getIdentifier(me)); - cvar_set("menu_vid_width", argv(0)); - cvar_set("menu_vid_height", argv(1)); - cvar_set("menu_vid_pixelheight", argv(2)); + cvar_set("_menu_vid_width", argv(0)); + cvar_set("_menu_vid_height", argv(1)); + cvar_set("_menu_vid_pixelheight", argv(2)); } } #endif diff --git a/qcsrc/menu/xonotic/util.qc b/qcsrc/menu/xonotic/util.qc index 74fe810fe..4c03eaa5f 100644 --- a/qcsrc/menu/xonotic/util.qc +++ b/qcsrc/menu/xonotic/util.qc @@ -31,7 +31,7 @@ string getZonedTooltipForIdentifier(string s) if(t != "") return strzone(t); } - if(prvm_language == "en" || prvm_language == "") + if(prvm_language == "en") { t = cvar_description(s); if(t != "" && t != "custom cvar") @@ -256,21 +256,28 @@ void setDependentWeird(entity e, float(entity) func) float _Nex_ExtResponseSystem_Queried; string _Nex_ExtResponseSystem_UpdateTo; string _Nex_ExtResponseSystem_UpdateToURL; +string _Nex_ExtResponseSystem_Packs; +float _Nex_ExtResponseSystem_PacksStep; void URI_Get_Callback(float id, float status, string data) { - if (id == URI_GET_DISCARD) + if(url_URI_Get_Callback(id, status, data)) { - // discard + // handled } - else if(id == URI_GET_UPDATENOTIFICATION) + else if (id == URI_GET_DISCARD) { - UpdateNotification_URI_Get_Callback(id, status, data); + // discard } - else if(id >= URI_GET_CURL && id <= URI_GET_CURL_END) + else if (id >= URI_GET_CURL && id <= URI_GET_CURL_END) { + // sv_cmd curl Curl_URI_Get_Callback(id, status, data); } + else if (id == URI_GET_UPDATENOTIFICATION) + { + UpdateNotification_URI_Get_Callback(id, status, data); + } else { print(sprintf(_("Received HTTP request data for an invalid id %d.\n"), id)); @@ -331,16 +338,105 @@ void UpdateNotification_URI_Get_Callback(float id, float status, string data) _Nex_ExtResponseSystem_BannedServers = strzone(argv(3)); _Nex_ExtResponseSystem_BannedServersNeedsRefresh = 1; } + + if(n >= 5) + { + if(cvar("menu_updatecheck_getpacks")) + { + _Nex_ExtResponseSystem_Packs = strzone(argv(4)); + _Nex_ExtResponseSystem_PacksStep = 1; + } + } } } // END OF URI SYSTEM //////////////////////////////////////////////////////// +void updateCheck() +{ + if(cvar("menu_updatecheck")) + { + if(!_Nex_ExtResponseSystem_Queried) + { + _Nex_ExtResponseSystem_Queried = 1; + float startcnt; + string uri; + + cvar_set("cl_startcount", ftos(startcnt = cvar("cl_startcount") + 1)); + + // for privacy, munge the start count a little + startcnt = floor((floor(startcnt / 10) + random()) * 10); + uri = sprintf("http://www.xonotic.org/dl/checkupdate.txt?version=%s&cnt=%d", uri_escape(cvar_string("g_xonoticversion")), startcnt); + +#ifdef CVAR_POPCON + float cvar_handle, popcon_handle; + float n, i, j; + string k, s; + cvar_handle = buf_create(); + buf_cvarlist(cvar_handle, "", ""); + n = buf_getsize(cvar_handle); + popcon_handle = buf_create(); + for(i= 0, j = 0; i < n; ++i) + { + k = bufstr_get(cvar_handle, i); + if(!(cvar_type(k) & CVAR_TYPEFLAG_SAVED)) + continue; + s = sprintf("%s=%d", uri_escape(k), cvar_string(k) != cvar_defstring(k)); + bufstr_set(popcon_handle, j, s); + ++j; + } + buf_del(cvar_handle); + uri_postbuf( + uri, URI_GET_UPDATENOTIFICATION, + "application/x-www-form-urlencoded", + "&", + popcon_handle + ); + buf_del(popcon_handle); +#else + uri_get(uri, URI_GET_UPDATENOTIFICATION); +#endif + } + } + + if(_Nex_ExtResponseSystem_PacksStep > 0) + { + float n, i; + float allgood; + n = tokenize_console(_Nex_ExtResponseSystem_Packs); + allgood = TRUE; + for(i = 0; i+1 < n; i += 2) + { + if(fexists(argv(i+1))) + continue; + allgood = FALSE; + if(_Nex_ExtResponseSystem_PacksStep == 1) // first run + localcmd("\ncurl --pak \"", argv(i), "\"\n"); + } + if(allgood) + { + if(_Nex_ExtResponseSystem_PacksStep == 2) + { + if(!Menu_Active) + cvar_set("_menu_initialized", "0"); + // HACK: cause m_hide call on next start + localcmd("\nmenu_restart\n"); + } + _Nex_ExtResponseSystem_PacksStep = 0; + } + else + _Nex_ExtResponseSystem_PacksStep = 2; + } + +} + float preMenuInit() { vector sz; vector boxA, boxB; + updateCheck(); + MapInfo_Cache_Create(); MapInfo_Enumerate(); if(!MapInfo_FilterGametype(MAPINFO_TYPE_ALL, 0, 0, 0, 1)) @@ -385,50 +481,7 @@ void preMenuDraw() { vector fs, sz, line, mid; - if(cvar("menu_updatecheck")) - { - if(!_Nex_ExtResponseSystem_Queried) - { - _Nex_ExtResponseSystem_Queried = 1; - float startcnt; - string uri; - - cvar_set("cl_startcount", ftos(startcnt = cvar("cl_startcount") + 1)); - - // for privacy, munge the start count a little - startcnt = floor((floor(startcnt / 10) + random()) * 10); - uri = sprintf("http://www.xonotic.org/dl/checkupdate.txt?version=%s&cnt=%d", uri_escape(cvar_string("g_xonoticversion")), startcnt); - -#ifdef CVAR_POPCON - float cvar_handle, popcon_handle; - float n, i, j; - string k, s; - cvar_handle = buf_create(); - buf_cvarlist(cvar_handle, "", ""); - n = buf_getsize(cvar_handle); - popcon_handle = buf_create(); - for(i= 0, j = 0; i < n; ++i) - { - k = bufstr_get(cvar_handle, i); - if(!(cvar_type(k) & CVAR_TYPEFLAG_SAVED)) - continue; - s = sprintf("%s=%d", uri_escape(k), cvar_string(k) != cvar_defstring(k)); - bufstr_set(popcon_handle, j, s); - ++j; - } - buf_del(cvar_handle); - uri_postbuf( - uri, URI_GET_UPDATENOTIFICATION, - "application/x-www-form-urlencoded", - "&", - popcon_handle - ); - buf_del(popcon_handle); -#else - uri_get(uri, URI_GET_UPDATENOTIFICATION); -#endif - } - } + updateCheck(); if(_Nex_ExtResponseSystem_UpdateTo != "") { @@ -565,21 +618,64 @@ float GameType_GetID(float cnt) { 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 + + unused_float = i; + 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; diff --git a/qcsrc/menu/xonotic/util.qh b/qcsrc/menu/xonotic/util.qh index 6165fb360..be13ee289 100644 --- a/qcsrc/menu/xonotic/util.qh +++ b/qcsrc/menu/xonotic/util.qh @@ -23,20 +23,16 @@ string getZonedTooltipForIdentifier(string s); string resolvemod(string m); -float URI_GET_DISCARD = 0; - -float URI_GET_UPDATENOTIFICATION = 1; void UpdateNotification_URI_Get_Callback(float id, float status, string data); -float URI_GET_CURL = 2; -float URI_GET_CURL_END = 9; -void Curl_URI_Get_Callback(float id, float status, string data); - void URI_Get_Callback(float id, float status, string data); // 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); diff --git a/qcsrc/menu/xonotic/weaponslist.c b/qcsrc/menu/xonotic/weaponslist.c index aa47110be..6790befe1 100644 --- a/qcsrc/menu/xonotic/weaponslist.c +++ b/qcsrc/menu/xonotic/weaponslist.c @@ -10,7 +10,6 @@ CLASS(XonoticWeaponsList) EXTENDS(XonoticListBox) 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); @@ -69,8 +68,13 @@ float XonoticWeaponsList_mouseDrag(entity me, vector pos) float f, i; 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) @@ -93,7 +97,10 @@ void XonoticWeaponsList_drawListBoxItem(entity me, float i, vector absSize, floa if(isSelected) draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED); e = get_weaponinfo(stof(argv(i))); - draw_Text(me.realUpperMargin * eY, e.message, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0); + string msg = e.message; + if(e.spawnflags & WEP_FLAG_MUTATORBLOCKED) + msg = sprintf(_("%s (mutator weapon)"), msg); + draw_Text(me.realUpperMargin * eY, msg, me.realFontSize, '1 1 1', SKINALPHA_TEXT, 0); } float XonoticWeaponsList_keyDown(entity me, float scan, float ascii, float shift) diff --git a/qcsrc/server/accuracy.qc b/qcsrc/server/accuracy.qc index de6b52752..f17593af9 100644 --- a/qcsrc/server/accuracy.qc +++ b/qcsrc/server/accuracy.qc @@ -62,32 +62,6 @@ void accuracy_resend(entity e) } // update accuracy stats -void accuracy_set(entity e, float w, float fired, float hit) -{ - entity a; - float b; - a = e.accuracy; - if(!a) - return; - w -= WEP_FIRST; - b = accuracy_byte(a.(accuracy_hit[w]), a.(accuracy_fired[w])); - a.(accuracy_hit[w]) = hit; - a.(accuracy_fired[w]) = fired; - - if(hit) - a.(accuracy_cnt_hit[w]) = 1; - a.(accuracy_cnt_fired[w]) = 1; - - if(b == accuracy_byte(hit, fired)) - return; - w = pow(2, w); - a.SendFlags |= w; - FOR_EACH_CLIENT(a) - if(a.classname == "spectator") - if(a.enemy == e) - a.SendFlags |= w; -} - .float hit_time; .float fired_time; @@ -95,6 +69,8 @@ void accuracy_add(entity e, float w, float fired, float hit) { entity a; float b; + if(IS_INDEPENDENT_PLAYER(e)) + return; a = e.accuracy; if(!a || !(hit || fired)) return; diff --git a/qcsrc/server/accuracy.qh b/qcsrc/server/accuracy.qh index 84488fc77..90dbb663d 100644 --- a/qcsrc/server/accuracy.qh +++ b/qcsrc/server/accuracy.qh @@ -8,7 +8,6 @@ void accuracy_free(entity e); void accuracy_resend(entity e); // update accuracy stats -void accuracy_set(entity e, float w, float fired, float hit); void accuracy_add(entity e, float w, float fired, float hit); // helper diff --git a/qcsrc/server/arena.qc b/qcsrc/server/arena.qc index c89c2b2ef..ef81fd92b 100644 --- a/qcsrc/server/arena.qc +++ b/qcsrc/server/arena.qc @@ -9,21 +9,12 @@ entity spawnqueue_first; entity spawnqueue_last; entity champion; float warmup; -float ca_teams_ok; .float caplayer; void PutObserverInServer(); void PutClientInServer(); -void(entity e) ReturnFlag; -void dom_controlpoint_setup(); -void onslaught_generator_reset(); -void onslaught_controlpoint_reset(); -void func_breakable_reset(); -void assault_objective_reset(); -void target_assault_roundend_reset(); float next_round; -float stopalivecheck; float redalive, bluealive, yellowalive, pinkalive; float totalalive; .float redalive_stat, bluealive_stat, yellowalive_stat, pinkalive_stat; @@ -56,7 +47,7 @@ void reset_map(float dorespawn) race_ReadyRestart(); for(self = world; (self = nextent(self)); ) - if(clienttype(self) == CLIENTTYPE_NOTACLIENT && self.items != IT_STRENGTH && self.items != IT_INVINCIBLE) // don't respawn strength or shield, that will only lead to them spawning very early each match + if(clienttype(self) == CLIENTTYPE_NOTACLIENT) { if(self.reset) { @@ -196,25 +187,39 @@ void Spawnqueue_Mark(entity e) * Blocks the players movement while countdown is active. * Unblocks the player once the countdown is over. * - * Called in PlayerPostThink() + * Called in StartFrame() */ float roundStartTime_prev; // prevent networkspam void Arena_Warmup() { float f; - entity e; + entity e; + if(gameover) + { + if(warmup && time < warmup) + { + FOR_EACH_REALCLIENT(e) + Send_CSQC_Centerprint_Generic_Expire(e, CPID_ROUND_STARTING); + warmup = 0; + } + if(champion && g_arena) + { + FOR_EACH_REALCLIENT(e) + centerprint(e, strcat("The Champion is ", champion.netname)); + champion = world; + } + return; + } if((!g_arena && !g_ca && !g_freezetag) || (g_arena && !arena_roundbased) || (time < game_starttime)) return; f = ceil(warmup - time); - allowed_to_spawn = 0; - if(inWarmupStage) allowed_to_spawn = 1; - if(g_ca && !ca_teams_ok) - allowed_to_spawn = 1; + else if(!g_ca) + allowed_to_spawn = 0; if(time < warmup && !inWarmupStage) { @@ -222,57 +227,60 @@ void Arena_Warmup() allowed_to_spawn = 1; if(champion && g_arena) { - FOR_EACH_PLAYER(e) + FOR_EACH_REALCLIENT(e) centerprint(e, strcat("The Champion is ", champion.netname)); } if(f != roundStartTime_prev) { roundStartTime_prev = f; - if(f == 5) - Announce("prepareforbattle"); - else if(f == 3) - Announce("3"); - else if(f == 2) - Announce("2"); - else if(f == 1) - Announce("1"); - - FOR_EACH_PLAYER(e) - Send_CSQC_Centerprint_Generic(e, CPID_ROUND_STARTING, "Round will start in %d", 1, f); + if(g_ca && !(red_players && blue_players)) { + FOR_EACH_REALCLIENT(self) + Send_CSQC_Centerprint_Generic(self, CPID_ROUND_STARTING, "^1Need at least 1 player in each team to play CA", 2, 0); + warmup = time + autocvar_g_ca_warmup; + } else { + if(f == 5) + Announce("prepareforbattle"); + else if(f == 3) + Announce("3"); + else if(f == 2) + Announce("2"); + else if(f == 1) + Announce("1"); + + FOR_EACH_REALCLIENT(e) + Send_CSQC_Centerprint_Generic(e, CPID_ROUND_STARTING, "Round will start in %d", 1, f); + } } if (g_arena) { - if(self.spawned && self.classname == "player") - self.movetype = MOVETYPE_NONE; - - self.velocity = '0 0 0'; - self.avelocity = '0 0 0'; - self.movement = '0 0 0'; + FOR_EACH_CLIENT(e) + { + if(e.spawned && e.classname == "player") + e.player_blocked = 1; + } } } else if(f > -1 && f != roundStartTime_prev) { roundStartTime_prev = f; - Announce("begin"); - FOR_EACH_PLAYER(e) - Send_CSQC_Centerprint_Generic(e, CPID_ROUND_STARTING, "^1Begin!", 1, 0); - if(g_ca) { - float start_red_ca_players, start_blue_ca_players; + if(red_players && blue_players) + allowed_to_spawn = 0; + else + reset_map(TRUE); + } else { + Announce("begin"); + FOR_EACH_REALCLIENT(e) + Send_CSQC_Centerprint_Generic(e, CPID_ROUND_STARTING, "^1Begin!", 1, 0); + } - FOR_EACH_PLAYER(e) { - if (e.team == COLOR_TEAM1) - start_red_ca_players += 1; - else if (e.team == COLOR_TEAM2) - start_blue_ca_players += 1; + if(g_arena) { + FOR_EACH_CLIENT(e) + { + if(e.player_blocked) + e.player_blocked = 0; } - // teams are ok if there's at least 1 player in each team - ca_teams_ok = (start_red_ca_players && start_blue_ca_players); } - - if(self.classname == "player" && self.health > 0 && self.movetype == MOVETYPE_NONE) - self.movetype = MOVETYPE_WALK; - } // clear champion to avoid centerprinting again the champion msg @@ -372,61 +380,49 @@ void count_alive_players() * * Gets called in StartFrame() */ -float warntime; void Spawnqueue_Check() { - count_players(); - if(g_ca || g_freezetag) // we want to perform this before the return block below (CA)... + if(warmup == 0 && g_ca && !inWarmupStage) { - count_alive_players(); + if(red_players || blue_players) + reset_map(TRUE); + return; } if(time < warmup + 1 || inWarmupStage || intermission_running) return; if(g_ca) { - if(!ca_teams_ok && (red_players && blue_players)) { - reset_map(TRUE); - } - else if(!ca_teams_ok) { - if (time > warntime) - { - FOR_EACH_PLAYER(self) - Send_CSQC_Centerprint_Generic(self, CPID_ROUND_STARTING, "^1Need at least 1 player in each team to play CA", 2, 0); - warntime = time + 1; - } + if(allowed_to_spawn) // round is not started yet return; - } - else if(!next_round) { - if((red_players && !blue_players) || (blue_players && !red_players)) { - next_round = time + 5; + if(!next_round) { + if(!(redalive && bluealive)) { + // every player of (at least) one team is dead, round ends here + if(redalive) { + play2all("ctf/red_capture.wav"); + FOR_EACH_CLIENT(self) centerprint(self, "^1RED ^7team wins the round"); + TeamScore_AddToTeam(COLOR_TEAM1, ST_SCORE, +1); + } + else if(bluealive) { + play2all("ctf/blue_capture.wav"); + FOR_EACH_CLIENT(self) centerprint(self, "^4BLUE ^7team wins the round"); + TeamScore_AddToTeam(COLOR_TEAM2, ST_SCORE, +1); + } + else + FOR_EACH_CLIENT(self) centerprint(self, "^7Round tied"); + next_round = -1; } - else if((!red_players && !blue_players) || time - warmup > autocvar_g_ca_round_timelimit) { + else if(time - warmup > autocvar_g_ca_round_timelimit) { FOR_EACH_CLIENT(self) centerprint(self, "^7Round tied"); next_round = time + 5; } - } - if(!stopalivecheck) - { - if(redalive && !bluealive) - { - play2all("ctf/red_capture.wav"); - FOR_EACH_CLIENT(self) centerprint(self, "^1RED ^7team wins the round"); - TeamScore_AddToTeam(COLOR_TEAM1, ST_SCORE, +1); - stopalivecheck = TRUE; - } - else if(bluealive && !redalive) - { - play2all("ctf/blue_capture.wav"); - FOR_EACH_CLIENT(self) centerprint(self, "^4BLUE ^7team wins the round"); - TeamScore_AddToTeam(COLOR_TEAM2, ST_SCORE, +1); - stopalivecheck = TRUE; - } + else if(next_round == -1) { + // wait for killed players to be put as spectators + if(!(red_players && blue_players)) + next_round = time + 5; } - - if((next_round && next_round < time)) + else if((next_round > 0 && next_round < time)) { - stopalivecheck = FALSE; next_round = 0; reset_map(TRUE); } diff --git a/qcsrc/server/attic/nexball.qc b/qcsrc/server/attic/nexball.qc new file mode 100644 index 000000000..a068a33a5 --- /dev/null +++ b/qcsrc/server/attic/nexball.qc @@ -0,0 +1,738 @@ +//EF_BRIGHTFIELD|EF_BRIGHTLIGHT|EF_DIMLIGHT|EF_BLUE|EF_RED|EF_FLAME +#define BALL_EFFECTMASK 1229 +#define BALL_MINS '-16 -16 -16' // The model is 24*24*24 +#define BALL_MAXS '16 16 16' +#define BALL_ATTACHORG '3 0 16' +#define BALL_SPRITECOLOR '.91 .85 .62' +#define BALL_FOOT 1 +#define BALL_BASKET 2 +//spawnflags +#define GOAL_TOUCHPLAYER 1 +//goal types +#define GOAL_FAULT -1 +#define GOAL_OUT -2 + +#define CVTOV(s) s = cvar( #s ) + +float g_nexball_football_boost_forward; +float g_nexball_football_boost_up; +float g_nexball_football_physics; +float g_nexball_delay_idle; +float g_nexball_basketball_delay_hold; +float g_nexball_basketball_delay_hold_forteam; +float g_nexball_basketball_effects_default; +float g_nexball_basketball_teamsteal; +float balls; +float ball_scale; +float nb_teams; + +.float teamtime; + +void nb_delayedinit(); +void nb_init() // Called early (worldspawn stage) +{ + CVTOV(g_nexball_meter_period); //sent with the client init entity + if (g_nexball_meter_period <= 0) + g_nexball_meter_period = 2; // avoid division by zero etc. due to silly users + g_nexball_meter_period = rint(g_nexball_meter_period * 32) / 32; //Round to 1/32ths to send as a byte multiplied by 32 + addstat(STAT_NB_METERSTART, AS_FLOAT, metertime); + + // General settings + CVTOV(g_nexball_football_boost_forward); //100 + CVTOV(g_nexball_football_boost_up); //200 + CVTOV(g_nexball_delay_idle); //10 + CVTOV(g_nexball_football_physics); //0 + + radar_showennemies = autocvar_g_nexball_radar_showallplayers; + + InitializeEntity(world, nb_delayedinit, INITPRIO_GAMETYPE); +} + +float OtherTeam(float t) //works only if there are two teams on the map! +{ + entity e; + e = find(world, classname, "nexball_team"); + if (e.team == t) + e = find(e, classname, "nexball_team"); + return e.team; +} + +void ResetBall(); + +void LogNB(string mode, entity actor) +{ + string s; + if(!autocvar_sv_eventlog) + return; + s = strcat(":nexball:", mode); + if(actor != world) + s = strcat(s, ":", ftos(actor.playerid)); + GameLogEcho(s); +} + +void ball_restart (void) +{ + if(self.owner) + DropBall(self, self.owner.origin, '0 0 0'); + ResetBall(); +} + +void nexball_setstatus (void) +{ + entity oldself; + self.items &~= IT_KEY1; + if (self.ballcarried) + { + if (self.ballcarried.teamtime && (self.ballcarried.teamtime < time)) + { + bprint("The ", ColoredTeamName(self.team), " held the ball for too long.\n"); + oldself = self; + self = self.ballcarried; + DropBall(self, self.owner.origin, '0 0 0'); + ResetBall(); + self = oldself; + } else + self.items |= IT_KEY1; + } +} + +void relocate_nexball (void) +{ + tracebox(self.origin, BALL_MINS, BALL_MAXS, self.origin, TRUE, self); + if (trace_startsolid) + { + vector o; + o = self.origin; + if(!move_out_of_solid(self)) + objerror("could not get out of solid at all!"); + print("^1NOTE: this map needs FIXING. ", self.classname, " at ", vtos(o - '0 0 1')); + print(" needs to be moved out of solid, e.g. by '", ftos(self.origin_x - o_x)); + print(" ", ftos(self.origin_y - o_y)); + print(" ", ftos(self.origin_z - o_z), "'\n"); + self.origin = o; + } +} + +void basketball_touch(); +void football_touch(); + +void DropOwner (void) +{ + entity ownr; + ownr = self.owner; + DropBall(self, ownr.origin, ownr.velocity); + makevectors(ownr.v_angle_y * '0 1 0'); + ownr.velocity += ('0 0 0.75' - v_forward) * 1000; + ownr.flags &~= FL_ONGROUND; +} + +void GiveBall (entity plyr, entity ball) +{ + entity ownr; + + if ((ownr = ball.owner)) + { + ownr.effects &~= g_nexball_basketball_effects_default; + ownr.ballcarried = world; + if (ownr.metertime) + { + ownr.metertime = 0; + ownr.weaponentity.state = WS_READY; + } + WaypointSprite_Kill(ownr.waypointsprite_attachedforcarrier); + } + else + { + WaypointSprite_Kill(ball.waypointsprite_attachedforcarrier); + } + + setattachment(ball, plyr, ""); + setorigin(ball, BALL_ATTACHORG); + + if (ball.team != plyr.team) + ball.teamtime = time + g_nexball_basketball_delay_hold_forteam; + + ball.owner = ball.pusher = plyr; //"owner" is set to the player carrying, "pusher" to the last player who touched it + ball.team = plyr.team; + plyr.ballcarried = ball; + ball.dropperid = plyr.playerid; + + plyr.effects |= g_nexball_basketball_effects_default; + ball.effects &~= g_nexball_basketball_effects_default; + + ball.velocity = '0 0 0'; + ball.movetype = MOVETYPE_NONE; + ball.touch = SUB_Null; + ball.effects |= EF_NOSHADOW; + ball.scale = 1; // scale down. + + WaypointSprite_AttachCarrier("nb-ball", plyr, RADARICON_FLAGCARRIER, BALL_SPRITECOLOR); + WaypointSprite_UpdateRule(plyr.waypointsprite_attachedforcarrier, 0, SPRITERULE_DEFAULT); + + if (g_nexball_basketball_delay_hold) + { + ball.think = DropOwner; + ball.nextthink = time + g_nexball_basketball_delay_hold; + } +} + +void DropBall (entity ball, vector org, vector vel) +{ + ball.effects |= g_nexball_basketball_effects_default; + ball.effects &~= EF_NOSHADOW; + ball.owner.effects &~= g_nexball_basketball_effects_default; + + setattachment(ball, world, ""); + setorigin (ball, org); + ball.movetype = MOVETYPE_BOUNCE; + ball.flags &~= FL_ONGROUND; + ball.scale = ball_scale; + ball.velocity = vel; + ball.ctf_droptime = time; + ball.touch = basketball_touch; + ball.think = ResetBall; + ball.nextthink = min(time + g_nexball_delay_idle, ball.teamtime); + + if (ball.owner.metertime) + { + ball.owner.metertime = 0; + ball.owner.weaponentity.state = WS_READY; + } + + WaypointSprite_Kill(ball.owner.waypointsprite_attachedforcarrier); + WaypointSprite_Spawn("nb-ball", 0, 0, ball, '0 0 64', world, ball.team, ball, waypointsprite_attachedforcarrier, FALSE, RADARICON_FLAGCARRIER, BALL_SPRITECOLOR); // no health bar please + WaypointSprite_UpdateRule(ball.waypointsprite_attachedforcarrier, 0, SPRITERULE_DEFAULT); + + ball.owner.ballcarried = world; + ball.owner = world; +} + +void InitBall (void) +{ + if (gameover) return; + self.flags &~= FL_ONGROUND; + self.movetype = MOVETYPE_BOUNCE; + if (self.classname == "nexball_basketball") + self.touch = basketball_touch; + else if (self.classname == "nexball_football") + self.touch = football_touch; + self.cnt = 0; + self.think = ResetBall; + self.nextthink = time + g_nexball_delay_idle + 3; + self.teamtime = 0; + self.pusher = world; + self.team = FALSE; + sound (self, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM); + WaypointSprite_Ping(self.waypointsprite_attachedforcarrier); + LogNB("init", world); +} + +void ResetBall (void) +{ + if (self.cnt < 2) { // step 1 + if (time == self.teamtime) + bprint("The ", ColoredTeamName(self.team), " held the ball for too long.\n"); + self.touch = SUB_Null; + self.movetype = MOVETYPE_NOCLIP; + self.velocity = '0 0 0'; // just in case? + if(!self.cnt) + LogNB("resetidle", world); + self.cnt = 2; + self.nextthink = time; + } else if (self.cnt < 4) { // step 2 and 3 +// dprint("Step ", ftos(self.cnt), ": Calculated velocity: ", vtos(self.spawnorigin - self.origin), ", time: ", ftos(time), "\n"); + self.velocity = (self.spawnorigin - self.origin) * (self.cnt - 1); // 1 or 0.5 second movement + self.nextthink = time + 0.5; + self.cnt += 1; + } else { // step 4 +// dprint("Step 4: time: ", ftos(time), "\n"); + if (vlen(self.origin - self.spawnorigin) > 10) // should not happen anymore + dprint("The ball moved too far away from its spawn origin.\nOffset: ", + vtos(self.origin - self.spawnorigin), " Velocity: ", vtos(self.velocity), "\n"); + self.velocity = '0 0 0'; + setorigin(self, self.spawnorigin); // make sure it's positioned correctly anyway + self.movetype = MOVETYPE_NONE; + self.think = InitBall; + self.nextthink = max(time, game_starttime) + autocvar_g_nexball_delay_start; + } +} + +void football_touch (void) +{ + if (other.solid == SOLID_BSP) { + if (time > self.lastground + 0.1) + { + sound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); + self.lastground = time; + } + if (vlen(self.velocity) && !self.cnt) + self.nextthink = time + g_nexball_delay_idle; + return; + } + if (other.classname != "player") + return; + if (other.health < 1) + return; + if (!self.cnt) + self.nextthink = time + g_nexball_delay_idle; + + self.pusher = other; + self.team = other.team; + + if (g_nexball_football_physics == -1) { // MrBougo try 1, before decompiling Rev's original + if (vlen(other.velocity)) + self.velocity = other.velocity * 1.5 + '0 0 1' * g_nexball_football_boost_up; + } else if (g_nexball_football_physics == 1) { // MrBougo's modded Rev style: partially independant of the height of the aiming point + makevectors(other.v_angle); + self.velocity = other.velocity + v_forward * g_nexball_football_boost_forward + '0 0 1' * g_nexball_football_boost_up; + } else if (g_nexball_football_physics == 2) { // 2nd mod try: totally independant. Really playable! + makevectors(other.v_angle_y * '0 1 0'); + self.velocity = other.velocity + v_forward * g_nexball_football_boost_forward + v_up * g_nexball_football_boost_up; + } else { // Revenant's original style (from the original mod's disassembly, acknowledged by Revenant) + makevectors(other.v_angle); + self.velocity = other.velocity + v_forward * g_nexball_football_boost_forward + v_up * g_nexball_football_boost_up; + } + self.avelocity = -250 * v_forward; // maybe there is a way to make it look better? +} + +void basketball_touch (void) +{ + if (other.ballcarried) + { + football_touch(); + return; + } + if (!self.cnt && other.classname == "player" && (other.playerid != self.dropperid || time > self.ctf_droptime + autocvar_g_nexball_delay_collect)) { + if (other.health <= 0) + return; + LogNB("caught", other); + GiveBall(other, self); + } else if (other.solid == SOLID_BSP) { + sound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); + if (vlen(self.velocity) && !self.cnt) + self.nextthink = min(time + g_nexball_delay_idle, self.teamtime); + } +} + +void GoalTouch (void) +{ + entity ball; + float isclient, pscore, otherteam; + string pname; + + if (gameover) return; + if ((self.spawnflags & GOAL_TOUCHPLAYER) && other.ballcarried) + ball = other.ballcarried; + else + ball = other; + if (ball.classname != "nexball_basketball") + if (ball.classname != "nexball_football") + return; + if ((!ball.pusher && self.team != GOAL_OUT) || ball.cnt) + return; + EXACTTRIGGER_TOUCH; + + + if(nb_teams == 2) + otherteam = OtherTeam(ball.team); + + if((isclient = ball.pusher.flags & FL_CLIENT)) + pname = ball.pusher.netname; + else + pname = "Someone (?)"; + + if (ball.team == self.team) //owngoal (regular goals) + { + LogNB("owngoal", ball.pusher); + bprint("Boo! ", pname, "^7 scored a goal against their own team!\n"); + pscore = -1; + } else if (self.team == GOAL_FAULT) { + LogNB("fault", ball.pusher); + if (nb_teams == 2) + bprint(ColoredTeamName(otherteam), " gets a point due to ", pname, "^7's silliness.\n"); + else + bprint(ColoredTeamName(ball.team), " loses a point due to ", pname, "^7's silliness.\n"); + pscore = -1; + } else if (self.team == GOAL_OUT) { + LogNB("out", ball.pusher); + if ((self.spawnflags & GOAL_TOUCHPLAYER) && ball.owner) + bprint(pname, "^7 went out of bounds.\n"); + else + bprint("The ball was returned.\n"); + pscore = 0; + } else { //score + LogNB(strcat("goal:", ftos(self.team)), ball.pusher); + bprint("Goaaaaal! ", pname, "^7 scored a point for the ", ColoredTeamName(ball.team), ".\n"); + pscore = 1; + } + + sound (ball, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NONE); + + if(ball.team && pscore) + { + if (nb_teams == 2 && pscore < 0) + TeamScore_AddToTeam(otherteam, ST_NEXBALL_GOALS, -pscore); + else + TeamScore_AddToTeam(ball.team, ST_NEXBALL_GOALS, pscore); + } + if (isclient) + { + if (pscore > 0) + PlayerScore_Add(ball.pusher, SP_NEXBALL_GOALS, pscore); + else if (pscore < 0) + PlayerScore_Add(ball.pusher, SP_NEXBALL_FAULTS, -pscore); + } + + if (ball.owner) // Happens on spawnflag GOAL_TOUCHPLAYER + DropBall(ball, ball.owner.origin, ball.owner.velocity); + + WaypointSprite_Ping(ball.waypointsprite_attachedforcarrier); + + ball.cnt = 1; + ball.think = ResetBall; + if (ball.classname == "nexball_basketball") + ball.touch = football_touch; // better than SUB_Null: football control until the ball gets reset + ball.nextthink = time + autocvar_g_nexball_delay_goal * (self.team != GOAL_OUT); +} + +//=======================// +// team ents // +//=======================// +void spawnfunc_nexball_team (void) +{ + if(!g_nexball) { remove(self); return; } + self.team = self.cnt + 1; +} + +void nb_spawnteam (string teamname, float teamcolor) +{ + dprint("^2spawned team ", teamname, "\n"); + entity e; + e = spawn(); + e.classname = "nexball_team"; + e.netname = teamname; + e.cnt = teamcolor; + e.team = e.cnt + 1; + nb_teams += 1; +} + +void nb_spawnteams (void) +{ + float t_r, t_b, t_y, t_p; + entity e; + for(e = world; (e = find(e, classname, "nexball_goal")); ) + { + switch(e.team) + { + case COLOR_TEAM1: if(!t_r) { nb_spawnteam ("Red", e.team-1) ; t_r = 1; } break; + case COLOR_TEAM2: if(!t_b) { nb_spawnteam ("Blue", e.team-1) ; t_b = 1; } break; + case COLOR_TEAM3: if(!t_y) { nb_spawnteam ("Yellow", e.team-1); t_y = 1; } break; + case COLOR_TEAM4: if(!t_p) { nb_spawnteam ("Pink", e.team-1) ; t_p = 1; } break; + } + } +} + +void nb_delayedinit (void) +{ + if (find(world, classname, "nexball_team") == world) + nb_spawnteams(); + ScoreRules_nexball(nb_teams); +} + + +//=======================// +// spawnfuncs // +//=======================// + +void SpawnBall (void) +{ + if(!g_nexball) { remove(self); return; } + +// balls += 4; // using the remaining bits to count balls will leave more than the max edict count, so it's fine + + if (!self.model) { + self.model = "models/nexball/ball.md3"; + self.scale = 1.3; + } + + precache_model (self.model); + setmodel (self, self.model); + setsize (self, BALL_MINS, BALL_MAXS); + ball_scale = self.scale; + + relocate_nexball(); + self.spawnorigin = self.origin; + + self.effects = self.effects | EF_LOWPRECISION; + + if (cvar(strcat("g_", self.classname, "_trail"))) //nexball_basketball :p + { + self.glow_color = autocvar_g_nexball_trail_color; + self.glow_trail = TRUE; + } + + self.movetype = MOVETYPE_FLY; + + if (!autocvar_g_nexball_sound_bounce) + self.noise = ""; + else if (!self.noise) + self.noise = "sound/nexball/bounce.wav"; + //bounce sound placeholder (FIXME) + if (!self.noise1) + self.noise1 = "sound/nexball/drop.wav"; + //ball drop sound placeholder (FIXME) + if (!self.noise2) + self.noise2 = "sound/nexball/steal.wav"; + //stealing sound placeholder (FIXME) + if (self.noise) precache_sound (self.noise); + precache_sound (self.noise1); + precache_sound (self.noise2); + + WaypointSprite_AttachCarrier("nb-ball", self, RADARICON_FLAGCARRIER, BALL_SPRITECOLOR); // the ball's team is not set yet, no rule update needed + + self.reset = ball_restart; + self.think = InitBall; + self.nextthink = game_starttime + autocvar_g_nexball_delay_start; +} + +void spawnfunc_nexball_basketball (void) +{ + self.classname = "nexball_basketball"; + if not(balls & BALL_BASKET) + { + CVTOV(g_nexball_basketball_effects_default); + CVTOV(g_nexball_basketball_delay_hold); + CVTOV(g_nexball_basketball_delay_hold_forteam); + CVTOV(g_nexball_basketball_teamsteal); + g_nexball_basketball_effects_default = g_nexball_basketball_effects_default & BALL_EFFECTMASK; + } + if (!self.effects) + self.effects = g_nexball_basketball_effects_default; + self.solid = SOLID_TRIGGER; + balls |= BALL_BASKET; + self.bouncefactor = autocvar_g_nexball_basketball_bouncefactor; + self.bouncestop = autocvar_g_nexball_basketball_bouncestop; + SpawnBall(); +} + +void spawnfunc_nexball_football (void) +{ + self.classname = "nexball_football"; + self.solid = SOLID_TRIGGER; + balls |= BALL_FOOT; + self.bouncefactor = autocvar_g_nexball_football_bouncefactor; + self.bouncestop = autocvar_g_nexball_football_bouncestop; + SpawnBall(); +} + +void SpawnGoal (void) +{ + if(!g_nexball) { remove(self); return; } + EXACTTRIGGER_INIT; + self.classname = "nexball_goal"; + if (!self.noise) + self.noise = "ctf/respawn.wav"; + precache_sound(self.noise); + self.touch = GoalTouch; +} + +void spawnfunc_nexball_redgoal (void) +{ + self.team = COLOR_TEAM1; + SpawnGoal(); +} +void spawnfunc_nexball_bluegoal (void) +{ + self.team = COLOR_TEAM2; + SpawnGoal(); +} +void spawnfunc_nexball_yellowgoal (void) +{ + self.team = COLOR_TEAM3; + SpawnGoal(); +} +void spawnfunc_nexball_pinkgoal (void) +{ + self.team = COLOR_TEAM4; + SpawnGoal(); +} + +void spawnfunc_nexball_fault (void) +{ + self.team = GOAL_FAULT; + if (!self.noise) + self.noise = "misc/typehit.wav"; + SpawnGoal(); +} + +void spawnfunc_nexball_out (void) +{ + self.team = GOAL_OUT; + if (!self.noise) + self.noise = "misc/typehit.wav"; + SpawnGoal(); +} + +// +//Spawnfuncs preserved for compatibility +// + +void spawnfunc_ball (void) { spawnfunc_nexball_football(); } +void spawnfunc_ball_football (void) { spawnfunc_nexball_football(); } +void spawnfunc_ball_basketball (void) { spawnfunc_nexball_basketball(); } +// The "red goal" is defended by blue team. A ball in there counts as a point for red. +void spawnfunc_ball_redgoal (void) { spawnfunc_nexball_bluegoal(); } // I blame Revenant +void spawnfunc_ball_bluegoal (void) { spawnfunc_nexball_redgoal(); } // but he didn't mean to cause trouble :p +void spawnfunc_ball_fault (void) { spawnfunc_nexball_fault(); } +void spawnfunc_ball_bound (void) { spawnfunc_nexball_out(); } + +//=======================// +// Weapon code // +//=======================// + +void W_Nexball_Touch (void) +{ + entity ball, attacker; + attacker = self.owner; + + PROJECTILE_TOUCH; + if(attacker.team != other.team || g_nexball_basketball_teamsteal) + if((ball = other.ballcarried) && (attacker.classname == "player")) + { + other.velocity = other.velocity + normalize(self.velocity) * other.damageforcescale * autocvar_g_balance_nexball_secondary_force; + other.flags &~= FL_ONGROUND; + if(!attacker.ballcarried) + { + LogNB("stole", attacker); + sound (other, CH_TRIGGER, ball.noise2, VOL_BASE, ATTN_NORM); + + if(attacker.team == other.team && time > attacker.teamkill_complain) + { + attacker.teamkill_complain = time + 5; + attacker.teamkill_soundtime = time + 0.4; + attacker.teamkill_soundsource = other; + } + + GiveBall(attacker, other.ballcarried); + } + } + remove(self); +} + +void W_Nexball_Attack (float t) +{ + entity ball; + float mul, mi, ma; + if (!(ball = self.ballcarried)) + return; + + W_SetupShot (self, FALSE, 4, "nexball/shoot1.wav", CH_WEAPON_A, 0); + tracebox(w_shotorg, BALL_MINS, BALL_MAXS, w_shotorg, MOVE_WORLDONLY, world); + if(trace_startsolid) + { + if(self.metertime) + self.metertime = 0; // Shot failed, hide the power meter + return; + } + + //Calculate multiplier + if (t < 0) + mul = 1; + else + { + mi = autocvar_g_nexball_basketball_meter_minpower; + ma = max(mi, autocvar_g_nexball_basketball_meter_maxpower); // avoid confusion + //One triangle wave period with 1 as max + mul = 2 * mod(t, g_nexball_meter_period) / g_nexball_meter_period; + if (mul > 1) + mul = 2 - mul; + mul = mi + (ma - mi) * mul; // range from the minimal power to the maximal power + } + DropBall (ball, w_shotorg, W_CalculateProjectileVelocity(self.velocity, w_shotdir * autocvar_g_balance_nexball_primary_speed * mul, FALSE)); + //TODO: use the speed_up cvar too ?? +} + +void W_Nexball_Attack2 (void) +{ + entity missile; + if (!(balls & BALL_BASKET)) + return; + W_SetupShot (self, FALSE, 2, "nexball/shoot2.wav", CH_WEAPON_A, 0); +// pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1); + missile = spawn (); + + missile.owner = self; + missile.classname = "ballstealer"; + + missile.movetype = MOVETYPE_FLY; + PROJECTILE_MAKETRIGGER(missile); + + setmodel (missile, "models/elaser.mdl"); // precision set below + setsize (missile, '0 0 0', '0 0 0'); + setorigin (missile, w_shotorg); + + W_SetupProjectileVelocity(missile, autocvar_g_balance_nexball_secondary_speed, 0); + missile.angles = vectoangles (missile.velocity); + missile.touch = W_Nexball_Touch; + missile.think = SUB_Remove; + missile.nextthink = time + autocvar_g_balance_nexball_secondary_lifetime; //FIXME: use a distance instead? + + missile.effects = EF_BRIGHTFIELD | EF_LOWPRECISION; + missile.flags = FL_PROJECTILE; +} + +float w_nexball_weapon(float req) +{ + if (req == WR_THINK) + { + if (self.BUTTON_ATCK) + if (weapon_prepareattack(0, autocvar_g_balance_nexball_primary_refire)) + if (autocvar_g_nexball_basketball_meter) + { + if (self.ballcarried && !self.metertime) + self.metertime = time; + else + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready); + } + else + { + W_Nexball_Attack(-1); + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready); + } + if (self.BUTTON_ATCK2) + if (weapon_prepareattack(1, autocvar_g_balance_nexball_secondary_refire)) + { + W_Nexball_Attack2(); + weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_nexball_secondary_animtime, w_ready); + } + + if (!self.BUTTON_ATCK && self.metertime && self.ballcarried) + { + W_Nexball_Attack(time - self.metertime); + // DropBall or stealing will set metertime back to 0 + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready); + } + } + else if (req == WR_PRECACHE) + { + precache_model ("models/weapons/g_porto.md3"); + precache_model ("models/weapons/v_porto.md3"); + precache_model ("models/weapons/h_porto.iqm"); + precache_model ("models/elaser.mdl"); + precache_sound ("nexball/shoot1.wav"); + precache_sound ("nexball/shoot2.wav"); + precache_sound ("misc/typehit.wav"); + } + else if (req == WR_SETUP) + weapon_setup(WEP_PORTO); + else if (req == WR_SUICIDEMESSAGE) + { + w_deathtypestring = "is a weirdo"; + } + else if (req == WR_KILLMESSAGE) + { + w_deathtypestring = "got killed by #'s black magic"; + } + // No need to check WR_CHECKAMMO* or WR_AIM, it should always return TRUE + return TRUE; +} diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index a57590204..dbb790a88 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -1,5 +1,6 @@ float autocvar__notarget; float autocvar__independent_players; +float autocvar__campaign_testrun; float autocvar__campaign_index; string autocvar__campaign_name; float autocvar__sv_init; @@ -236,7 +237,6 @@ float autocvar_g_balance_falldamage_deadminspeed; 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; @@ -255,7 +255,6 @@ float autocvar_g_balance_fireball_primary_radius; 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; @@ -268,8 +267,6 @@ float autocvar_g_balance_fireball_secondary_lifetime; 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; @@ -561,6 +558,11 @@ float autocvar_g_balance_porto_primary_animtime; 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; @@ -568,6 +570,7 @@ float autocvar_g_balance_powerup_strength_force; float autocvar_g_balance_powerup_strength_selfdamage; float autocvar_g_balance_powerup_strength_selfforce; float autocvar_g_balance_powerup_strength_time; +float autocvar_g_balance_superweapons_time; float autocvar_g_balance_rocketlauncher_ammo; float autocvar_g_balance_rocketlauncher_animtime; float autocvar_g_balance_rocketlauncher_damage; @@ -898,10 +901,10 @@ float autocvar_g_nexball_goalleadlimit; float autocvar_g_nexball_radar_showallplayers; float autocvar_g_nexball_sound_bounce; float autocvar_g_nexball_trail_color; -float autocvar_g_nick_flood_penalty; +//float autocvar_g_nick_flood_penalty; float autocvar_g_nick_flood_penalty_red; float autocvar_g_nick_flood_penalty_yellow; -float autocvar_g_nick_flood_timeout; +//float autocvar_g_nick_flood_timeout; float autocvar_g_nix_with_healtharmor; float autocvar_g_nix_with_laser; float autocvar_g_nix_with_powerups; @@ -925,6 +928,7 @@ float autocvar_g_playerclip_collisions; string autocvar_g_playerstats_uri; float autocvar_g_powerups; float autocvar_g_projectiles_damage; +float autocvar_g_projectiles_keep_owner; float autocvar_g_projectiles_newton_style; float autocvar_g_projectiles_newton_style_2_maxfactor; float autocvar_g_projectiles_newton_style_2_minfactor; @@ -975,8 +979,15 @@ float autocvar_g_telefrags; float autocvar_g_telefrags_avoid; float autocvar_g_telefrags_teamplay; float autocvar_g_teleport_maxspeed; +float autocvar_g_throughfloor_debug; float autocvar_g_throughfloor_damage; float autocvar_g_throughfloor_force; +float autocvar_g_throughfloor_damage_max_stddev; +float autocvar_g_throughfloor_force_max_stddev; +float autocvar_g_throughfloor_min_steps_player; +float autocvar_g_throughfloor_max_steps_player; +float autocvar_g_throughfloor_min_steps_other; +float autocvar_g_throughfloor_max_steps_other; float autocvar_g_triggerimpulse_accel_multiplier; float autocvar_g_triggerimpulse_accel_power; float autocvar_g_triggerimpulse_directional_multiplier; @@ -1024,6 +1035,7 @@ float autocvar_g_turrets_unit_walker_turn_strafe; float autocvar_g_turrets_unit_walker_turn_swim; float autocvar_g_use_ammunition; float autocvar_g_waypointeditor; +float autocvar_g_waypointeditor_auto; float autocvar_g_waypoints_for_items; float autocvar_g_weapon_charge_colormod_blue_full; float autocvar_g_weapon_charge_colormod_blue_half; @@ -1049,6 +1061,7 @@ float autocvar_minplayers; string autocvar_nextmap; float autocvar_prvm_backtraceforwarnings; string autocvar_quit_and_redirect; +float autocvar_quit_and_redirect_timer; float autocvar_quit_when_empty; float autocvar_r_showbboxes; float autocvar_rescan_pending; @@ -1104,10 +1117,10 @@ float autocvar_sv_eventlog_files_counter; string autocvar_sv_eventlog_files_nameprefix; string autocvar_sv_eventlog_files_namesuffix; float autocvar_sv_eventlog_files_timestamps; +float autocvar_sv_fraginfo; float autocvar_sv_fraginfo_handicap; float autocvar_sv_fraginfo_ping; float autocvar_sv_fraginfo_stats; -float autocvar_sv_fraginfo_typefrag; float autocvar_sv_friction; float autocvar_sv_friction_on_land; float autocvar_sv_gameplayfix_q2airaccelerate; @@ -1159,7 +1172,7 @@ string autocvar_sv_vote_master_password; float autocvar_sv_vote_master_playerlimit; float autocvar_sv_vote_no_stops_vote; float autocvar_sv_vote_nospectators; -string autocvar_sv_vote_only_commands; +//string autocvar_sv_vote_only_commands; float autocvar_sv_vote_override_mostrecent; float autocvar_sv_vote_singlecount; float autocvar_sv_vote_stop; @@ -1209,3 +1222,5 @@ float autocvar_g_sandbox_object_scale_min; 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; +float autocvar_physics_ode; diff --git a/qcsrc/server/bot/bot.qc b/qcsrc/server/bot/bot.qc index 1658d7fac..b06d578d1 100644 --- a/qcsrc/server/bot/bot.qc +++ b/qcsrc/server/bot/bot.qc @@ -128,7 +128,10 @@ void bot_setnameandstuff() file = fopen(autocvar_bot_config_file, FILE_READ); if(file < 0) + { print(strcat("Error: Can not open the bot configuration file '",autocvar_bot_config_file,"'\n")); + readfile = ""; + } else { RandomSelection_Init(); @@ -633,7 +636,7 @@ void bot_serverframe() localcmd("quit\n"); } - if (currentbots > 0 || autocvar_g_waypointeditor) + if (currentbots > 0 || autocvar_g_waypointeditor || autocvar_g_waypointeditor_auto) if (botframe_spawnedwaypoints) { if(botframe_cachedwaypointlinks) @@ -685,6 +688,9 @@ void bot_serverframe() if (autocvar_g_waypointeditor) botframe_showwaypointlinks(); + if (autocvar_g_waypointeditor_auto) + botframe_autowaypoints(); + if(time > bot_cvar_nextthink) { if(currentbots>0) diff --git a/qcsrc/server/bot/havocbot/havocbot.qc b/qcsrc/server/bot/havocbot/havocbot.qc index 3aefc45a7..e03cbac66 100644 --- a/qcsrc/server/bot/havocbot/havocbot.qc +++ b/qcsrc/server/bot/havocbot/havocbot.qc @@ -94,7 +94,7 @@ void havocbot_ai() self.aistatus |= AI_STATUS_ATTACKING; self.aistatus &~= AI_STATUS_ROAMING; - if(self.weapons) + if(!WEPSET_EMPTY_E(self)) { weapon_action(self.weapon, WR_AIM); if (autocvar_bot_nofire || IS_INDEPENDENT_PLAYER(self)) @@ -168,7 +168,7 @@ void havocbot_ai() for(i = WEP_FIRST; i <= WEP_LAST; ++i) { e = get_weaponinfo(i); - if ((self.weapons & W_WeaponBit(i)) && (e.spawnflags & WEP_FLAG_RELOADABLE) && (self.weapon_load[i] < cvar(strcat("g_balance_", e.netname, "_reload_ammo")))) + if (WEPSET_CONTAINS_EW(self, i) && (e.spawnflags & WEP_FLAG_RELOADABLE) && (self.weapon_load[i] < cvar(strcat("g_balance_", e.netname, "_reload_ammo")))) self.switchweapon = i; } } @@ -493,8 +493,8 @@ void havocbot_movetogoal() { if(fabs(self.velocity_z)<50) { - entity head, newgoal; - float distance, bestdistance; + entity head, newgoal = world; + float distance, bestdistance = 0; for (head = findchain(classname, "waypoint"); head; head = head.chain) { @@ -908,7 +908,7 @@ void havocbot_chooseenemy() self.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE; - for(;;) + for(i = 0; ; ++i) { while (head) { @@ -930,7 +930,7 @@ void havocbot_chooseenemy() // I want to do a second scan if no enemy was found or I don't have weapons // TODO: Perform the scan when using the rifle (requires changes on the rifle code) - if(best || self.weapons) // || self.weapon == WEP_RIFLE + if(best || !WEPSET_EMPTY_E(self)) // || self.weapon == WEP_RIFLE break; if(i) break; @@ -939,7 +939,6 @@ void havocbot_chooseenemy() self.dphitcontentsmask |= DPCONTENTS_OPAQUE; head = head2; - ++i; } // Restore hit flags @@ -960,7 +959,7 @@ float havocbot_chooseweapon_checkreload(float new_weapon) // if this weapon is scheduled for reloading, don't switch to it during combat if (self.weapon_load[new_weapon] < 0) { - float i, other_weapon_available; + float i, other_weapon_available = FALSE; for(i = WEP_FIRST; i <= WEP_LAST; ++i) { // if we are out of ammo for all other weapons, it's an emergency to switch to anything else @@ -979,7 +978,7 @@ void havocbot_chooseweapon() float i; // ;) - if(g_weaponarena == WEPBIT_TUBA) + if(WEPSET_EQ_AW(g_weaponarena_weapons, WEP_TUBA)) { self.switchweapon = WEP_TUBA; return; diff --git a/qcsrc/server/bot/havocbot/role_ctf.qc b/qcsrc/server/bot/havocbot/role_ctf.qc index 74c611ea1..178ee0da6 100644 --- a/qcsrc/server/bot/havocbot/role_ctf.qc +++ b/qcsrc/server/bot/havocbot/role_ctf.qc @@ -60,7 +60,7 @@ float havocbot_ctf_teamcount(entity bot, vector org, float radius) if not(teamplay) return 0; - float c; + float c = 0; entity head; FOR_EACH_PLAYER(head) @@ -562,9 +562,8 @@ void havocbot_role_ctf_defense() navigation_goalrating_start(); // if enemies are closer to our base, go there - entity head, closestplayer; - float distance, bestdistance; - distance = 10000; + entity head, closestplayer = world; + float distance, bestdistance = 10000; FOR_EACH_PLAYER(head) { if(head.deadflag!=DEAD_NO) @@ -596,20 +595,21 @@ void havocbot_role_ctf_defense() void havocbot_calculate_middlepoint() { entity f; - vector p1, p2; + vector s = '0 0 0'; + vector fo = '0 0 0'; + float n = 0; f = ctf_worldflaglist; while (f) { - if(p1) - p2 = f.origin; - else - p1 = f.origin; - + fo = f.origin; + s = s + fo; f = f.ctf_worldflagnext; } - havocbot_ctf_middlepoint = p1 + ((p2-p1) * 0.5); - havocbot_ctf_middlepoint_radius = vlen(p2-p1) * 0.5; + if(!n) + return; + havocbot_ctf_middlepoint = s * (1.0 / n); + havocbot_ctf_middlepoint_radius = vlen(fo - havocbot_ctf_middlepoint); } void havocbot_ctf_reset_role(entity bot) diff --git a/qcsrc/server/bot/havocbot/role_onslaught.qc b/qcsrc/server/bot/havocbot/role_onslaught.qc index 3ae7379be..b17697d2f 100644 --- a/qcsrc/server/bot/havocbot/role_onslaught.qc +++ b/qcsrc/server/bot/havocbot/role_onslaught.qc @@ -28,17 +28,18 @@ void(float ratingscale, vector org, float sradius) havocbot_goalrating_enemyplay void havocbot_goalrating_ons_offenseitems(float ratingscale, vector org, float sradius) { entity head; - float t, i, c, needarmor, needweapons; + float t, i, c, needarmor = FALSE, needweapons = FALSE; // Needs armor/health? if(self.health<100) needarmor = TRUE; // Needs weapons? + c = 0; for(i = WEP_FIRST; i <= WEP_LAST ; ++i) { // Find weapon - if(power2of(i-1) & self.weapons) + if(WEPSET_CONTAINS_EW(self, i)) if(++c>=4) break; } @@ -58,7 +59,7 @@ void havocbot_goalrating_ons_offenseitems(float ratingscale, vector org, float s { // gather health and armor only if (head.solid) - if ( ((head.health || head.armorvalue) && needarmor) || (head.weapons && needweapons ) ) + if ( ((head.health || head.armorvalue) && needarmor) || (!WEPSET_EMPTY_E(head) && needweapons ) ) if (vlen(head.origin - org) < sradius) { t = head.bot_pickupevalfunc(self, head); @@ -98,7 +99,7 @@ void havocbot_role_ons_setrole(entity bot, float role) float havocbot_ons_teamcount(entity bot, float role) { - float c; + float c = 0; entity head; FOR_EACH_PLAYER(head) @@ -152,6 +153,7 @@ void havocbot_goalrating_ons_controlpoints_attack(float ratingscale) // We'll consider only the best case bestvalue = 99999999999; + cp = world; for (; cp1; cp1 = cp1.chain) { if not(cp1.wpconsidered) diff --git a/qcsrc/server/bot/havocbot/roles.qc b/qcsrc/server/bot/havocbot/roles.qc index 91eb2ec1a..ac8ddd161 100644 --- a/qcsrc/server/bot/havocbot/roles.qc +++ b/qcsrc/server/bot/havocbot/roles.qc @@ -85,8 +85,8 @@ void havocbot_goalrating_items(float ratingscale, vector org, float sradius) if( head.armorvalue && player.armorvalue > self.armorvalue) continue; - if( head.weapons ) - if( (player.weapons & head.weapons) != head.weapons) + if( !WEPSET_EMPTY_E(head) ) + if( !WEPSET_CONTAINS_ALL_EE(player, head) ) continue; if (head.ammo_shells && player.ammo_shells > self.ammo_shells) diff --git a/qcsrc/server/bot/navigation.qc b/qcsrc/server/bot/navigation.qc index 6aa6ea2a1..a5c60e393 100644 --- a/qcsrc/server/bot/navigation.qc +++ b/qcsrc/server/bot/navigation.qc @@ -27,6 +27,7 @@ float tracewalk(entity e, vector start, vector m1, vector m2, vector end, float dir = normalize(move); stepdist = 32; ignorehazards = FALSE; + swimming = FALSE; // Analyze starting point traceline(start, start, MOVE_NORMAL, e); @@ -332,12 +333,36 @@ void navigation_poproute() self.goalstack31 = world; } +float navigation_waypoint_will_link(vector v, vector org, entity ent, float walkfromwp, float bestdist) +{ + float dist; + dist = vlen(v - org); + if (bestdist > dist) + { + traceline(v, org, TRUE, ent); + if (trace_fraction == 1) + { + if (walkfromwp) + { + if (tracewalk(ent, v, PL_MIN, PL_MAX, org, bot_navigation_movemode)) + return TRUE; + } + else + { + if (tracewalk(ent, org, PL_MIN, PL_MAX, v, bot_navigation_movemode)) + return TRUE; + } + } + } + return FALSE; +} + // find the spawnfunc_waypoint near a dynamic goal such as a dropped weapon -entity navigation_findnearestwaypoint(entity ent, float walkfromwp) +entity navigation_findnearestwaypoint_withdist(entity ent, float walkfromwp, float bestdist) { entity waylist, w, best; - float dist, bestdist; vector v, org, pm1, pm2; + pm1 = ent.origin + ent.mins; pm2 = ent.origin + ent.maxs; waylist = findchain(classname, "waypoint"); @@ -362,7 +387,6 @@ entity navigation_findnearestwaypoint(entity ent, float walkfromwp) te_plasmaburn(org); best = world; - bestdist = 1050; // box check failed, try walk w = waylist; @@ -382,36 +406,20 @@ entity navigation_findnearestwaypoint(entity ent, float walkfromwp) } else v = w.origin; - dist = vlen(v - org); - if (bestdist > dist) + if(navigation_waypoint_will_link(v, org, ent, walkfromwp, bestdist)) { - traceline(v, org, TRUE, ent); - if (trace_fraction == 1) - { - if (walkfromwp) - { - //print("^1can I reach ", vtos(org), " from ", vtos(v), "?\n"); - if (tracewalk(ent, v, PL_MIN, PL_MAX, org, bot_navigation_movemode)) - { - bestdist = dist; - best = w; - } - } - else - { - if (tracewalk(ent, org, PL_MIN, PL_MAX, v, bot_navigation_movemode)) - { - bestdist = dist; - best = w; - } - } - } + bestdist = vlen(v - org); + best = w; } } w = w.chain; } return best; } +entity navigation_findnearestwaypoint(entity ent, float walkfromwp) +{ + return navigation_findnearestwaypoint_withdist(ent, walkfromwp, 1050); +} // finds the waypoints near the bot initiating a navigation query float navigation_markroutes_nearestwaypoints(entity waylist, float maxdist) @@ -1211,6 +1219,7 @@ void debuggoalstack() else if(self.goalcounter==29)goal=self.goalstack29; else if(self.goalcounter==30)goal=self.goalstack30; else if(self.goalcounter==31)goal=self.goalstack31; + else goal=world; if(goal==world) { diff --git a/qcsrc/server/bot/scripting.qc b/qcsrc/server/bot/scripting.qc index 2fdbdd3f4..5752e2f49 100644 --- a/qcsrc/server/bot/scripting.qc +++ b/qcsrc/server/bot/scripting.qc @@ -38,9 +38,9 @@ void bot_queuecommand(entity bot, string cmdstring) { parm = substring(cmdstr, sp + 1, -1); cmdstr = substring(cmdstr, 0, sp); + if(cmdstr == "sound") + precache_sound(cmdstr); } - if(cmdstr == "sound") - precache_sound(cmdstr); } bot.bot_cmdqueuebuf_end += 1; @@ -292,7 +292,7 @@ entity find_bot_by_name(string name) entity find_bot_by_number(float number) { entity bot; - float c; + float c = 0; if(!number) return world; @@ -1106,7 +1106,7 @@ float bot_cmd_debug_assert_canfire() 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) @@ -1114,7 +1114,7 @@ float bot_cmd_debug_assert_canfire() 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) @@ -1122,7 +1122,7 @@ float bot_cmd_debug_assert_canfire() 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 @@ -1130,7 +1130,7 @@ float bot_cmd_debug_assert_canfire() 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"); } } diff --git a/qcsrc/server/bot/waypoints.qc b/qcsrc/server/bot/waypoints.qc index e2bcc5bd6..d31a88b52 100644 --- a/qcsrc/server/bot/waypoints.qc +++ b/qcsrc/server/bot/waypoints.qc @@ -877,3 +877,204 @@ void botframe_showwaypointlinks() player = find(player, classname, "player"); } } + +float botframe_autowaypoints_fixdown(vector v) +{ + tracebox(v, PL_MIN, PL_MAX, v + '0 0 -64', MOVE_NOMONSTERS, world); + if(trace_fraction >= 1) + return 0; + return 1; +} + +float botframe_autowaypoints_createwp(vector v, entity p, .entity fld) +{ + entity w; + + w = find(world, classname, "waypoint"); + while (w) + { + // if a matching spawnfunc_waypoint already exists, don't add a duplicate + if (boxesoverlap(v - '32 32 32', v + '32 32 32', w.absmin, w.absmax)) + //if (boxesoverlap(v - '4 4 4', v + '4 4 4', w.absmin, w.absmax)) + return 0; + w = find(w, classname, "waypoint"); + } + + waypoint_schedulerelink(p.fld = waypoint_spawn(v, v, 0)); + return 1; +} + +// return value: +// 1 = WP created +// 0 = no action needed +// -1 = temp fail, try from world too +// -2 = permanent fail, do not retry +float botframe_autowaypoints_fix_from(entity p, float walkfromwp, entity wp, .entity fld) +{ + // make it possible to go from p to wp, if we can + // if wp is world, nearest is chosen + + entity w; + vector porg; + float t, tmin, tmax; + vector o; + vector save; + + if(!botframe_autowaypoints_fixdown(p.origin)) + return -2; + porg = trace_endpos; + + if(wp) + { + // if any WP w fulfills wp -> w -> porg, then switch from wp to w + + // if wp -> porg, then OK + float maxdist; + if(navigation_waypoint_will_link(wp.origin, porg, p, walkfromwp, 1050)) + { + // we may find a better one + maxdist = vlen(wp.origin - porg); + } + else + { + // accept any "good" + maxdist = 2100; + } + + float bestdist; + bestdist = maxdist; + w = find(world, classname, "waypoint"); + while (w) + { + if(w != wp && !(w.wpflags & WAYPOINTFLAG_NORELINK)) + { + float d; + d = vlen(wp.origin - w.origin) + vlen(w.origin - porg); + if(d < bestdist) + if(navigation_waypoint_will_link(wp.origin, w.origin, p, walkfromwp, 1050)) + if(navigation_waypoint_will_link(w.origin, porg, p, walkfromwp, 1050)) + { + bestdist = d; + p.fld = w; + } + } + w = find(w, classname, "waypoint"); + } + if(bestdist < maxdist) + { + print("update chain to new nearest WP ", etos(p.fld), "\n"); + return 0; + } + + if(bestdist < 2100) + { + // we know maxdist < 2100 + // so wp -> porg is still valid + // all is good + p.fld = wp; + return 0; + } + + // otherwise, no existing WP can fix our issues + } + else + { + save = p.origin; + setorigin(p, porg); + w = navigation_findnearestwaypoint(p, walkfromwp); + setorigin(p, save); + if(w) + { + p.fld = w; + return 0; + } + } + + tmin = 0; + tmax = 1; + for(;;) + { + if(tmax - tmin < 0.001) + { + // did not get a good candidate + return -1; + } + + t = (tmin + tmax) * 0.5; + o = antilag_takebackorigin(p, time - t); + if(!botframe_autowaypoints_fixdown(o)) + return -1; + o = trace_endpos; + + if(wp) + { + if(!navigation_waypoint_will_link(wp.origin, o, p, walkfromwp, 1050)) + { + // we cannot walk from wp.origin to o + // get closer to tmax + tmin = t; + continue; + } + } + else + { + save = p.origin; + setorigin(p, o); + w = navigation_findnearestwaypoint(p, walkfromwp); + setorigin(p, save); + if(!w) + { + // we cannot walk from any WP to o + // get closer to tmax + tmin = t; + continue; + } + } + + // if we get here, o is valid regarding waypoints + // check if o is connected right to the player + // we break if it succeeds, as that means o is a good waypoint location + if(navigation_waypoint_will_link(o, porg, p, walkfromwp, 1050)) + break; + + // o is no good, we need to get closer to the player + tmax = t; + } + + print("spawning a waypoint for connecting to ", etos(wp), "\n"); + botframe_autowaypoints_createwp(o, p, fld); + return 1; +} + +// automatically create missing waypoints +.entity botframe_autowaypoints_lastwp0, botframe_autowaypoints_lastwp1; +void botframe_autowaypoints_fix(entity p, float walkfromwp, .entity fld) +{ + float r; + r = botframe_autowaypoints_fix_from(p, walkfromwp, p.fld, fld); + if(r != -1) + return; + r = botframe_autowaypoints_fix_from(p, walkfromwp, world, fld); + if(r != -1) + return; + + print("emergency: got no good nearby WP to build a link from, starting a new chain\n"); + if(!botframe_autowaypoints_fixdown(p.origin)) + return; // shouldn't happen, caught above + botframe_autowaypoints_createwp(trace_endpos, p, fld); +} + +void botframe_autowaypoints() +{ + entity p; + FOR_EACH_REALPLAYER(p) + { + if(p.deadflag) + continue; + // going back is broken, so only fix waypoints to walk TO the player + //botframe_autowaypoints_fix(p, FALSE, botframe_autowaypoints_lastwp0); + botframe_autowaypoints_fix(p, TRUE, botframe_autowaypoints_lastwp1); + //te_explosion(p.botframe_autowaypoints_lastwp0.origin); + } +} + diff --git a/qcsrc/server/bot/waypoints.qh b/qcsrc/server/bot/waypoints.qh index 1bb800fd0..fb7beea0f 100644 --- a/qcsrc/server/bot/waypoints.qh +++ b/qcsrc/server/bot/waypoints.qh @@ -57,3 +57,5 @@ entity waypoint_spawn(vector m1, vector m2, float f); entity waypoint_spawnpersonal(vector position); vector waypoint_fixorigin(vector position); + +void botframe_autowaypoints(); diff --git a/qcsrc/server/campaign.qc b/qcsrc/server/campaign.qc index 5a68e9605..b69e0fbe0 100644 --- a/qcsrc/server/campaign.qc +++ b/qcsrc/server/campaign.qc @@ -15,7 +15,9 @@ float CampaignBailout(string s) cvar_string = cvar_string_normal; cvar_set = cvar_set_normal; cvar_set("g_campaign", "0"); - print("campaign initialization failed: ", s, "\n"); + print("^4campaign initialization failed: ", s, "\n"); + if(autocvar__campaign_testrun) + error("CAMPAIGN FAIL AHAHAHAHAHAHAHAHAH))"); return 1; } @@ -118,10 +120,20 @@ void CampaignPostInit() // now some sanity checks if(Campaign_Invalid()) return; - cvar_set("fraglimit", ftos(campaign_fraglimit[0])); - cvar_set("timelimit", ftos(campaign_timelimit[0])); - cvar_set_normal("fraglimit", ftos(campaign_fraglimit[0])); - cvar_set_normal("timelimit", ftos(campaign_timelimit[0])); + if(autocvar__campaign_testrun) + { + cvar_set("fraglimit", "0"); + cvar_set("timelimit", "0.01"); + cvar_set_normal("fraglimit", "0"); + cvar_set_normal("timelimit", "0.01"); + } + else + { + cvar_set("fraglimit", ftos(campaign_fraglimit[0])); + cvar_set("timelimit", ftos(campaign_timelimit[0])); + cvar_set_normal("fraglimit", ftos(campaign_fraglimit[0])); + cvar_set_normal("timelimit", ftos(campaign_timelimit[0])); + } } void CampaignSaveCvar(string cvarname, float value) @@ -171,7 +183,7 @@ void CampaignPreIntermission() float lost; string savevar; - won = 0; + won = lost = 0; head = findchain(classname, "player"); while(head) @@ -186,7 +198,12 @@ void CampaignPreIntermission() head = head.chain; } - if(won == 1 && lost == 0 && checkrules_equality == 0 && cheatcount_total == 0) + if(autocvar__campaign_testrun) + { + campaign_won = 1; + bprint("Campaign test run, advancing level.\n"); + } + else if(won == 1 && lost == 0 && checkrules_equality == 0) { if(autocvar_timelimit != 0 && autocvar_fraglimit != 0 && time > autocvar_timelimit * 60) // checks if the timelimit has expired. { @@ -214,23 +231,23 @@ void CampaignPreIntermission() // sound! } - if(campaign_won) + if(campaign_won && cheatcount_total == 0 && !autocvar__campaign_testrun) { - if(campaign_entries < 2) + if(campaign_level == cvar_normal(campaign_index_var)) { - // I have won - if(campaign_level == cvar_normal(campaign_index_var)) + if(campaign_entries < 2) { + // I have won savevar = strcat("g_campaign", campaign_name, "_won"); CampaignSaveCvar(savevar, 1); // advance level (for menu to show it right) CampaignSaveCvar(campaign_index_var, campaign_level + 1); } - } - else if(campaign_level == cvar_normal(campaign_index_var)) - { - // advance level - CampaignSaveCvar(campaign_index_var, campaign_level + 1); + else + { + // advance level + CampaignSaveCvar(campaign_index_var, campaign_level + 1); + } } } } @@ -242,6 +259,7 @@ void CampaignPostIntermission() if(campaign_won && campaign_entries < 2) { // last map won! + print("^2test run: campaign looks GOOD\n"); localcmd("togglemenu 1\n"); CampaignFile_Unload(); return; diff --git a/qcsrc/server/cheats.qc b/qcsrc/server/cheats.qc index 57a09fe38..2f6a660cb 100644 --- a/qcsrc/server/cheats.qc +++ b/qcsrc/server/cheats.qc @@ -92,6 +92,34 @@ float CheatsAllowed(float i, float argc, float fr) // the cheat gets passed as a 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() +{ + 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) { BEGIN_CHEAT_FUNCTION(); @@ -117,7 +145,7 @@ float CheatImpulse(float i) self.personal.ammo_fuel = self.ammo_fuel; self.personal.health = self.health; self.personal.armorvalue = self.armorvalue; - self.personal.weapons = self.weapons; + WEPSET_COPY_EE(self.personal, self); self.personal.items = self.items; self.personal.pauserotarmor_finished = self.pauserotarmor_finished; self.personal.pauserothealth_finished = self.pauserothealth_finished; @@ -178,7 +206,7 @@ float CheatImpulse(float i) self.ammo_fuel = 999; self.health = start_health; self.armorvalue = start_armorvalue; - self.weapons |= weaponsInMap; + WEPSET_OR_EA(self.personal, weaponsInMap); self.pauserotarmor_finished = time + autocvar_g_balance_pause_armor_rot_spawn; self.pauserothealth_finished = time + autocvar_g_balance_pause_health_rot_spawn; self.pauserotfuel_finished = time + autocvar_g_balance_pause_fuel_rot_spawn; @@ -195,7 +223,7 @@ float CheatImpulse(float i) self.ammo_fuel = self.personal.ammo_fuel; self.health = self.personal.health; self.armorvalue = self.personal.armorvalue; - self.weapons = self.personal.weapons; + WEPSET_COPY_EE(self, self.personal); self.items = self.personal.items; self.pauserotarmor_finished = time + self.personal.pauserotarmor_finished - self.personal.teleport_time; self.pauserothealth_finished = time + self.personal.pauserothealth_finished - self.personal.teleport_time; @@ -214,8 +242,25 @@ float CheatImpulse(float i) break; case CHIMPULSE_TELEPORT: IS_CHEAT(i, 0, 0); + if(self.movetype == MOVETYPE_NOCLIP) + { + e = find(world, classname, "info_autoscreenshot"); + if(e) + { + sprint(self, "Emergency teleport used info_autoscreenshot location\n"); + setorigin(self, e.origin); + self.angles = e.angles; + remove(e); + // should we? self.angles_x = -self.angles_x; + self.fixangle = TRUE; + self.velocity = '0 0 0'; + DID_CHEAT(); + break; + } + } if(MoveToRandomMapLocation(self, DPCONTENTS_SOLID | DPCONTENTS_CORPSE | DPCONTENTS_PLAYERCLIP, DPCONTENTS_SLIME | DPCONTENTS_LAVA | DPCONTENTS_SKY | DPCONTENTS_BODY | DPCONTENTS_DONOTENTER, Q3SURFACEFLAG_SKY, ((gamestart_sv_cheats >= 2) ? 100000 : 100), 1024, 256)) { + sprint(self, "Emergency teleport used random location\n"); self.angles_x = -self.angles_x; self.fixangle = TRUE; self.velocity = '0 0 0'; @@ -704,6 +749,7 @@ float CheatFrame() float drag; crosshair_trace_plusvisibletriggers(self); + drag = FALSE; if(vlen(self.origin - trace_ent.origin) <= autocvar_g_grab_range) { switch(trace_ent.grab) diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index 70774e5c5..6d31120f6 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -405,8 +405,7 @@ void PutObserverInServer (void) DropAllRunes(self); MUTATOR_CALLHOOK(MakePlayerObserver); - if (g_minstagib) - minstagib_stop_countdown(); + minstagib_stop_countdown(self); Portal_ClearAll(self); @@ -422,9 +421,6 @@ void PutObserverInServer (void) if(self.flagcarried) DropFlag(self.flagcarried, world, world); - if(self.ballcarried && g_nexball) - DropBall(self.ballcarried, self.origin + self.ballcarried.origin, self.velocity); - WaypointSprite_PlayerDead(); if not(g_ca) // don't reset teams when moving a ca player to the spectators @@ -467,6 +463,7 @@ void PutObserverInServer (void) self.pauseregen_finished = 0; self.damageforcescale = 0; self.death_time = 0; + self.respawn_time = 0; self.alpha = 0; self.scale = 0; self.fade_time = 0; @@ -474,6 +471,7 @@ void PutObserverInServer (void) self.pain_finished = 0; self.strength_finished = 0; self.invincible_finished = 0; + self.superweapons_finished = 0; self.pushltime = 0; self.think = SUB_Null; self.nextthink = 0; @@ -488,7 +486,7 @@ void PutObserverInServer (void) setorigin (self, (spot.origin + PL_VIEW_OFS)); // offset it so that the spectator spawns higher off the ground, looks better this way self.prevorigin = self.origin; self.items = 0; - self.weapons = 0; + WEPSET_CLEAR_E(self); self.model = ""; FixPlayermodel(); setmodel(self, "null"); @@ -550,11 +548,11 @@ void FixPlayermodel() vector m1, m2; defaultmodel = ""; + defaultskin = 0; + chmdl = FALSE; if(autocvar_sv_defaultcharacter == 1) { - defaultskin = 0; - if(teamplay) { string s; @@ -644,11 +642,14 @@ Called when a client spawns in the server ============= */ //void() ctf_playerchanged; + void PutClientInServer (void) { if(clienttype(self) == CLIENTTYPE_BOT) { self.classname = "player"; + if(g_ca) + self.caplayer = 1; } else if(clienttype(self) == CLIENTTYPE_REAL) { @@ -656,7 +657,7 @@ void PutClientInServer (void) WriteByte(MSG_ONE, SVC_SETVIEW); WriteEntity(MSG_ONE, self); } - + // reset player keys self.itemkeys = 0; @@ -668,8 +669,7 @@ void PutClientInServer (void) self.classname = "observer"; } - if(g_arena || (g_ca && !allowed_to_spawn)) - if(!self.spawned) + if((g_arena && !self.spawned) || (g_ca && !allowed_to_spawn)) self.classname = "observer"; if(gameover) @@ -738,7 +738,7 @@ void PutClientInServer (void) self.ammo_fuel = warmup_start_ammo_fuel; self.health = warmup_start_health; self.armorvalue = warmup_start_armorvalue; - self.weapons = warmup_start_weapons; + WEPSET_COPY_EA(self, warmup_start_weapons); } else { @@ -749,16 +749,21 @@ void PutClientInServer (void) self.ammo_fuel = start_ammo_fuel; self.health = start_health; self.armorvalue = start_armorvalue; - self.weapons = start_weapons; + WEPSET_COPY_EA(self, start_weapons); } + if(WEPSET_CONTAINS_ANY_EA(self, WEPBIT_SUPERWEAPONS)) // exception for minstagib, as minstanex is a superweapon + self.superweapons_finished = time + autocvar_g_balance_superweapons_time; + else + self.superweapons_finished = 0; + if(g_weaponarena_random) { if(g_weaponarena_random_with_laser) - self.weapons &~= WEPBIT_LASER; - self.weapons = randombits(self.weapons, g_weaponarena_random, FALSE); + WEPSET_ANDNOT_EW(self, WEP_LASER); + W_RandomWeapons(self, g_weaponarena_random); if(g_weaponarena_random_with_laser) - self.weapons |= WEPBIT_LASER; + WEPSET_OR_EW(self, WEP_LASER); } self.items = start_items; @@ -777,6 +782,7 @@ void PutClientInServer (void) } self.damageforcescale = 2; self.death_time = 0; + self.respawn_time = 0; self.scale = 0; self.fade_time = 0; self.pain_frame = 0; @@ -829,13 +835,12 @@ void PutClientInServer (void) self.lastrocket = world; // stop rocket guiding, no revenge from the grave! self.lastteleporttime = time; // prevent insane speeds due to changing origin self.hud = HUD_NORMAL; - + if(g_arena) { Spawnqueue_Remove(self); Spawnqueue_Mark(self); } - else if(g_ca) self.caplayer = 1; @@ -865,9 +870,6 @@ void PutClientInServer (void) //stuffcmd(self, "chase_active 0"); //stuffcmd(self, "set viewsize $tmpviewsize \n"); - if (autocvar_g_spawnsound) - sound (self, CH_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTN_NORM); - if(g_assault) { if(self.team == assault_attacker_team) centerprint(self, "You are attacking!"); @@ -919,7 +921,10 @@ void PutClientInServer (void) self.alivetime = time; antilag_clear(self); - } else if(self.classname == "observer" || (g_ca && !allowed_to_spawn)) { + + if (autocvar_g_spawnsound) + soundat(world, self.origin, CH_TRIGGER, "misc/spawn.wav", VOL_BASE, ATTN_NORM); + } else if(self.classname == "observer") { PutObserverInServer (); } @@ -962,6 +967,7 @@ float ClientInit_SendEntity(entity to, float sf) 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; } @@ -1352,7 +1358,7 @@ void ClientConnect (void) return; } - if(Ban_MaybeEnforceBan(self)) + if(Ban_MaybeEnforceBanOnce(self)) return; DecodeLevelParms(); @@ -1529,7 +1535,7 @@ void ClientConnect (void) if(clienttype(self) == CLIENTTYPE_REAL) { - if(autocvar_g_bugrigs || g_weaponarena == WEPBIT_TUBA) + if(autocvar_g_bugrigs || WEPSET_EQ_AW(g_weaponarena_weapons, WEP_TUBA)) stuffcmd(self, "cl_cmd settemp chase_active 1\n"); } @@ -1561,7 +1567,6 @@ void ClientConnect (void) rr = CTS_RECORD; else rr = RACE_RECORD; - t = stof(db_get(ServerProgsDB, strcat(GetMapname(), rr, "time"))); msg_entity = self; race_send_recordtime(MSG_ONE); @@ -1590,8 +1595,12 @@ void ClientConnect (void) CSQCMODEL_AUTOINIT(); self.model_randomizer = random(); + + if(clienttype(self) != CLIENTTYPE_REAL) + return; + + sv_notice_join(); } - /* ============= ClientDisconnect @@ -1647,8 +1656,6 @@ void ClientDisconnect (void) RemoveGrapplingHook(self); if(self.flagcarried) DropFlag(self.flagcarried, world, world); - if(self.ballcarried && g_nexball) - DropBall(self.ballcarried, self.origin + self.ballcarried.origin, self.velocity); // Here, everything has been done that requires this player to be a client. @@ -1753,7 +1760,6 @@ void UpdateChatBubble() else self.colormod = '1 1 1'; }*/ -.float oldcolormap; void respawn(void) { if(self.alpha >= 0 && autocvar_g_respawn_ghosts) @@ -1763,21 +1769,15 @@ void respawn(void) self.movetype = MOVETYPE_FLY; self.velocity = '0 0 1' * autocvar_g_respawn_ghosts_speed; self.avelocity = randomvec() * autocvar_g_respawn_ghosts_speed * 3 - randomvec() * autocvar_g_respawn_ghosts_speed * 3; - self.effects |= EF_ADDITIVE; - self.oldcolormap = self.colormap; - self.colormap = 0; // this originally was 512, but raises a warning in the engine, so get rid of it + self.effects |= CSQCMODEL_EF_RESPAWNGHOST; pointparticles(particleeffectnum("respawn_ghost"), self.origin, '0 0 0', 1); if(autocvar_g_respawn_ghosts_maxtime) SUB_SetFade (self, time + autocvar_g_respawn_ghosts_maxtime / 2 + random () * (autocvar_g_respawn_ghosts_maxtime - autocvar_g_respawn_ghosts_maxtime / 2), 1.5); } CopyBody(1); + self.effects |= EF_NODRAW; // prevent another CopyBody - if(self.oldcolormap) - { - self.colormap = self.oldcolormap; - self.oldcolormap = 0; - } PutClientInServer(); } @@ -1895,6 +1895,46 @@ void player_powerups (void) sprint(self, "^3Shield surrounds you\n"); } } + if (self.items & IT_SUPERWEAPON) + { + if (!WEPSET_CONTAINS_ANY_EA(self, WEPBIT_SUPERWEAPONS)) + { + self.superweapons_finished = 0; + self.items = self.items - (self.items & IT_SUPERWEAPON); + sprint(self, "^3Superweapons have been lost\n"); + } + else if (self.items & IT_UNLIMITED_SUPERWEAPONS) + { + // don't let them run out + } + else + { + play_countdown(self.superweapons_finished, "misc/poweroff.wav"); + if (time > self.superweapons_finished) + { + self.items = self.items - (self.items & IT_SUPERWEAPON); + WEPSET_ANDNOT_EA(self, WEPBIT_SUPERWEAPONS); + sprint(self, "^3Superweapons have broken down\n"); + } + } + } + else if(WEPSET_CONTAINS_ANY_EA(self, WEPBIT_SUPERWEAPONS)) + { + 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; + WEPSET_ANDNOT_EA(self, WEPBIT_SUPERWEAPONS); + } + } + else + { + self.superweapons_finished = 0; + } } if(autocvar_g_nodepthtestplayers) @@ -2085,6 +2125,15 @@ void GetPressedKeys(void) { self.pressedkeys |= KEY_CROUCH; else self.pressedkeys &~= KEY_CROUCH; + + if (self.BUTTON_ATCK) + self.pressedkeys |= KEY_ATCK; + else + self.pressedkeys &~= KEY_ATCK; + if (self.BUTTON_ATCK2) + self.pressedkeys |= KEY_ATCK2; + else + self.pressedkeys &~= KEY_ATCK2; } /* @@ -2115,7 +2164,7 @@ void SpectateCopy(entity spectatee) { self.strength_finished = spectatee.strength_finished; self.invincible_finished = spectatee.invincible_finished; self.pressedkeys = spectatee.pressedkeys; - self.weapons = spectatee.weapons; + WEPSET_COPY_EE(self, spectatee); self.switchweapon = spectatee.switchweapon; self.switchingweapon = spectatee.switchingweapon; self.weapon = spectatee.weapon; @@ -2258,13 +2307,13 @@ void ShowRespawnCountdown() return; else { - number = ceil(self.death_time - time); + number = ceil(self.respawn_time - time); if(number <= 0) return; if(number <= self.respawn_countdown) { self.respawn_countdown = number - 1; - if(ceil(self.death_time - (time + 0.5)) == number) // only say it if it is the same number even in 0.5s; to prevent overlapping sounds + if(ceil(self.respawn_time - (time + 0.5)) == number) // only say it if it is the same number even in 0.5s; to prevent overlapping sounds AnnounceTo(self, strcat(ftos(number), "")); } } @@ -2273,7 +2322,7 @@ void ShowRespawnCountdown() .float prevent_join_msgtime; void LeaveSpectatorMode() { - if(nJoinAllowed(1)) { + if(nJoinAllowed(self)) { if(!teamplay || autocvar_g_campaign || autocvar_g_balance_teams || (self.wasplayer && autocvar_g_changeteam_banned) || self.team_forced > 0) { self.classname = "player"; @@ -2323,26 +2372,36 @@ void LeaveSpectatorMode() * it checks whether the number of currently playing players exceeds g_maxplayers. * @return int number of free slots for players, 0 if none */ -float nJoinAllowed(float includeMe) { +float nJoinAllowed(entity ignore) { + if(!ignore) + // this is called that way when checking if anyone may be able to join (to build qcstatus) + // so report 0 free slots if restricted + { + if(autocvar_g_forced_team_otherwise == "spectate") + return 0; + if(autocvar_g_forced_team_otherwise == "spectator") + return 0; + } + if(self.team_forced < 0) - return FALSE; // forced spectators can never join + return 0; // forced spectators can never join // TODO simplify this entity e; - - float totalClients; + float totalClients = 0; FOR_EACH_CLIENT(e) - totalClients += 1; + if(e != ignore) + totalClients += 1; if (!autocvar_g_maxplayers) - return maxclients - totalClients + includeMe; + return maxclients - totalClients; - float currentlyPlaying; + float currentlyPlaying = 0; FOR_EACH_REALPLAYER(e) currentlyPlaying += 1; if(currentlyPlaying < autocvar_g_maxplayers) - return min(maxclients - totalClients + includeMe, autocvar_g_maxplayers - currentlyPlaying); + return min(maxclients - totalClients, autocvar_g_maxplayers - currentlyPlaying); return 0; } @@ -2640,9 +2699,9 @@ void PlayerPreThink (void) float button_pressed, force_respawn; if(self.personal && g_race_qualifying) { - if(time > self.death_time) + if(time > self.respawn_time) { - self.death_time = time + 1; // only retry once a second + self.respawn_time = time + 1; // only retry once a second respawn(); self.impulse = 141; } @@ -2672,9 +2731,9 @@ void PlayerPreThink (void) } else if (self.deadflag == DEAD_RESPAWNING) { - if(time > self.death_time) + if(time > self.respawn_time) { - self.death_time = time + 1; // only retry once a second + self.respawn_time = time + 1; // only retry once a second respawn(); } } @@ -3000,8 +3059,6 @@ void PlayerPostThink (void) } */ - Arena_Warmup(); - //pointparticles(particleeffectnum("machinegun_impact"), self.origin + self.view_ofs + '0 0 7', '0 0 0', 1); if(self.waypointsprite_attachedforcarrier) diff --git a/qcsrc/server/cl_physics.qc b/qcsrc/server/cl_physics.qc index 79087eb8a..51bfc62c6 100644 --- a/qcsrc/server/cl_physics.qc +++ b/qcsrc/server/cl_physics.qc @@ -875,6 +875,12 @@ void SV_PlayerPhysics() MUTATOR_CALLHOOK(PlayerPhysics); + if(self.player_blocked) + { + self.movement = '0 0 0'; + self.disableclientprediction = 1; + } + maxspd_mod = 1; swampspd_mod = 1; diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index 04ad12c6e..fd14d42b8 100644 --- a/qcsrc/server/cl_player.qc +++ b/qcsrc/server/cl_player.qc @@ -166,6 +166,8 @@ void CopyBody(float keepvelocity) self.animstate_endtime = oldself.animstate_endtime; self.animstate_override = oldself.animstate_override; self.animstate_looping = oldself.animstate_looping; + self.dphitcontentsmask = oldself.dphitcontentsmask; + self.death_time = oldself.death_time; self.frame = oldself.frame; self.pain_finished = oldself.pain_finished; self.health = oldself.health; @@ -358,7 +360,7 @@ void SpawnThrownWeapon (vector org, float w) float j; for(j = WEP_FIRST; j <= WEP_LAST; ++j) { - if(self.weapons & W_WeaponBit(j)) + if(WEPSET_CONTAINS_EW(self, j)) if(W_IsWeaponThrowable(j)) W_ThrowNewWeapon(self, j, FALSE, org, randomvec() * 175 + '0 0 325'); } @@ -419,6 +421,7 @@ void PlayerCorpseDamage (entity inflictor, entity attacker, float damage, float Violence_GibSplash(self, 1, 1, attacker); self.alpha = -1; self.solid = SOLID_NOT; // restore later + self.takedamage = DAMAGE_NO; // restore later } } @@ -432,7 +435,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht float valid_damage_for_weaponstats; float excess; - if((g_arena && numspawned < 2) || (g_ca && !ca_teams_ok) && !inWarmupStage) + if((g_arena && numspawned < 2) || (g_ca && allowed_to_spawn) && !inWarmupStage) return; dh = max(self.health, 0); @@ -596,6 +599,8 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht vbot = (clienttype(self) == CLIENTTYPE_BOT); valid_damage_for_weaponstats = 0; + awep = 0; + if(vbot || clienttype(self) == CLIENTTYPE_REAL) if(abot || clienttype(attacker) == CLIENTTYPE_REAL) if(attacker && self != attacker) @@ -699,8 +704,6 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht else DropFlag(self.flagcarried, world, attacker); } - if(self.ballcarried && g_nexball) - DropBall(self.ballcarried, self.origin, self.velocity); Portal_ClearAllLater(self); if(clienttype(self) == CLIENTTYPE_REAL) @@ -758,13 +761,14 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht if(!waves) waves = autocvar_g_respawn_waves; if(waves) - self.death_time = ceil((time + sdelay) / waves) * waves; + self.respawn_time = ceil((time + sdelay) / waves) * waves; else - self.death_time = time + sdelay; - if((sdelay + waves >= 5.0) && (self.death_time - time > 1.75)) + self.respawn_time = time + sdelay; + if((sdelay + waves >= 5.0) && (self.respawn_time - time > 1.75)) self.respawn_countdown = 10; // first number to count down from is 10 else self.respawn_countdown = -1; // do not count down + self.death_time = time; if (random() < 0.5) setanim(self, self.anim_die1, FALSE, TRUE, TRUE); else @@ -803,14 +807,12 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f // 0 = reject // -1 = fake accept { - string msgstr, colorstr, cmsgstr, namestr, fullmsgstr, sourcemsgstr, fullcmsgstr, sourcecmsgstr, privatemsgprefix; - float flood, privatemsgprefixlen; + string msgstr, colorstr, cmsgstr, namestr, fullmsgstr, sourcemsgstr, fullcmsgstr, sourcecmsgstr; + float flood; var .float flood_field; entity head; float ret; - - if(Ban_MaybeEnforceBan(source)) - return 0; + string privatemsgprefix = string_null; float privatemsgprefixlen = 0; if(!teamsay && !privatesay) if(substring(msgin, 0, 1) == " ") @@ -823,7 +825,10 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f else if(teamplay) colorstr = Team_ColorCode(source.team); else + { + colorstr = ""; teamsay = FALSE; + } if(intermission_running) teamsay = FALSE; @@ -882,6 +887,7 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f // FLOOD CONTROL flood = 0; + flood_field = floodcontrol_chat; if(floodcontrol) { float flood_spl; @@ -976,8 +982,9 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f if(!privatesay) if(source.classname != "player") { - if(teamsay || (autocvar_g_chat_nospectators == 1) || (autocvar_g_chat_nospectators == 2 && !inWarmupStage)) - teamsay = -1; // spectators + if not(intermission_running) + if(teamsay || (autocvar_g_chat_nospectators == 1) || (autocvar_g_chat_nospectators == 2 && !(inWarmupStage || gameover))) + teamsay = -1; // spectators } if(flood) @@ -1009,22 +1016,23 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f if(sourcemsgstr != "" && ret != 0) { - if(ret < 0) // fake + if(ret < 0) // faked message, because the player is muted { sprint(source, sourcemsgstr); if(sourcecmsgstr != "" && !privatesay) centerprint(source, sourcecmsgstr); } - else if(privatesay) + else if(privatesay) // private message, between 2 people only, not sent to server console { sprint(source, sourcemsgstr); sprint(privatesay, msgstr); if(cmsgstr != "") centerprint(privatesay, cmsgstr); } - else if(teamsay > 0) + else if(teamsay > 0) // team message, only sent to team mates { sprint(source, sourcemsgstr); + //print(msgstr); // send to server console too if(sourcecmsgstr != "") centerprint(source, sourcecmsgstr); FOR_EACH_REALPLAYER(head) if(head.team == source.team) @@ -1035,22 +1043,24 @@ float Say(entity source, float teamsay, entity privatesay, string msgin, float f centerprint(head, cmsgstr); } } - else if(teamsay < 0) + else if(teamsay < 0) // spectator message, only sent to spectators { sprint(source, sourcemsgstr); + //print(msgstr); // send to server console too FOR_EACH_REALCLIENT(head) if(head.classname != "player") if(head != source) sprint(head, msgstr); } - else if(sourcemsgstr != msgstr) + else if(sourcemsgstr != msgstr) // trimmed/server fixed message, sent to all players { sprint(source, sourcemsgstr); + //print(msgstr); // send to server console too FOR_EACH_REALCLIENT(head) if(head != source) sprint(head, msgstr); } else - bprint(msgstr); + bprint(msgstr); // entirely normal message, sent to all players -- bprint sends to server console too. } return ret; diff --git a/qcsrc/server/cl_weapons.qc b/qcsrc/server/cl_weapons.qc index b1f6aabba..59efb74d5 100644 --- a/qcsrc/server/cl_weapons.qc +++ b/qcsrc/server/cl_weapons.qc @@ -163,21 +163,22 @@ string W_Name(float weaponid) return (get_weaponinfo(weaponid)).message; } -float W_WeaponBit(float wpn) -{ - return (get_weaponinfo(wpn)).weapons; -} - float W_AmmoItemCode(float wpn) { - return (get_weaponinfo(wpn)).items; + return (get_weaponinfo(wpn)).items & IT_AMMO; } +.float savenextthink; void thrown_wep_think() { - self.solid = SOLID_TRIGGER; self.owner = world; - SUB_SetFade(self, time + 20, 1); + float timeleft = self.savenextthink - time; + if(timeleft > 1) + SUB_SetFade(self, self.savenextthink - 1, 1); + else if(timeleft > 0) + SUB_SetFade(self, time, timeleft); + else + SUB_VanishOrRemove(self); } // returns amount of ammo used as string, or -1 for failure, or 0 for no ammo count @@ -197,8 +198,36 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto wep.flags |= FL_TOSSED; wep.colormap = own.colormap; + if(WEPSET_CONTAINS_AW(WEPBIT_SUPERWEAPONS, wpn)) + { + if(own.items & IT_UNLIMITED_SUPERWEAPONS) + { + wep.superweapons_finished = time + autocvar_g_balance_superweapons_time; + } + else + { + float superweapons = 1; + for(i = WEP_FIRST; i <= WEP_LAST; ++i) + if(WEPSET_CONTAINS_AW(WEPBIT_SUPERWEAPONS, i)) + if(WEPSET_CONTAINS_EW(own, i)) + ++superweapons; + if(superweapons <= 1) + { + wep.superweapons_finished = own.superweapons_finished; + own.superweapons_finished = 0; + } + else + { + float timeleft = own.superweapons_finished - time; + float weptimeleft = timeleft / superweapons; + wep.superweapons_finished = time + weptimeleft; + own.superweapons_finished -= weptimeleft; + } + } + } + wa = W_AmmoItemCode(wpn); - if(wa == IT_SUPERWEAPON || wa == 0) + if(wa == 0) { oldself = self; self = wep; @@ -208,7 +237,9 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto return string_null; wep.glowmod = own.weaponentity_glowmod; wep.think = thrown_wep_think; - wep.nextthink = time + 0.5; + wep.savenextthink = wep.nextthink; + wep.nextthink = min(wep.nextthink, time + 0.5); + wep.pickup_anyway = TRUE; // these are ALWAYS pickable return ""; } else @@ -227,7 +258,6 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto if(wa & j) { ammofield = Item_CounterField(j); - wep.ammofield = 0; // if our weapon is loaded, give its load back to the player if(self.(weapon_load[self.weapon]) > 0) @@ -235,6 +265,8 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto own.ammofield += self.(weapon_load[self.weapon]); self.(weapon_load[self.weapon]) = -1; // schedule the weapon for reloading } + + wep.ammofield = 0; } } } @@ -245,10 +277,6 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto if(wa & j) { ammofield = Item_CounterField(j); - thisammo = min(own.ammofield, wep.ammofield); - wep.ammofield = thisammo; - own.ammofield -= thisammo; - s = strcat(s, " and ", ftos(thisammo), " ", Item_CounterFieldName(j)); // if our weapon is loaded, give its load back to the player if(self.(weapon_load[self.weapon]) > 0) @@ -256,13 +284,19 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto own.ammofield += self.(weapon_load[self.weapon]); self.(weapon_load[self.weapon]) = -1; // schedule the weapon for reloading } + + thisammo = min(own.ammofield, wep.ammofield); + wep.ammofield = thisammo; + own.ammofield -= thisammo; + s = strcat(s, " and ", ftos(thisammo), " ", Item_CounterFieldName(j)); } } s = substring(s, 5, -1); } wep.glowmod = own.weaponentity_glowmod; wep.think = thrown_wep_think; - wep.nextthink = time + 0.5; + wep.savenextthink = wep.nextthink; + wep.nextthink = min(wep.nextthink, time + 0.5); wep.pickup_anyway = TRUE; // these are ALWAYS pickable return s; } @@ -270,7 +304,7 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto float W_IsWeaponThrowable(float w) { - float wb, wa; + float wa; if (!autocvar_g_pickup_items) return 0; @@ -285,17 +319,12 @@ float W_IsWeaponThrowable(float w) if (g_nexball && w == WEP_GRENADE_LAUNCHER) return 0; - wb = W_WeaponBit(w); - if(!wb) - return 0; wa = W_AmmoItemCode(w); - if(start_weapons & wb) + if(WEPSET_CONTAINS_AW(start_weapons, w)) { - if(wa == IT_SUPERWEAPON && start_items & IT_UNLIMITED_SUPERWEAPONS) - return 0; - if(wa != IT_SUPERWEAPON && start_items & IT_UNLIMITED_WEAPON_AMMO) - return 0; // start weapons that take no ammo can't be dropped (this prevents dropping the laser, as long as it continues to use no ammo) + if(start_items & IT_UNLIMITED_WEAPON_AMMO) + return 0; if(wa == 0) return 0; } @@ -306,7 +335,7 @@ float W_IsWeaponThrowable(float w) // toss current weapon void W_ThrowWeapon(vector velo, vector delta, float doreduce) { - float w, wb; + float w; string a; w = self.weapon; @@ -321,11 +350,10 @@ void W_ThrowWeapon(vector velo, vector delta, float doreduce) if(!W_IsWeaponThrowable(w)) return; - wb = W_WeaponBit(w); - if(self.weapons & wb != wb) + if(!WEPSET_CONTAINS_EW(self, w)) return; + WEPSET_ANDNOT_EW(self, w); - self.weapons &~= wb; W_SwitchWeapon_Force(self, w_getbestweapon(self)); a = W_ThrowNewWeapon(self, w, doreduce, self.origin + delta, velo); if not(a) @@ -425,8 +453,8 @@ void W_WeaponFrame() //if (self.button0) // print(ftos(frametime), " ", ftos(time), " >= ", ftos(ATTACK_FINISHED(self)), " >= ", ftos(self.weapon_nextthink), "\n"); - float wb; - wb = W_WeaponBit(self.weapon); + float w; + w = self.weapon; // call the think code which may fire the weapon // and do so multiple times to resolve framerate dependency issues if the @@ -436,18 +464,18 @@ void W_WeaponFrame() while (c < W_TICSPERFRAME) { c = c + 1; - if(wb && ((self.weapons & wb) == 0)) + if(w && !WEPSET_CONTAINS_EW(self, w)) { if(self.weapon == self.switchweapon) W_SwitchWeapon_Force(self, w_getbestweapon(self)); - wb = 0; + w = 0; } v_forward = fo; v_right = ri; v_up = up; - if(wb) + if(w) weapon_action(self.weapon, WR_THINK); else weapon_action(self.weapon, WR_GONETHINK); @@ -487,3 +515,20 @@ void W_WeaponFrame() self.currentammo = 1; #endif } + +string W_Apply_Weaponreplace(string in) +{ + float n = tokenize_console(in); + string out = ""; + float i; + for(i = 0; i < n; ++i) + { + string s = argv(i); + string r = cvar_string(strcat("g_weaponreplace_", s)); + if(r == "") + out = strcat(out, " ", s); + else if(r != "0") + out = strcat(out, " ", r); + } + return substring(out, 1, -1); +} diff --git a/qcsrc/server/cl_weaponsystem.qc b/qcsrc/server/cl_weaponsystem.qc index 4a35f481b..402b692af 100644 --- a/qcsrc/server/cl_weaponsystem.qc +++ b/qcsrc/server/cl_weaponsystem.qc @@ -69,6 +69,7 @@ vector W_HitPlotNormalizedUntransform(vector org, entity targ, vector screenforw // x = 0..1 relative to hitbox; y = 0..1 relative to hitbox; z = distance + mi = ma = targ.origin + 0.5 * (targ.mins + targ.maxs); for(i = 0; i < 2; ++i) for(j = 0; j < 2; ++j) for(k = 0; k < 2; ++k) { thisv = targ.origin; @@ -557,7 +558,6 @@ void CL_Weaponentity_Think() self.angles = '0 0 0'; float f; - f = 0; if (self.state == WS_RAISE && !intermission_running) { f = (self.owner.weapon_nextthink - time) * g_weaponratefactor / autocvar_g_balance_weaponswitchdelay; @@ -607,10 +607,6 @@ void CL_ExteriorWeaponentity_Think() } else setattachment(self, self.owner, "bip01 r hand"); - - // if that didn't find a tag, hide the exterior weapon model - if (!self.tag_index) - self.model = ""; } self.effects = self.owner.effects; if(sv_pitch_min == sv_pitch_max) @@ -731,7 +727,7 @@ void Send_WeaponComplain (entity e, float wpn, string wpnname, float type) float client_hasweapon(entity cl, float wpn, float andammo, float complain) { - float weaponbit, f; + float f; entity oldself; if(time < self.hasweapon_complain_spam) @@ -745,8 +741,7 @@ float client_hasweapon(entity cl, float wpn, float andammo, float complain) sprint(self, "Invalid weapon\n"); return FALSE; } - weaponbit = W_WeaponBit(wpn); - if (cl.weapons & weaponbit) + if (WEPSET_CONTAINS_EW(cl, wpn)) { if (andammo) { @@ -787,7 +782,7 @@ float client_hasweapon(entity cl, float wpn, float andammo, float complain) { // DRESK - 3/16/07 // Report Proper Weapon Status / Modified Weapon Ownership Message - if(weaponsInMap & weaponbit) + if (WEPSET_CONTAINS_AW(weaponsInMap, wpn)) { sprint(cl, strcat("You do not have the ^2", W_Name(wpn), "\n") ); Send_WeaponComplain (cl, wpn, W_Name(wpn), 1); @@ -800,7 +795,7 @@ float client_hasweapon(entity cl, float wpn, float andammo, float complain) e = get_weaponinfo(wpn); s = e.model2; - for(e = world; (e = findfloat(e, weapons, weaponbit)); ) + for(e = world; (e = findfloat(e, weapon, wpn)); ) { if(e.classname == "droppedweapon") continue; @@ -857,7 +852,7 @@ void weapon_setup(float windex) entity e; e = get_weaponinfo(windex); self.items &~= IT_AMMO; - self.items = self.items | e.items; + self.items = self.items | (e.items & IT_AMMO); // the two weapon entities will notice this has changed and update their models self.weapon = windex; @@ -871,10 +866,15 @@ void W_SwitchToOtherWeapon(entity pl) { // hack to ensure it switches to an OTHER weapon (in case the other fire mode still has ammo, we want that anyway) float w, ww; - w = W_WeaponBit(pl.weapon); - pl.weapons &~= w; - ww = w_getbestweapon(pl); - pl.weapons |= w; + w = pl.weapon; + if(WEPSET_CONTAINS_EW(pl, w)) + { + WEPSET_ANDNOT_EW(pl, w); + ww = w_getbestweapon(pl); + WEPSET_OR_EW(pl, w); + } + else + ww = w_getbestweapon(pl); if(ww) W_SwitchWeapon_Force(pl, ww); } @@ -1077,8 +1077,6 @@ vector W_CalculateProjectileVelocity(vector pvelocity, vector mvelocity, float f { vector mdirection; float mspeed; - float outspeed; - float nstyle; vector outvelocity; mvelocity = mvelocity * g_weaponspeedfactor; @@ -1086,61 +1084,7 @@ vector W_CalculateProjectileVelocity(vector pvelocity, vector mvelocity, float f mdirection = normalize(mvelocity); mspeed = vlen(mvelocity); - nstyle = autocvar_g_projectiles_newton_style; - if(nstyle == 0 || forceAbsolute) - { - // absolute velocity - outvelocity = mvelocity; - } - else if(nstyle == 1) - { - // true Newtonian projectiles - outvelocity = pvelocity + mvelocity; - } - else if(nstyle == 2) - { - // true Newtonian projectiles with automatic aim adjustment - // - // solve: |outspeed * mdirection - pvelocity| = mspeed - // outspeed^2 - 2 * outspeed * (mdirection * pvelocity) + pvelocity^2 - mspeed^2 = 0 - // outspeed = (mdirection * pvelocity) +- sqrt((mdirection * pvelocity)^2 - pvelocity^2 + mspeed^2) - // PLUS SIGN! - // not defined? - // then... - // pvelocity^2 - (mdirection * pvelocity)^2 > mspeed^2 - // velocity without mdirection component > mspeed - // fire at smallest possible mspeed that works? - // |(mdirection * pvelocity) * pvelocity - pvelocity| = mspeed - - vector solution; - solution = solve_quadratic(1, -2 * (mdirection * pvelocity), pvelocity * pvelocity - mspeed * mspeed); - if(solution_z) - outspeed = solution_y; // the larger one - else - { - //outspeed = 0; // slowest possible shot - outspeed = solution_x; // the real part (that is, the average!) - //dprint("impossible shot, adjusting\n"); - } - - outspeed = bound(mspeed * autocvar_g_projectiles_newton_style_2_minfactor, outspeed, mspeed * autocvar_g_projectiles_newton_style_2_maxfactor); - outvelocity = mdirection * outspeed; - } - else if(nstyle == 3) - { - // pseudo-Newtonian: - outspeed = mspeed + mdirection * pvelocity; - outspeed = bound(mspeed * 0.7, outspeed, mspeed * 5.0); - outvelocity = mdirection * outspeed; - } - else if(nstyle == 4) - { - // tZorkian: - outspeed = mspeed + vlen(pvelocity); - outvelocity = mdirection * outspeed; - } - else - error("g_projectiles_newton_style must be 0 (absolute), 1 (Newtonian), 2 (Newtonian + aimfix), 3 (pseudo Newtonian) or 4 (tZorkian)!"); + outvelocity = get_shotvelocity(pvelocity, mdirection, mspeed, (forceAbsolute ? 0 : autocvar_g_projectiles_newton_style), autocvar_g_projectiles_newton_style_2_minfactor, autocvar_g_projectiles_newton_style_2_maxfactor); return outvelocity; } @@ -1516,7 +1460,7 @@ void W_Reload(float sent_ammo_min, float sent_ammo_amount, float sent_time, stri // now begin the reloading process - sound (self, CH_WEAPON_B, self.reload_sound, VOL_BASE, ATTN_NORM); + sound (self, CH_WEAPON_SINGLE, self.reload_sound, VOL_BASE, ATTN_NORM); // do not set ATTACK_FINISHED in reload code any more. This causes annoying delays if eg: You start reloading a weapon, // then quickly switch to another weapon and back. Reloading is canceled, but the reload delay is still there, diff --git a/qcsrc/server/command/banning.qc b/qcsrc/server/command/banning.qc index 2fbdd27a0..ab58a4aee 100644 --- a/qcsrc/server/command/banning.qc +++ b/qcsrc/server/command/banning.qc @@ -160,9 +160,11 @@ void BanCommand_(float request) // ================================== // Do not hard code aliases for these, instead create them in commands.cfg... also: keep in alphabetical order, please ;) +// but for 0.5 compat, we need "bans" here as it was replaced... REMOVE IT AFTER 0.6 RELEASE!!!! #define BAN_COMMANDS(request,arguments,command) \ BAN_COMMAND("ban", BanCommand_ban(request, arguments, command), "Ban an IP address or a range of addresses (like 1.2.3)") \ BAN_COMMAND("banlist", BanCommand_banlist(request), "List all existing bans") \ + BAN_COMMAND("bans", BanCommand_banlist(request), "") \ BAN_COMMAND("kickban", BanCommand_kickban(request, arguments, command), "Disconnect a client and ban it at the same time") \ BAN_COMMAND("unban", BanCommand_unban(request, arguments), "Remove an existing ban") \ /* nothing */ @@ -170,7 +172,7 @@ void BanCommand_(float request) void BanCommand_macro_help() { #define BAN_COMMAND(name,function,description) \ - { print(" ^2", name, "^7: ", description, "\n"); } + { if(strtolower(description) != "") { print(" ^2", name, "^7: ", description, "\n"); } } BAN_COMMANDS(0, 0, "") #undef BAN_COMMAND @@ -203,7 +205,7 @@ float BanCommand_macro_usage(float argc) void BanCommand_macro_write_aliases(float fh) { #define BAN_COMMAND(name,function,description) \ - { CMD_Write_Alias("qc_cmd_sv", name, description); } + { if(strtolower(description) != "") { CMD_Write_Alias("qc_cmd_sv", name, description); } } BAN_COMMANDS(0, 0, "") #undef BAN_COMMAND diff --git a/qcsrc/server/command/banning.qh b/qcsrc/server/command/banning.qh index 7a6138283..8e3ecb7ba 100644 --- a/qcsrc/server/command/banning.qh +++ b/qcsrc/server/command/banning.qh @@ -3,7 +3,7 @@ // Last updated: December 29th, 2011 // ===================================== -#define GET_BAN_ARG(v,d) if((argc > reason_arg) && ((v = stof(argv(reason_arg))) != 0)) ++reason_arg; else v = d +#define GET_BAN_ARG(v,d) if(argc > reason_arg) { if((v = stof(argv(reason_arg))) != 0) ++reason_arg; else v = d; } else v = d #define GET_BAN_REASON(v,d) if(argc > reason_arg) v = substring(command, argv_start_index(reason_arg), strlen(command) - argv_start_index(reason_arg)); else v = d void Ban_KickBanClient(entity client, float bantime, float masksize, string reason); @@ -12,4 +12,4 @@ float Ban_Insert(string ip, float bantime, string reason, float dosync); float Ban_Delete(float i); // used by common/command/generic.qc:GenericCommand_dumpcommands to list all commands into a .txt file -void BanCommand_macro_write_aliases(float fh) \ No newline at end of file +void BanCommand_macro_write_aliases(float fh) diff --git a/qcsrc/server/command/cmd.qc b/qcsrc/server/command/cmd.qc index 5a7eb03ff..b659d44cc 100644 --- a/qcsrc/server/command/cmd.qc +++ b/qcsrc/server/command/cmd.qc @@ -152,7 +152,7 @@ void ClientCommand_join(float request) { if(self.classname != "player" && !lockteams && !g_arena) { - if(nJoinAllowed(1)) + if(nJoinAllowed(self)) { if(g_ca) { self.caplayer = 1; } if(autocvar_g_campaign) { campaign_bots_may_start = 1; } @@ -226,40 +226,6 @@ void ClientCommand_ready(float request) // todo: anti-spam for toggling readynes } } -void ClientCommand_reportcvar(float request, float argc, string command) -{ - switch(request) - { - case CMD_REQUEST_COMMAND: - { - if(argv(1) != "") - { - float tokens; - string s; - - if(substring(argv(2), 0, 1) == "$") // undefined cvar: use the default value on the server then - { - s = strcat(substring(command, argv_start_index(0), argv_end_index(1) - argv_start_index(0)), " \"", cvar_defstring(argv(1)), "\""); - tokens = tokenize_console(s); - } - - GetCvars(1); - - return; - } - } - - default: - sprint(self, "Incorrect parameters for ^2reportcvar^7\n"); - case CMD_REQUEST_USAGE: - { - sprint(self, "\nUsage:^3 cmd reportcvar <cvar>\n"); - sprint(self, " Where 'cvar' is the cvar plus arguments to send to the server.\n"); - return; - } - } -} - void ClientCommand_say(float request, float argc, string command) { switch(request) @@ -324,7 +290,7 @@ void ClientCommand_selectteam(float request, float argc) case "pink": selection = COLOR_TEAM4; break; case "auto": selection = (-1); break; - default: break; + default: selection = 0; break; } if(selection) @@ -398,7 +364,7 @@ void ClientCommand_sentcvar(float request, float argc, string command) if(argc == 2) // undefined cvar: use the default value on the server then { s = strcat(substring(command, argv_start_index(0), argv_end_index(1) - argv_start_index(0)), " \"", cvar_defstring(argv(1)), "\""); - tokens = tokenize_console(s); + tokenize_console(s); } GetCvars(1); @@ -445,7 +411,7 @@ void ClientCommand_spectate(float request) if(self.classname == "player" && autocvar_sv_spectate == 1) ClientKill_TeamChange(-2); // observe - // in CA, allow a dead player to move to spectatators (without that, caplayer!=0 will be moved back to the player list) + // in CA, allow a dead player to move to spectators (without that, caplayer!=0 will be moved back to the player list) // note: if arena game mode is ever done properly, this needs to be removed. if(g_ca && self.caplayer && (self.classname == "spectator" || self.classname == "observer")) { @@ -510,7 +476,7 @@ void ClientCommand_tell(float request, float argc, string command) } else { print_to(self, "You can't ^2tell^7 a message to yourself."); return; } } - else if(strtolower(argv(1)) == "world") + else if(argv(1) == "#0") { trigger_magicear_processmessage_forallears(self, -1, world, substring(command, argv_start_index(next_token), argv_end_index(-1) - argv_start_index(next_token))); return; @@ -595,7 +561,6 @@ void ClientCommand_(float request) CLIENT_COMMAND("mv_getpicture", ClientCommand_mv_getpicture(request, arguments), "Retrieve mapshot picture from the server") \ CLIENT_COMMAND("join", ClientCommand_join(request), "Become a player in the game") \ CLIENT_COMMAND("ready", ClientCommand_ready(request), "Qualify as ready to end warmup stage (or restart server if allowed)") \ - CLIENT_COMMAND("reportcvar", ClientCommand_reportcvar(request, arguments, command), "Old system for sending a client cvar to the server") \ CLIENT_COMMAND("say", ClientCommand_say(request, arguments, command), "Print a message to chat to all players") \ CLIENT_COMMAND("say_team", ClientCommand_say_team(request, arguments, command), "Print a message to chat to all team mates") \ CLIENT_COMMAND("selectteam", ClientCommand_selectteam(request, arguments), "Attempt to choose a team to join into") \ @@ -658,8 +623,17 @@ void ClientCommand_macro_write_aliases(float fh) void SV_ParseClientCommand(string command) { + // if we're banned, don't even parse the command + if(Ban_MaybeEnforceBanOnce(self)) + return; + float argc = tokenize_console(command); + // for the mutator hook system + cmd_name = strtolower(argv(0)); + cmd_argc = argc; + cmd_string = command; + // Guide for working with argc arguments by example: // argc: 1 - 2 - 3 - 4 // argv: 0 - 1 - 2 - 3 @@ -674,7 +648,6 @@ void SV_ParseClientCommand(string command) case "mv_getpicture": break; // handled by server in this file case "pause": break; // handled by engine in host_cmd.c case "prespawn": break; // handled by engine in host_cmd.c - case "reportcvar": break; // handled by server in this file case "sentcvar": break; // handled by server in this file case "spawn": break; // handled by engine in host_cmd.c @@ -727,4 +700,4 @@ void SV_ParseClientCommand(string command) } else clientcommand(self, command); -} \ No newline at end of file +} diff --git a/qcsrc/server/command/common.qc b/qcsrc/server/command/common.qc index 3b71e3d70..13e667ad8 100644 --- a/qcsrc/server/command/common.qc +++ b/qcsrc/server/command/common.qc @@ -63,6 +63,7 @@ entity GetIndexedEntity(float argc, float start_index) next_token = -1; index = start_index; + selection = world; if(argc > start_index) { @@ -80,6 +81,8 @@ entity GetIndexedEntity(float argc, float start_index) tmp_number = stof(argv(index)); ++index; } + else + tmp_number = 0; } else // maybe it's ONLY a number? { @@ -102,7 +105,7 @@ entity GetIndexedEntity(float argc, float start_index) } next_token = index; - print(strcat("start_index: ", ftos(start_index), ", next_token: ", ftos(next_token), ", edict: ", ftos(num_for_edict(selection)), ".\n")); + //print(strcat("start_index: ", ftos(start_index), ", next_token: ", ftos(next_token), ", edict: ", ftos(num_for_edict(selection)), ".\n")); return selection; } @@ -123,6 +126,7 @@ entity GetFilteredEntity(string input) } else { + selection = world; FOR_EACH_CLIENT(tmp_player) if (strdecolorize(tmp_player.netname) == strdecolorize(input)) selection = tmp_player; @@ -137,7 +141,7 @@ float GetFilteredNumber(string input) entity selection = GetFilteredEntity(input); float output; - if(selection) { output = num_for_edict(selection); } + output = num_for_edict(selection); return output; } @@ -433,7 +437,7 @@ void CommonCommand_records(float request, entity caller) float i; for(i = 0; i < 10; ++i) - if(records_reply[i]) + if(records_reply[i] != "") print_to(caller, records_reply[i]); return; // never fall through to usage @@ -614,6 +618,7 @@ void CommonCommand_who(float request, entity caller, float argc) print_to(caller, sprintf(strreplace(" ", separator, " %-4s %-20s %-5s %-3s %-9s %-16s %s "), "ent", "nickname", "ping", "pl", "time", "ip", "crypto_id")); + total_listed_players = 0; FOR_EACH_CLIENT(tmp_player) { is_bot = (clienttype(tmp_player) == CLIENTTYPE_BOT); @@ -759,4 +764,4 @@ void CommonCommand_macro_write_aliases(float fh) #undef COMMON_COMMAND return; -} \ No newline at end of file +} diff --git a/qcsrc/server/command/getreplies.qc b/qcsrc/server/command/getreplies.qc index 29b707b93..0bedd6d5e 100644 --- a/qcsrc/server/command/getreplies.qc +++ b/qcsrc/server/command/getreplies.qc @@ -12,8 +12,10 @@ string getrecords(float page) // 50 records per page { - float rec, r, i; + float rec = 0, r, i; string h, s; + + s = ""; if (g_ctf) { @@ -23,7 +25,7 @@ string getrecords(float page) // 50 records per page { r = stof(db_get(ServerProgsDB, strcat(MapInfo_Map_bspname, "/captimerecord/time"))); - if (r == 0) + if not(r) continue; // TODO: uid2name @@ -42,7 +44,7 @@ string getrecords(float page) // 50 records per page { r = race_readTime(MapInfo_Map_bspname, 1); - if (r == 0) + if not(r) continue; h = race_readName(MapInfo_Map_bspname, 1); @@ -60,7 +62,7 @@ string getrecords(float page) // 50 records per page { r = race_readTime(MapInfo_Map_bspname, 1); - if (r == 0) + if not(r) continue; h = race_readName(MapInfo_Map_bspname, 1); @@ -72,7 +74,7 @@ string getrecords(float page) // 50 records per page MapInfo_ClearTemps(); - if (s == "" && page == 0) + if(s == "" && page == 0) return "No records are available on this server.\n"; else return s; @@ -85,6 +87,7 @@ string getrankings() map = GetMapname(); + s = ""; for (i = 1; i <= RANKINGS_CNT; ++i) { t = race_readTime(map, i); @@ -107,7 +110,7 @@ string getrankings() string getladder() { - float i, j, k, uidcnt, thiscnt; + float i, j, k, uidcnt = 0, thiscnt; string s, temp_s, rr, myuid, thisuid; if(g_cts) @@ -281,4 +284,4 @@ string getladder() return "No ladder on this server!\n"; else return strcat("Top ", ftos(LADDER_SIZE), " ladder rankings:\n", s); -} \ No newline at end of file +} diff --git a/qcsrc/server/command/radarmap.qc b/qcsrc/server/command/radarmap.qc index 16f3212ed..d86517629 100644 --- a/qcsrc/server/command/radarmap.qc +++ b/qcsrc/server/command/radarmap.qc @@ -28,7 +28,7 @@ float FullTraceFraction(vector a, vector mi, vector ma, vector b) c = trace_endpos; } - n += tracebox_inverted(c, mi, ma, b, MOVE_WORLDONLY, world); + n += tracebox_inverted(c, mi, ma, b, MOVE_WORLDONLY, world, FALSE); white += vlen(trace_endpos - c); c = trace_endpos; @@ -424,4 +424,4 @@ float RadarMap_Make(float argc) } return FALSE; -} \ No newline at end of file +} diff --git a/qcsrc/server/command/sv_cmd.qc b/qcsrc/server/command/sv_cmd.qc index 98d877c43..10f725f32 100644 --- a/qcsrc/server/command/sv_cmd.qc +++ b/qcsrc/server/command/sv_cmd.qc @@ -81,6 +81,7 @@ void GameCommand_adminmsg(float request, float argc) float infobartime = stof(argv(3)); string successful, t; + successful = string_null; if((targets) && (admin_message)) { @@ -166,7 +167,7 @@ void GameCommand_allspec(float request, float argc) { entity client; string reason = argv(1); - float i; + float i = 0; FOR_EACH_REALPLAYER(client) { @@ -528,7 +529,7 @@ void GameCommand_defer_clear_all(float request) case CMD_REQUEST_COMMAND: { entity client; - float i; + float i = 0; float argc; FOR_EACH_CLIENT(client) @@ -904,6 +905,7 @@ void GameCommand_moveplayer(float request, float argc) string notify = argv(3); string successful, t; + successful = string_null; // lets see if the target(s) even actually exist. if((targets) && (destination)) @@ -1238,10 +1240,12 @@ void GameCommand_shuffleteams(float request) { if(teamplay) { - entity tmp_player, client; - float i, x, z, t_teams, t_players, team_color, accepted; + entity tmp_player; + float i, x, z, t_teams, t_players, team_color; // count the total amount of players and total amount of teams + t_players = 0; + t_teams = 0; FOR_EACH_PLAYER(tmp_player) { CheckAllowedTeams(tmp_player); @@ -1421,7 +1425,6 @@ void GameCommand_trace(float request, float argc) { rint(42); // do an engine breakpoint on VM_rint so you can get the trace that errnoeously returns startsolid tracebox(start, PL_MIN, PL_MAX, end, MOVE_NOMONSTERS, world); - tracebox(p, PL_MIN, PL_MAX, q, MOVE_NOMONSTERS, world); if(trace_startsolid) { @@ -1803,4 +1806,4 @@ void GameCommand(string command) print(((command != "") ? strcat("Unknown server command \"", command, "\"") : "No command provided"), ". For a list of supported commands, try sv_cmd help.\n"); return; -} \ No newline at end of file +} diff --git a/qcsrc/server/command/vote.qc b/qcsrc/server/command/vote.qc index 8769629f9..c55eee9ac 100644 --- a/qcsrc/server/command/vote.qc +++ b/qcsrc/server/command/vote.qc @@ -185,18 +185,18 @@ void VoteSpam(float notvoters, float mincount, string result) } } -void VoteCount() +void VoteCount(float first_count) { // declarations vote_accept_count = vote_reject_count = vote_abstain_count = 0; float spectators_allowed = ((autocvar_sv_vote_nospectators != 2) - || ((autocvar_sv_vote_nospectators == 1) && inWarmupStage) + || ((autocvar_sv_vote_nospectators == 1) && (inWarmupStage || gameover)) || (autocvar_sv_vote_nospectators == 0)); - float vote_player_count, is_player, notvoters; - float vote_real_player_count, vote_real_accept_count; - float vote_real_reject_count, vote_real_abstain_count; + float vote_player_count = 0, is_player, notvoters = 0; + float vote_real_player_count = 0, vote_real_accept_count = 0; + float vote_real_reject_count = 0, vote_real_abstain_count = 0; float vote_needed_of_voted, final_needed_votes; float vote_factor_overall, vote_factor_of_voted; @@ -250,8 +250,15 @@ void VoteCount() vote_factor_of_voted = bound(0.5, autocvar_sv_vote_majority_factor_of_voted, 0.999); vote_needed_of_voted = floor((vote_accept_count + vote_reject_count) * vote_factor_of_voted) + 1; + // are there any players at all on the server? it could be an admin vote + if(vote_player_count == 0 && first_count) + { + VoteSpam(0, -1, "yes"); // no players at all, just accept it + VoteAccept(); + return; + } - // finally calculate the result of the vote + // since there ARE players, finally calculate the result of the vote if(vote_accept_count >= vote_needed_overall) { VoteSpam(notvoters, -1, "yes"); // there is enough acceptions to pass the vote @@ -301,7 +308,7 @@ void VoteThink() if(vote_endtime > 0) // a vote was called if(time > vote_endtime) // time is up { - VoteCount(); + VoteCount(FALSE); } return; @@ -397,7 +404,7 @@ void ReadyCount() { entity tmp_player; float ready_needed_factor, ready_needed_count; - float t_ready, t_players; + float t_ready = 0, t_players = 0; FOR_EACH_REALPLAYER(tmp_player) { @@ -602,7 +609,7 @@ void VoteCommand_abstain(float request, entity caller) // CLIENT ONLY print_to(caller, "^1You abstained from your vote."); caller.vote_selection = VOTE_SELECT_ABSTAIN; msg_entity = caller; - if(!autocvar_sv_vote_singlecount) { VoteCount(); } + if(!autocvar_sv_vote_singlecount) { VoteCount(FALSE); } } return; @@ -628,7 +635,7 @@ void VoteCommand_call(float request, entity caller, float argc, string vote_comm || ((autocvar_sv_vote_nospectators == 1) && inWarmupStage) || (autocvar_sv_vote_nospectators == 0)); - float tmp_playercount; + float tmp_playercount = 0; entity tmp_player; vote_command = VoteCommand_extractcommand(vote_command, 2, argc); @@ -662,7 +669,7 @@ void VoteCommand_call(float request, entity caller, float argc, string vote_comm bprint("\{1}^2* ^3", GetCallerName(vote_caller), "^2 calls a vote for ", vote_called_display, "\n"); if(autocvar_sv_eventlog) { GameLogEcho(strcat(":vote:vcall:", ftos(vote_caller.playerid), ":", vote_called_display)); } Nagger_VoteChanged(); - VoteCount(); // needed if you are the only one + VoteCount(TRUE); // needed if you are the only one } return; @@ -728,8 +735,13 @@ void VoteCommand_master(float request, entity caller, float argc, string vote_co default: // calling a vote for master { + float spectators_allowed = ((autocvar_sv_vote_nospectators != 2) + || ((autocvar_sv_vote_nospectators == 1) && inWarmupStage) + || (autocvar_sv_vote_nospectators == 0)); + if not(autocvar_sv_vote_master_callable) { print_to(caller, "^1Vote to become vote master is not allowed."); } else if(vote_called) { print_to(caller, "^1There is already a vote called."); } + else if(!spectators_allowed && (caller && (caller.classname != "player"))) { print_to(caller, "^1Only players can call a vote."); } else if(timeout_status) { print_to(caller, "^1You can not call a vote while a timeout is active."); } else // everything went okay, continue with creating vote @@ -746,7 +758,7 @@ void VoteCommand_master(float request, entity caller, float argc, string vote_co bprint("\{1}^2* ^3", GetCallerName(vote_caller), "^2 calls a vote to become ^3master^2.\n"); if(autocvar_sv_eventlog) { GameLogEcho(strcat(":vote:vcall:", ftos(vote_caller.playerid), ":", vote_called_display)); } Nagger_VoteChanged(); - VoteCount(); // needed if you are the only one + VoteCount(TRUE); // needed if you are the only one } return; @@ -784,7 +796,7 @@ void VoteCommand_no(float request, entity caller) // CLIENT ONLY print_to(caller, "^1You rejected the vote."); caller.vote_selection = VOTE_SELECT_REJECT; msg_entity = caller; - if(!autocvar_sv_vote_singlecount) { VoteCount(); } + if(!autocvar_sv_vote_singlecount) { VoteCount(FALSE); } } return; @@ -861,7 +873,7 @@ void VoteCommand_yes(float request, entity caller) // CLIENT ONLY print_to(caller, "^1You accepted the vote."); caller.vote_selection = VOTE_SELECT_ACCEPT; msg_entity = caller; - if(!autocvar_sv_vote_singlecount) { VoteCount(); } + if(!autocvar_sv_vote_singlecount) { VoteCount(FALSE); } } return; @@ -985,4 +997,4 @@ void VoteCommand(float request, entity caller, float argc, string vote_command) return; } } -} \ No newline at end of file +} diff --git a/qcsrc/server/csqcprojectile.qc b/qcsrc/server/csqcprojectile.qc index d5b6697f2..3554f1ff6 100644 --- a/qcsrc/server/csqcprojectile.qc +++ b/qcsrc/server/csqcprojectile.qc @@ -13,6 +13,7 @@ float CSQCProjectile_SendEntity(entity to, float sf) if(self.flags & FL_ONGROUND) sf |= 0x40; + ft = fr = 0; if(self.fade_time != 0 || self.fade_rate != 0) { ft = (self.fade_time - time) / sys_frametime; @@ -79,9 +80,9 @@ void CSQCProjectile(entity e, float clientanimate, float type, float docull) else e.gravity = 0; - e.csqcprojectile_type = type; if(!sound_allowed(MSG_BROADCAST, e)) type |= 0x80; + e.csqcprojectile_type = type; } void UpdateCSQCProjectile(entity e) diff --git a/qcsrc/server/ctf.qc b/qcsrc/server/ctf.qc index f5835377d..d84075cf4 100644 --- a/qcsrc/server/ctf.qc +++ b/qcsrc/server/ctf.qc @@ -416,6 +416,7 @@ void flag_cap_ring_spawn(vector org) shockwave_spawn("models/ctf/shockwavetransring.md3", org - '0 0 15', -0.8, 0, 1); } +// TODO add FlagDamage, replace weird hurttrigger handling inside trigger_hurt code by it void FlagTouch() { if(gameover) return; @@ -423,14 +424,24 @@ void FlagTouch() float t; entity player; string s, s0, h0, h1; + + if (self.cnt == FLAG_CARRY) + return; + + if (self.cnt == FLAG_DROPPED) + { + if(ITEM_TOUCH_NEEDKILL()) + { + self.pain_finished = 0; // return immediately + return; + } + } + if (other.classname != "player") return; if (other.health < 1) // ignore dead players return; - if (self.cnt == FLAG_CARRY) - return; - if (self.cnt == FLAG_BASE) if (other.team == self.team) if (other.flagcarried) // he's got a flag diff --git a/qcsrc/server/defs.qh b/qcsrc/server/defs.qh index e2de178c1..bb8ed4ad6 100644 --- a/qcsrc/server/defs.qh +++ b/qcsrc/server/defs.qh @@ -27,12 +27,14 @@ float g_ctf_reverse; float g_race_qualifying; float inWarmupStage; float g_pickup_respawntime_weapon; +float g_pickup_respawntime_superweapon; float g_pickup_respawntime_ammo; float g_pickup_respawntime_short; float g_pickup_respawntime_medium; float g_pickup_respawntime_long; float g_pickup_respawntime_powerup; float g_pickup_respawntimejitter_weapon; +float g_pickup_respawntimejitter_superweapon; float g_pickup_respawntimejitter_ammo; float g_pickup_respawntimejitter_short; float g_pickup_respawntimejitter_medium; @@ -89,9 +91,8 @@ float maxclients; .float crouch; // Crouching or not? .float strength_finished; -//.float speed_finished; .float invincible_finished; -//.float slowmo_finished; +.float superweapons_finished; .vector finaldest, finalangle; //plat.qc stuff .void() think1; @@ -99,11 +100,13 @@ float maxclients; .float t_length, t_width; .vector destvec; // for rain +.vector destvec2; // for train .float cnt; // for rain .float count; //.float cnt2; .float play_time; +.float respawn_time; .float death_time; .float fade_time; .float fade_rate; @@ -279,7 +282,7 @@ void checkSpectatorBlock(); .float jointime; // time of joining .float alivetime; // time of being alive -float nJoinAllowed(float includeMe); +float nJoinAllowed(entity ignore); #define PREVENT_JOIN_TEXT "^1You may not join the game at this time.\n\nThe player limit reached maximum capacity." .float spawnshieldtime; @@ -341,7 +344,6 @@ string gamemode_name; float startitem_failed; void DropFlag(entity flag, entity penalty_receiver, entity attacker); -void DropBall(entity ball, vector org, vector vel); void DropAllRunes(entity pl); @@ -349,13 +351,13 @@ typedef .float floatfield; floatfield Item_CounterField(float it); float W_AmmoItemCode(float wpn); -float W_WeaponBit(float wpn); string W_Name(float weaponid); +string W_Apply_Weaponreplace(string in); void FixIntermissionClient(entity e); void FixClientCvars(entity e); -float weaponsInMap; +WEPSET_DECLARE_A(weaponsInMap); .float respawn_countdown; // next number to count @@ -490,7 +492,6 @@ float independent_players; string clientstuff; .float phase; -.float weapons; .float pressedkeys; .float porto_forbidden; @@ -544,7 +545,7 @@ void SUB_UseTargets(); void ClientData_Touch(entity e); -vector debug_shotorg; // if non-zero, overrides the shot origin of all weapons +//vector debug_shotorg; // if non-zero, overrides the shot origin of all weapons .float wasplayer; @@ -651,6 +652,8 @@ float serverflags; .float team_forced; // can be a team number to force a team, or 0 for default action, or -1 for forced spectator +.float player_blocked; + .float freezetag_frozen; .float freezetag_revive_progress; @@ -663,3 +666,5 @@ typedef vector(entity player, entity spot, vector current) spawn_evalfunc_t; .spawn_evalfunc_t spawn_evalfunc; .entity conveyor; + +string modname; diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index dde853283..a49aad27b 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -14,10 +14,11 @@ float Damage_DamageInfo_SendEntity(entity to, float sf) 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? @@ -35,8 +36,8 @@ void Damage_DamageInfo(vector org, float coredamage, float edgedamage, float rad 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); } @@ -100,10 +101,9 @@ void UpdateFrags(entity player, float f) // NOTE: f=0 means still count as a (positive) kill, but count no frags for it void W_SwitchWeapon_Force(entity e, float w); +entity GiveFrags_randomweapons; void GiveFrags (entity attacker, entity targ, float f, float deathtype) { - float w; - // TODO route through PlayerScores instead if(gameover) return; @@ -140,34 +140,44 @@ void GiveFrags (entity attacker, entity targ, float f, float deathtype) // after a frag, exchange the current weapon (or the culprit, if detectable) by a new random weapon float culprit; culprit = DEATH_WEAPONOF(deathtype); - if(!culprit || !(attacker.weapons & W_WeaponBit(culprit))) + if(!culprit) + culprit = attacker.weapon; + else if(!WEPSET_CONTAINS_EW(attacker, culprit)) culprit = attacker.weapon; - if(g_weaponarena_random_with_laser && culprit == WEPBIT_LASER) + if(g_weaponarena_random_with_laser && culprit == WEP_LASER) { // no exchange } else { + if(!GiveFrags_randomweapons) + { + GiveFrags_randomweapons = spawn(); + GiveFrags_randomweapons.classname = "GiveFrags_randomweapons"; + } + if(inWarmupStage) - w = warmup_start_weapons; + WEPSET_COPY_EA(GiveFrags_randomweapons, warmup_start_weapons); else - w = start_weapons; + WEPSET_COPY_EA(GiveFrags_randomweapons, start_weapons); // all others (including the culprit): remove - w &~= attacker.weapons; + WEPSET_ANDNOT_EE(GiveFrags_randomweapons, attacker); + WEPSET_ANDNOT_EW(GiveFrags_randomweapons, culprit); // among the remaining ones, choose one by random - w = randombits(w, 1, FALSE); - if(w) + W_RandomWeapons(GiveFrags_randomweapons, 1); + + if(!WEPSET_EMPTY_E(GiveFrags_randomweapons)) { - attacker.weapons |= w; - attacker.weapons &~= W_WeaponBit(culprit); + WEPSET_OR_EE(attacker, GiveFrags_randomweapons); + WEPSET_ANDNOT_EW(attacker, culprit); } } // after a frag, choose another random weapon set - if not(attacker.weapons & W_WeaponBit(attacker.weapon)) + if not(WEPSET_CONTAINS_EW(attacker, attacker.weapon)) W_SwitchWeapon_Force(attacker, w_getbestweapon(attacker)); } @@ -223,37 +233,39 @@ void GiveFrags (entity attacker, entity targ, float f, float deathtype) string Obituary_ExtraFragInfo(entity player) // Extra fragmessage information { - string health_output; - string ping_output; - string handicap_output; - string output; - - // health/armor of attacker (person who killed you) - if(autocvar_sv_fraginfo_stats && (player.health >= 1)) - if((autocvar_sv_fraginfo_stats == 2) || inWarmupStage) + string health_output = string_null; + string ping_output = string_null; + string handicap_output = string_null; + string output = string_null; + + if(autocvar_sv_fraginfo && ((autocvar_sv_fraginfo == 2) || inWarmupStage)) + { + // health/armor of attacker (person who killed you) + if(autocvar_sv_fraginfo_stats && (player.health >= 1)) health_output = strcat("^7(Health ^1", ftos(rint(player.health)), "^7 / Armor ^2", ftos(rint(player.armorvalue)), "^7)"); - - // ping display - if(autocvar_sv_fraginfo_ping) - ping_output = ((clienttype(player) == CLIENTTYPE_BOT) ? "^2Bot" : strcat("Ping ", ((player.ping >= 150) ? "^1" : "^2"), ftos(rint(player.ping)), "ms")); - // handicap display - if(autocvar_sv_fraginfo_handicap) - { - if(autocvar_sv_fraginfo_handicap == 2) - handicap_output = strcat(output, strcat("Handicap ^2", ((player.cvar_cl_handicap <= 1) ? "Off" : ftos(rint(player.cvar_cl_handicap))))); - else if(player.cvar_cl_handicap) // with _handicap 1, only show this if there actually is a handicap enabled. - handicap_output = strcat("Handicap ^2", ftos(rint(player.cvar_cl_handicap))); + // ping display + if(autocvar_sv_fraginfo_ping) + ping_output = ((clienttype(player) == CLIENTTYPE_BOT) ? "^2Bot" : strcat("Ping ", ((player.ping >= 150) ? "^1" : "^2"), ftos(rint(player.ping)), "ms")); + + // handicap display + if(autocvar_sv_fraginfo_handicap) + { + if(autocvar_sv_fraginfo_handicap == 2) + handicap_output = strcat(output, strcat("Handicap ^2", ((player.cvar_cl_handicap <= 1) ? "Off" : ftos(rint(player.cvar_cl_handicap))))); + else if(player.cvar_cl_handicap) // with _handicap 1, only show this if there actually is a handicap enabled. + handicap_output = strcat("Handicap ^2", ftos(rint(player.cvar_cl_handicap))); + } + + // format the string + output = strcat(health_output, (health_output ? ((ping_output || handicap_output) ? " ^7(" : "") : ((ping_output || handicap_output) ? "^7(" : "")), + ping_output, (handicap_output ? "^7 / " : ""), + handicap_output, ((ping_output || handicap_output) ? "^7)" : "")); + + // add new line to the beginning if there is a message + if(output) { output = strcat("\n", output); } } - // format the string - output = strcat(health_output, (health_output ? ((ping_output || handicap_output) ? " ^7(" : "") : ((ping_output || handicap_output) ? "^7(" : "")), - ping_output, (handicap_output ? "^7 / " : ""), - handicap_output, ((ping_output || handicap_output) ? "^7)" : "")); - - // add new line to the beginning if there is a message - if(output) { output = strcat("\n", output); } - return output; } @@ -342,6 +354,8 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype) { if (deathtype == DEATH_TEAMCHANGE || deathtype == DEATH_AUTOTEAMCHANGE) msg = ColoredTeamName(targ.team); // TODO: check if needed? + else + msg = ""; if(!g_cts) // no "killed your own dumb self" message in CTS Send_CSQC_KillCenterprint(targ, msg, "", deathtype, MSG_SUICIDE); @@ -353,6 +367,8 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype) if (targ.killcount > 2) msg = ftos(targ.killcount); + else + msg = ""; if(teamplay && deathtype == DEATH_MIRRORDAMAGE) { if(attacker.team == COLOR_TEAM1) @@ -376,9 +392,10 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype) Send_CSQC_KillCenterprint(attacker, s, "", type, MSG_KILL); - if (targ.killcount > 2) { + if (targ.killcount > 2) msg = ftos(targ.killcount); - } + else + msg = ""; if (attacker.killcount > 2) { msg = ftos(attacker.killcount); @@ -403,7 +420,7 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype) PlayerStats_Event(targ, PLAYERSTATS_ACHIEVEMENT_FIRSTVICTIM, 1); } - if((autocvar_sv_fraginfo_typefrag) && (targ.BUTTON_CHAT)) { + if(targ.BUTTON_CHAT) { Send_CSQC_KillCenterprint(attacker, s, Obituary_ExtraFragInfo(targ), KILL_TYPEFRAG, MSG_KILL); Send_CSQC_KillCenterprint(targ, a, Obituary_ExtraFragInfo(attacker), KILL_TYPEFRAGGED, MSG_KILL); } else { @@ -413,11 +430,12 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype) attacker.taunt_soundtime = time + 1; - // TODO: fix this? - if (deathtype == DEATH_CUSTOM) + if (deathtype == DEATH_HURTTRIGGER && inflictor.message2 != "") + msg = inflictor.message2; + else if (deathtype == DEATH_CUSTOM) msg = deathmessage; else - msg = inflictor.message2; + msg = ""; if(strstrofs(msg, "%", 0) < 0) msg = strcat("%s ", msg, " by %s"); @@ -494,6 +512,8 @@ void Obituary (entity attacker, entity inflictor, entity targ, float deathtype) msg = inflictor.message; else if (deathtype == DEATH_CUSTOM) msg = deathmessage; + else + msg = ""; if(strstrofs(msg, "%", 0) < 0) msg = strcat("%s ", msg); @@ -627,9 +647,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float if(autocvar_g_mirrordamage_virtual) { - vector v; - v = healtharmor_applydamage(attacker.armorvalue, autocvar_g_balance_armor_blockpercent, mirrordamage); - v_z = 0; // fteqcc sucks + vector v = healtharmor_applydamage(attacker.armorvalue, autocvar_g_balance_armor_blockpercent, mirrordamage); attacker.dmg_take += v_x; attacker.dmg_save += v_y; attacker.dmg_inflictor = inflictor; @@ -639,9 +657,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float if(autocvar_g_friendlyfire_virtual) { - vector v; - v = healtharmor_applydamage(targ.armorvalue, autocvar_g_balance_armor_blockpercent, damage); - v_z = 0; // fteqcc sucks + vector v = healtharmor_applydamage(targ.armorvalue, autocvar_g_balance_armor_blockpercent, damage); targ.dmg_take += v_x; targ.dmg_save += v_y; targ.dmg_inflictor = inflictor; @@ -796,7 +812,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float if(targ.takedamage == DAMAGE_AIM) if(targ != attacker) { - if(damage_headshotbonus > 0) + if(damage_headshotbonus) { if(targ.classname == "player") { @@ -817,7 +833,8 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float deathtype |= HITTYPE_HEADSHOT; } if(deathtype & HITTYPE_HEADSHOT) - damage *= 1 + damage_headshotbonus; + if(damage_headshotbonus > 0) + damage *= 1 + damage_headshotbonus; } entity victim; @@ -884,7 +901,23 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float if (vlen(force)) if (self.classname != "player" || time >= self.spawnshieldtime || g_midair) { - self.velocity = self.velocity + damage_explosion_calcpush(self.damageforcescale * force, self.velocity, autocvar_g_balance_damagepush_speedfactor); + vector farce = damage_explosion_calcpush(self.damageforcescale * force, self.velocity, autocvar_g_balance_damagepush_speedfactor); + if(self.movetype == MOVETYPE_PHYSICS) + { + entity farcent; + farcent = spawn(); + farcent.classname = "farce"; + farcent.enemy = self; + farcent.movedir = farce * 10; + if(self.mass) + farcent.movedir = farcent.movedir * self.mass; + farcent.origin = hitloc; + farcent.forcetype = FORCETYPE_FORCEATPOS; + farcent.nextthink = time + 0.1; + farcent.think = SUB_Remove; + } + else + self.velocity = self.velocity + farce; self.flags &~= FL_ONGROUND; UpdateCSQCProjectile(self); } @@ -954,16 +987,11 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float float RadiusDamage_running; float RadiusDamage (entity inflictor, entity attacker, float coredamage, float edgedamage, float rad, entity ignore, float forceintensity, float deathtype, entity directhitentity) -// Returns total damage applies to creatures + // Returns total damage applies to creatures { entity targ; - float finaldmg; - float power; vector blastorigin; vector force; - vector diff; - vector center; - vector nearest; float total_damage_to_creatures; entity next; float tfloordmg; @@ -986,18 +1014,18 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e total_damage_to_creatures = 0; if(deathtype != (WEP_HOOK | HITTYPE_SECONDARY | HITTYPE_BOUNCE)) // only send gravity bomb damage once - if(DEATH_WEAPONOF(deathtype) != WEP_TUBA) // do not send tuba damage (bandwidth hog) - { - force = inflictor.velocity; - if(vlen(force) == 0) - force = '0 0 -1'; - else - force = normalize(force); - if(forceintensity >= 0) - Damage_DamageInfo(blastorigin, coredamage, edgedamage, rad, forceintensity * force, deathtype, attacker); - else - Damage_DamageInfo(blastorigin, coredamage, edgedamage, -rad, (-forceintensity) * force, deathtype, attacker); - } + if(DEATH_WEAPONOF(deathtype) != WEP_TUBA) // do not send tuba damage (bandwidth hog) + { + force = inflictor.velocity; + if(vlen(force) == 0) + force = '0 0 -1'; + else + force = normalize(force); + if(forceintensity >= 0) + Damage_DamageInfo(blastorigin, coredamage, edgedamage, rad, forceintensity * force, deathtype, 0, attacker); + else + Damage_DamageInfo(blastorigin, coredamage, edgedamage, -rad, (-forceintensity) * force, deathtype, 0, attacker); + } stat_damagedone = 0; @@ -1008,6 +1036,10 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e if (targ != inflictor) if (ignore != targ) if(targ.takedamage) { + vector nearest; + vector diff; + float power; + // LordHavoc: measure distance to nearest point on target (not origin) // (this guarentees 100% damage on a touch impact) nearest = targ.WarpZone_findradius_nearest; @@ -1021,6 +1053,7 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e // print(ftos(power), "\n"); if (power > 0) { + float finaldmg; if (power > 1) power = 1; finaldmg = coredamage * power + edgedamage * (1 - power); @@ -1028,95 +1061,128 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e { float a; float c; - float hits; - float total; - float hitratio; vector hitloc; vector myblastorigin; + vector center; + myblastorigin = WarpZone_TransformOrigin(targ, blastorigin); - center = targ.origin + (targ.mins + targ.maxs) * 0.5; + // if it's a player, use the view origin as reference if (targ.classname == "player") center = targ.origin + targ.view_ofs; + else + center = targ.origin + (targ.mins + targ.maxs) * 0.5; + force = normalize(center - myblastorigin); force = force * (finaldmg / coredamage) * forceintensity; - // test line of sight to multiple positions on box, - // and do damage if any of them hit - hits = 0; - if (targ.classname == "player") - total = ceil(bound(1, finaldmg, 50)); - else - total = ceil(bound(1, finaldmg/10, 5)); hitloc = nearest; - c = 0; - while (c < total) + + if(targ != directhitentity) { - //traceline(targ.WarpZone_findradius_findorigin, nearest, MOVE_NOMONSTERS, inflictor); - WarpZone_TraceLine(blastorigin, WarpZone_UnTransformOrigin(targ, nearest), MOVE_NOMONSTERS, inflictor); - if (trace_fraction == 1 || trace_ent == targ) + float hits; + float total; + float hitratio; + float mininv_f, mininv_d; + + // test line of sight to multiple positions on box, + // and do damage if any of them hit + hits = 0; + + // we know: max stddev of hitratio = 1 / (2 * sqrt(n)) + // so for a given max stddev: + // n = (1 / (2 * max stddev of hitratio))^2 + + mininv_d = (finaldmg * (1-tfloordmg)) / autocvar_g_throughfloor_damage_max_stddev; + mininv_f = (vlen(force) * (1-tfloorforce)) / autocvar_g_throughfloor_force_max_stddev; + + if(autocvar_g_throughfloor_debug) + print(sprintf("THROUGHFLOOR: D=%f F=%f max(dD)=1/%f max(dF)=1/%f", finaldmg, vlen(force), mininv_d, mininv_f)); + + total = 0.25 * pow(max(mininv_f, mininv_d), 2); + + if(autocvar_g_throughfloor_debug) + print(sprintf(" steps=%f", total)); + + if (targ.classname == "player") + total = ceil(bound(autocvar_g_throughfloor_min_steps_player, total, autocvar_g_throughfloor_max_steps_player)); + else + total = ceil(bound(autocvar_g_throughfloor_min_steps_other, total, autocvar_g_throughfloor_max_steps_other)); + + if(autocvar_g_throughfloor_debug) + print(sprintf(" steps=%f dD=%f dF=%f", total, finaldmg * (1-tfloordmg) / (2 * sqrt(total)), vlen(force) * (1-tfloorforce) / (2 * sqrt(total)))); + + for(c = 0; c < total; ++c) { - hits = hits + 1; - if (hits > 1) - hitloc = hitloc + nearest; - else - hitloc = nearest; + //traceline(targ.WarpZone_findradius_findorigin, nearest, MOVE_NOMONSTERS, inflictor); + WarpZone_TraceLine(blastorigin, WarpZone_UnTransformOrigin(targ, nearest), MOVE_NOMONSTERS, inflictor); + if (trace_fraction == 1 || trace_ent == targ) + { + ++hits; + if (hits > 1) + hitloc = hitloc + nearest; + else + hitloc = nearest; + } + nearest_x = targ.origin_x + targ.mins_x + random() * targ.size_x; + nearest_y = targ.origin_y + targ.mins_y + random() * targ.size_y; + nearest_z = targ.origin_z + targ.mins_z + random() * targ.size_z; } - nearest_x = targ.origin_x + targ.mins_x + random() * targ.size_x; - nearest_y = targ.origin_y + targ.mins_y + random() * targ.size_y; - nearest_z = targ.origin_z + targ.mins_z + random() * targ.size_z; - c = c + 1; + + nearest = hitloc * (1 / max(1, hits)); + hitratio = (hits / total); + a = bound(0, tfloordmg + (1-tfloordmg) * hitratio, 1); + finaldmg = finaldmg * a; + a = bound(0, tfloorforce + (1-tfloorforce) * hitratio, 1); + force = force * a; + + if(autocvar_g_throughfloor_debug) + print(sprintf(" D=%f F=%f\n", finaldmg, vlen(force))); } - nearest = hitloc * (1 / max(1, hits)); - hitratio = (hits / total); - a = bound(0, tfloordmg + (1-tfloordmg) * hitratio, 1); - finaldmg = finaldmg * a; - a = bound(0, tfloorforce + (1-tfloorforce) * hitratio, 1); - force = force * a; // laser force adjustments :P if(DEATH_WEAPONOF(deathtype) == WEP_LASER) { - if (targ == attacker) - { - vector vel; - - float force_zscale; - float force_velocitybiasramp; - float force_velocitybias; - - force_velocitybiasramp = autocvar_sv_maxspeed; - if(deathtype & HITTYPE_SECONDARY) - { - force_zscale = autocvar_g_balance_laser_secondary_force_zscale; - force_velocitybias = autocvar_g_balance_laser_secondary_force_velocitybias; - } - else - { - force_zscale = autocvar_g_balance_laser_primary_force_zscale; - force_velocitybias = autocvar_g_balance_laser_primary_force_velocitybias; - } - - vel = targ.velocity; - vel_z = 0; - vel = normalize(vel) * bound(0, vlen(vel) / force_velocitybiasramp, 1) * force_velocitybias; - force = - vlen(force) - * - normalize(normalize(force) + vel); - - force_z *= force_zscale; - } - else - { - if(deathtype & HITTYPE_SECONDARY) - { - force *= autocvar_g_balance_laser_secondary_force_other_scale; - } - else - { - force *= autocvar_g_balance_laser_primary_force_other_scale; - } - } + if (targ == attacker) + { + vector vel; + + float force_zscale; + float force_velocitybiasramp; + float force_velocitybias; + + force_velocitybiasramp = autocvar_sv_maxspeed; + if(deathtype & HITTYPE_SECONDARY) + { + force_zscale = autocvar_g_balance_laser_secondary_force_zscale; + force_velocitybias = autocvar_g_balance_laser_secondary_force_velocitybias; + } + else + { + force_zscale = autocvar_g_balance_laser_primary_force_zscale; + force_velocitybias = autocvar_g_balance_laser_primary_force_velocitybias; + } + + vel = targ.velocity; + vel_z = 0; + vel = normalize(vel) * bound(0, vlen(vel) / force_velocitybiasramp, 1) * force_velocitybias; + force = + vlen(force) + * + normalize(normalize(force) + vel); + + force_z *= force_zscale; + } + else + { + if(deathtype & HITTYPE_SECONDARY) + { + force *= autocvar_g_balance_laser_secondary_force_other_scale; + } + else + { + force *= autocvar_g_balance_laser_primary_force_other_scale; + } + } } //if (targ == attacker) @@ -1125,7 +1191,7 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e // print(" finaldmg ", ftos(finaldmg), " force ", vtos(force)); // print(" (", ftos(a), ")\n"); //} - if(hits || tfloordmg || tfloorforce) + if(finaldmg || vlen(force)) { if(targ.iscreature) { diff --git a/qcsrc/server/g_models.qc b/qcsrc/server/g_models.qc index befdb9bcc..43dc25ff7 100644 --- a/qcsrc/server/g_models.qc +++ b/qcsrc/server/g_models.qc @@ -128,6 +128,7 @@ float g_clientmodel_genericsendentity (entity to, float sf) #define G_MODEL_INIT(sol) \ + if(self.geomtype) if(autocvar_physics_ode && checkextension("DP_PHYSICS_ODE")) self.movetype = MOVETYPE_PHYSICS; \ if(!self.scale) self.scale = self.modelscale; \ SetBrushEntityModel(); \ self.use = g_model_setcolormaptoactivator; \ @@ -135,6 +136,7 @@ float g_clientmodel_genericsendentity (entity to, float sf) if(!self.solid) self.solid = (sol); else if(self.solid < 0) self.solid = SOLID_NOT; #define G_CLIENTMODEL_INIT(sol) \ + if(self.geomtype) if(autocvar_physics_ode && checkextension("DP_PHYSICS_ODE")) self.movetype = MOVETYPE_PHYSICS; \ if(!self.scale) self.scale = self.modelscale; \ SetBrushEntityModel(); \ self.use = g_clientmodel_setcolormaptoactivator; \ diff --git a/qcsrc/server/g_subs.qc b/qcsrc/server/g_subs.qc index e119e5aba..df63a70bb 100644 --- a/qcsrc/server/g_subs.qc +++ b/qcsrc/server/g_subs.qc @@ -178,24 +178,29 @@ void SUB_CalcMove_controller_think (void) float phasepos; float nexttick; vector delta; + vector delta2; vector veloc; vector nextpos; + delta = self.destvec; + delta2 = self.destvec2; if(time < self.animstate_endtime) { - delta = self.destvec; nexttick = time + sys_frametime; - if(nexttick < self.animstate_endtime) { - traveltime = self.animstate_endtime - self.animstate_starttime; - phasepos = (nexttick - self.animstate_starttime) / traveltime; // range: [0, 1] + traveltime = self.animstate_endtime - self.animstate_starttime; + phasepos = (nexttick - self.animstate_starttime) / traveltime; // range: [0, 1] + if(self.platmovetype != 1) + { phasepos = 3.14159265 + (phasepos * 3.14159265); // range: [pi, 2pi] phasepos = cos(phasepos); // cos [pi, 2pi] is in [-1, 1] phasepos = phasepos + 1; // correct range to [0, 2] phasepos = phasepos / 2; // correct range to [0, 1] - nextpos = self.origin + (delta * phasepos); + } + nextpos = self.origin + (delta * phasepos) + (delta2 * phasepos * phasepos); + // derivative: delta + 2 * delta2 * phasepos (e.g. for angle positioning) + if(nexttick < self.animstate_endtime) { veloc = nextpos - self.owner.origin; veloc = veloc * (1 / sys_frametime); // so it arrives for the next frame - } else { veloc = self.finaldest - self.owner.origin; veloc = veloc * (1 / sys_frametime); // so it arrives for the next frame @@ -203,6 +208,7 @@ void SUB_CalcMove_controller_think (void) self.owner.velocity = veloc; self.nextthink = nexttick; } else { + // derivative: delta + 2 * delta2 (e.g. for angle positioning) oldself = self; self.owner.think = self.think1; self = self.owner; @@ -211,9 +217,35 @@ void SUB_CalcMove_controller_think (void) } } -void SUB_CalcMove (vector tdest, float tspeed, void() func) +void SUB_CalcMove_controller_setbezier (entity controller, vector org, vector control, vector dest) +{ + // 0 * (1-t) * (1-t) + 2 * control * t * (1-t) + dest * t * t + // 2 * control * t - 2 * control * t * t + dest * t * t + // 2 * control * t + (dest - 2 * control) * t * t + + controller.origin = org; // starting point + control -= org; + dest -= org; + + controller.destvec = 2 * control; // control point + controller.destvec2 = dest - 2 * control; // quadratic part required to reach end point +} + +void SUB_CalcMove_controller_setlinear (entity controller, vector org, vector dest) +{ + // 0 * (1-t) * (1-t) + 2 * control * t * (1-t) + dest * t * t + // 2 * control * t - 2 * control * t * t + dest * t * t + // 2 * control * t + (dest - 2 * control) * t * t + + controller.origin = org; // starting point + dest -= org; + + controller.destvec = dest; // end point + controller.destvec2 = '0 0 0'; +} + +void SUB_CalcMove_Bezier (vector tcontrol, vector tdest, float tspeed, void() func) { - vector delta; float traveltime; entity controller; @@ -224,40 +256,24 @@ void SUB_CalcMove (vector tdest, float tspeed, void() func) self.finaldest = tdest; self.think = SUB_CalcMoveDone; - if (tdest == self.origin) - { - self.velocity = '0 0 0'; - self.nextthink = self.ltime + 0.1; - return; - } + if(tspeed > 0) // positive: start speed + traveltime = 2 * vlen(tcontrol - self.origin) / tspeed; + else // negative: end speed + traveltime = 2 * vlen(tcontrol - tdest) / -tspeed; - delta = tdest - self.origin; - traveltime = vlen (delta) / tspeed; - - if (traveltime < 0.1) + if (traveltime < 0.1) // useless anim { self.velocity = '0 0 0'; self.nextthink = self.ltime + 0.1; return; } - // Very short animations don't really show off the effect - // of controlled animation, so let's just use linear movement. - // Alternatively entities can choose to specify non-controlled movement. - // The only currently implemented alternative movement is linear (value 1) - if (traveltime < 0.15 || self.platmovetype == 1) - { - self.velocity = delta * (1/traveltime); // QuakeC doesn't allow vector/float division - self.nextthink = self.ltime + traveltime; - return; - } - controller = spawn(); controller.classname = "SUB_CalcMove_controller"; controller.owner = self; - controller.origin = self.origin; // starting point + controller.platmovetype = self.platmovetype; + SUB_CalcMove_controller_setbezier(controller, self.origin, tcontrol, tdest); controller.finaldest = (tdest + '0 0 0.125'); // where do we want to end? Offset to overshoot a bit. - controller.destvec = delta; controller.animstate_starttime = time; controller.animstate_endtime = time + traveltime; controller.think = SUB_CalcMove_controller_think; @@ -273,6 +289,43 @@ void SUB_CalcMove (vector tdest, float tspeed, void() func) self = self.owner; } +void SUB_CalcMove (vector tdest, float tspeed, void() func) +{ + vector delta; + float traveltime; + + if (!tspeed) + objerror ("No speed is defined!"); + + self.think1 = func; + self.finaldest = tdest; + self.think = SUB_CalcMoveDone; + + if (tdest == self.origin) + { + self.velocity = '0 0 0'; + self.nextthink = self.ltime + 0.1; + return; + } + + delta = tdest - self.origin; + traveltime = vlen (delta) / tspeed; + + // Very short animations don't really show off the effect + // of controlled animation, so let's just use linear movement. + // Alternatively entities can choose to specify non-controlled movement. + // The only currently implemented alternative movement is linear (value 1) + if (traveltime < 0.15 || self.platmovetype == 1) + { + self.velocity = delta * (1/traveltime); // QuakeC doesn't allow vector/float division + self.nextthink = self.ltime + traveltime; + return; + } + + // now just run like a bezier curve... + SUB_CalcMove_Bezier((self.origin + tdest) * 0.5, tdest, tspeed, func); +} + void SUB_CalcMoveEnt (entity ent, vector tdest, float tspeed, void() func) { entity oldself; @@ -382,11 +435,9 @@ void tracebox_antilag_force_wz (entity source, vector v1, vector mi, vector ma, lag = 0; // only antilag for clients // change shooter to SOLID_BBOX so the shot can hit corpses + oldsolid = source.dphitcontentsmask; if(source) - { - oldsolid = source.dphitcontentsmask; source.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE; - } if (lag) { @@ -447,10 +498,11 @@ void WarpZone_tracebox_antilag (entity source, vector v1, vector mi, vector ma, tracebox_antilag_force_wz(source, v1, mi, ma, v2, nomonst, forent, lag, TRUE); } -float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomonsters, entity forent) // returns the number of traces done, for benchmarking +float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomonsters, entity forent, float stopatentity) // returns the number of traces done, for benchmarking { vector pos, dir, t; float nudge; + entity stopentity; //nudge = 2 * cvar("collision_impactnudge"); // why not? nudge = 0.5; @@ -483,6 +535,8 @@ float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomon dprint(" trace distance is ", ftos(vlen(pos - trace_endpos)), "\n"); } + stopentity = trace_ent; + if(trace_startsolid) { // we started inside solid. @@ -495,6 +549,15 @@ float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomon // t is still inside solid? bad // force advance, then, and retry pos = t + dir * nudge; + + // but if we hit an entity, stop RIGHT before it + if(stopatentity && stopentity) + { + trace_ent = stopentity; + trace_endpos = t; + trace_fraction = ((trace_endpos - v1) * dir) / ((v2 - v1) * dir); + return c; + } } else { @@ -513,59 +576,9 @@ float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomon } } -void traceline_inverted (vector v1, vector v2, float nomonsters, entity forent) +void traceline_inverted (vector v1, vector v2, float nomonsters, entity forent, float stopatentity) { -#if 0 - vector pos, dir, t; - float nudge; - - //nudge = 2 * cvar("collision_impactnudge"); // why not? - nudge = 0.5; - - dir = normalize(v2 - v1); - - pos = v1 + dir * nudge; - - for(;;) - { - if((pos - v1) * dir >= (v2 - v1) * dir) - { - // went too far - trace_fraction = 1; - return; - } - - traceline(pos, v2, nomonsters, forent); - - if(trace_startsolid) - { - // we started inside solid. - // then trace from endpos to pos - t = trace_endpos; - traceline(t, pos, nomonsters, forent); - if(trace_startsolid) - { - // t is inside solid? bad - // force advance, then - pos = pos + dir * nudge; - } - else - { - // we actually LEFT solid! - trace_fraction = ((trace_endpos - v1) * dir) / ((v2 - v1) * dir); - return; - } - } - else - { - // pos is outside solid?!? but why?!? never mind, just return it. - trace_endpos = pos; - trace_fraction = ((trace_endpos - v1) * dir) / ((v2 - v1) * dir); - return; - } - } -#else - tracebox_inverted(v1, '0 0 0', '0 0 0', v2, nomonsters, forent); + tracebox_inverted(v1, '0 0 0', '0 0 0', v2, nomonsters, forent, stopatentity); } /* diff --git a/qcsrc/server/g_triggers.qc b/qcsrc/server/g_triggers.qc index 4e97136ce..af7c10561 100644 --- a/qcsrc/server/g_triggers.qc +++ b/qcsrc/server/g_triggers.qc @@ -1390,6 +1390,8 @@ void trigger_impulse_touch1() return; } + str = min(self.radius, vlen(self.origin - other.origin)); + if(self.falloff == 1) str = (str / self.radius) * self.strength; else if(self.falloff == 2) diff --git a/qcsrc/server/g_violence.qc b/qcsrc/server/g_violence.qc index f5def6a7d..34d384c28 100644 --- a/qcsrc/server/g_violence.qc +++ b/qcsrc/server/g_violence.qc @@ -25,6 +25,14 @@ void Violence_GibSplash_At(vector org, vector dir, float type, float amount, ent 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.enemy); + else + e.team = num_for_edict(self); + setorigin(e, org); e.velocity = dir; diff --git a/qcsrc/server/g_world.qc b/qcsrc/server/g_world.qc index b6eae6724..9d5d4158c 100644 --- a/qcsrc/server/g_world.qc +++ b/qcsrc/server/g_world.qc @@ -301,6 +301,7 @@ void cvar_changes_init() BADCVAR("g_domination_point_leadlimit"); BADCVAR("g_forced_respawn"); BADCVAR("g_keyhunt_point_leadlimit"); + BADPREFIX("g_mod_"); BADCVAR("g_nexball_goalleadlimit"); BADCVAR("g_runematch_point_leadlimit"); BADCVAR("leadlimit_and_fraglimit"); @@ -308,6 +309,7 @@ void cvar_changes_init() BADCVAR("pausable"); BADCVAR("sv_allow_fullbright"); BADCVAR("sv_checkforpacketsduringsleep"); + BADCVAR("sv_fraginfo"); BADCVAR("sv_timeout"); BADPREFIX("sv_timeout_"); BADCVAR("welcome_message_time"); @@ -366,7 +368,6 @@ void cvar_changes_init() BADCVAR("g_maplist_votable_nodetail"); BADCVAR("g_maplist_votable_suggestions"); BADCVAR("g_maxplayers"); - BADCVAR("g_minstagib"); BADCVAR("g_mirrordamage"); BADCVAR("g_nexball_goallimit"); BADCVAR("g_powerups"); @@ -413,6 +414,11 @@ void cvar_changes_init() BADPREFIX("g_warmup_"); BADPREFIX("sv_ready_restart_"); + // mutators that announce themselves properly to the server browser + BADCVAR("g_minstagib"); + BADCVAR("g_new_toys"); + BADCVAR("g_nix"); + if(autocvar_g_minstagib) { BADCVAR("g_grappling_hook"); @@ -763,7 +769,7 @@ void spawnfunc_worldspawn (void) WeaponStats_Init(); - addstat(STAT_WEAPONS, AS_INT, weapons); + WEPSET_ADDSTAT(); addstat(STAT_SWITCHWEAPON, AS_INT, switchweapon); addstat(STAT_SWITCHINGWEAPON, AS_INT, switchingweapon); addstat(STAT_GAMESTARTTIME, AS_FLOAT, stat_game_starttime); @@ -772,6 +778,7 @@ void spawnfunc_worldspawn (void) addstat(STAT_STRENGTH_FINISHED, AS_FLOAT, strength_finished); addstat(STAT_INVINCIBLE_FINISHED, AS_FLOAT, invincible_finished); + addstat(STAT_SUPERWEAPONS_FINISHED, AS_FLOAT, superweapons_finished); addstat(STAT_PRESSED_KEYS, AS_FLOAT, pressedkeys); addstat(STAT_FUEL, AS_INT, ammo_fuel); addstat(STAT_SHOTORG, AS_INT, stat_shotorg); @@ -918,6 +925,28 @@ void spawnfunc_worldspawn (void) PlayerStats_Init(); + // MOD AUTHORS: change this, and possibly remove a few of the blocks below to ignore certain changes + modname = "Xonotic"; + // physics/balance/config changes that count as mod + if(cvar_string("g_mod_physics") != cvar_defstring("g_mod_physics")) + modname = cvar_string("g_mod_physics"); + if(cvar_string("g_mod_balance") != cvar_defstring("g_mod_balance")) + modname = cvar_string("g_mod_balance"); + if(cvar_string("g_mod_config") != cvar_defstring("g_mod_config")) + modname = cvar_string("g_mod_config"); + // weird mutators that deserve to count as mod + if(autocvar_g_minstagib) + modname = "MinstaGib"; + // extra mutators that deserve to count as mod + MUTATOR_CALLHOOK(SetModname); + // weird game types that deserve to count as mod + if(g_cts) + modname = "CTS"; + // save it for later + modname = strzone(modname); + + WinningConditionHelper(); // set worldstatus + world_initialized = 1; } @@ -1238,7 +1267,7 @@ float DoNextMapOverride(float reinit) alreadychangedlevel = TRUE; return TRUE; } - if (autocvar_samelevel) // if samelevel is set, stay on same level + if (!reinit && autocvar_samelevel) // if samelevel is set, stay on same level { localcmd("restart\n"); alreadychangedlevel = TRUE; @@ -1252,7 +1281,7 @@ float DoNextMapOverride(float reinit) alreadychangedlevel = TRUE; return TRUE; } - if(autocvar_lastlevel) + if(!reinit && autocvar_lastlevel) { cvar_settemp_restore(); localcmd("set lastlevel 0\ntogglemenu 1\n"); @@ -1313,12 +1342,15 @@ float mapvote_initialized; void IntermissionThink() { FixIntermissionClient(self); - - if( (autocvar_sv_autoscreenshot || self.cvar_cl_autoscreenshot) + + float server_screenshot = (autocvar_sv_autoscreenshot && self.cvar_cl_autoscreenshot); + float client_screenshot = (self.cvar_cl_autoscreenshot == 2); + + if( (server_screenshot || client_screenshot) && ((self.autoscreenshot > 0) && (time > self.autoscreenshot)) ) { self.autoscreenshot = -1; - if(clienttype(self) == CLIENTTYPE_REAL) { stuffcmd(self, sprintf("\nautoscreenshot \"%s\" \"%s\"\n", GetMapname(), strftime(FALSE, "%s"))); } + if(clienttype(self) == CLIENTTYPE_REAL) { stuffcmd(self, sprintf("\nscreenshot screenshots/autoscreenshot/%s-%s.jpg; echo \"^5A screenshot has been taken at request of the server.\"", GetMapname(), strftime(FALSE, "%s"))); } return; } @@ -1421,6 +1453,8 @@ void DumpStats(float final) print(s, "\n"); if(to_eventlog) GameLogEcho(s); + + file = -1; if(to_file) { file = fopen(autocvar_sv_logscores_filename, FILE_APPEND); @@ -1521,7 +1555,7 @@ void FixIntermissionClient(entity e) } } - +void minstagib_stop_countdown(entity e); /* go to the next level for deathmatch only called if a time or frag limit has expired @@ -1565,6 +1599,7 @@ void NextLevel() GameLogClose(); FOR_EACH_PLAYER(other) { + minstagib_stop_countdown(other); FixIntermissionClient(other); if(other.winning) bprint(other.netname, " ^7wins.\n"); @@ -1611,7 +1646,7 @@ float InitiateSuddenDeath() // - for this timelimit_overtime needs to be >0 of course // - also check the winning condition calculated in the previous frame and only add normal overtime // again, if at the point at which timelimit would be extended again, still no winner was found - if ((checkrules_overtimesadded >= 0) && (checkrules_overtimesadded < autocvar_timelimit_overtimes) && autocvar_timelimit_overtime && !(g_race && !g_race_qualifying)) + if (!autocvar_g_campaign && (checkrules_overtimesadded >= 0) && (checkrules_overtimesadded < autocvar_timelimit_overtimes) && autocvar_timelimit_overtime && !(g_race && !g_race_qualifying)) { return 1; // need to call InitiateOvertime later } @@ -1619,7 +1654,10 @@ float InitiateSuddenDeath() { if(!checkrules_suddendeathend) { - checkrules_suddendeathend = time + 60 * autocvar_timelimit_suddendeath; + if(autocvar_g_campaign) + checkrules_suddendeathend = time; // no suddendeath in campaign + else + checkrules_suddendeathend = time + 60 * autocvar_timelimit_suddendeath; if(g_race && !g_race_qualifying) race_StartCompleting(); } @@ -2048,10 +2086,14 @@ float WinningCondition_RanOutOfSpawns() else if(team1_score + team2_score + team3_score + team4_score == 1) { float t, i; - if(team1_score) t = COLOR_TEAM1; - if(team2_score) t = COLOR_TEAM2; - if(team3_score) t = COLOR_TEAM3; - if(team4_score) t = COLOR_TEAM4; + if(team1_score) + t = COLOR_TEAM1; + else if(team2_score) + t = COLOR_TEAM2; + else if(team3_score) + t = COLOR_TEAM3; + else // if(team4_score) + t = COLOR_TEAM4; CheckAllowedTeams(world); for(i = 0; i < MAX_TEAMSCORE; ++i) { @@ -2120,9 +2162,6 @@ void CheckRules_World() leadlimit = 0; // no leadlimit for now } - if(g_onslaught) - timelimit = 0; // ONS has its own overtime rule - if(timelimit > 0) { timelimit += game_starttime; @@ -2134,6 +2173,9 @@ void CheckRules_World() return; } + if(g_onslaught) + timelimit = 0; // ONS has its own overtime rule + float wantovertime; wantovertime = 0; @@ -2339,6 +2381,7 @@ void MapVote_AddVotable(string nextMap, float isSuggestion) mapvote_maps[mapvote_count] = strzone(nextMap); mapvote_maps_suggested[mapvote_count] = isSuggestion; + pakfile = string_null; for(i = 0; i < mapvote_screenshot_dirs_count; ++i) { mapfile = strcat(mapvote_screenshot_dirs[i], "/", mapvote_maps[i]); @@ -2844,11 +2887,12 @@ float RedirectionThink() clients_found = 0; FOR_EACH_REALCLIENT(self) { + // TODO add timer print("Redirecting: sending connect command to ", self.netname, "\n"); if(redirection_target == "self") - stuffcmd(self, "\ndisconnect; reconnect\n"); + stuffcmd(self, "\ndisconnect; defer ", ftos(autocvar_quit_and_redirect_timer), " reconnect\n"); else - stuffcmd(self, strcat("\ndisconnect; connect ", redirection_target, "\n")); + stuffcmd(self, strcat("\ndisconnect; defer ", ftos(autocvar_quit_and_redirect_timer), " \"connect ", redirection_target, "\"\n")); ++clients_found; } diff --git a/qcsrc/server/ipban.qc b/qcsrc/server/ipban.qc index b40a1e3a2..38a1e249d 100644 --- a/qcsrc/server/ipban.qc +++ b/qcsrc/server/ipban.qc @@ -19,6 +19,8 @@ * server IP that registered the ban */ +#define MAX_IPBAN_URIS (URI_GET_IPBAN_END - URI_GET_IPBAN + 1) + float Ban_Insert(string ip, float bantime, string reason, float dosync); void OnlineBanList_SendBan(string ip, float bantime, string reason) @@ -322,6 +324,7 @@ void Ban_View() print("^2Listing all existing active bans:\n"); + n = 0; for(i = 0; i < ban_count; ++i) { if(time > ban_expire[i]) @@ -446,6 +449,15 @@ float Ban_MaybeEnforceBan(entity client) return FALSE; } +.float ban_checked; +float Ban_MaybeEnforceBanOnce(entity client) +{ + if(client.ban_checked) + return FALSE; + client.ban_checked = TRUE; + return Ban_MaybeEnforceBan(self); +} + string Ban_Enforce(float i, string reason) { string s; @@ -464,7 +476,7 @@ string Ban_Enforce(float i, string reason) reason = strcat(reason, ", "); reason = strcat(reason, e.netname); } - s = strcat(s, "^1NOTE:^7 banned client ", e.netname, "^7 has to go\n"); + s = strcat(s, "^1NOTE:^7 banned client ", e.netaddress, "^7 has to go\n"); dropclient(e); } bprint(s); @@ -551,31 +563,39 @@ float Ban_Insert(string ip, float bantime, string reason, float dosync) void Ban_KickBanClient(entity client, float bantime, float masksize, string reason) { + string ip, id; if(!Ban_GetClientIP(client)) { sprint(client, strcat("Kickbanned: ", reason, "\n")); dropclient(client); return; } - // now ban him + + // who to ban? switch(masksize) { case 1: - Ban_Insert(ban_ip1, bantime, reason, 1); + ip = strcat1(ban_ip1); break; case 2: - Ban_Insert(ban_ip2, bantime, reason, 1); + ip = strcat1(ban_ip2); break; case 3: - Ban_Insert(ban_ip3, bantime, reason, 1); + ip = strcat1(ban_ip3); break; case 4: default: - Ban_Insert(ban_ip4, bantime, reason, 1); + ip = strcat1(ban_ip4); break; } if(ban_idfp) - Ban_Insert(ban_idfp, bantime, reason, 1); + id = strcat1(ban_idfp); + else + id = string_null; + + Ban_Insert(ip, bantime, reason, 1); + if(id) + Ban_Insert(id, bantime, reason, 1); /* * not needed, as we enforce the ban in Ban_Insert anyway // and kick him diff --git a/qcsrc/server/ipban.qh b/qcsrc/server/ipban.qh index 15939464e..d466942e3 100644 --- a/qcsrc/server/ipban.qh +++ b/qcsrc/server/ipban.qh @@ -1,6 +1,7 @@ void Ban_SaveBans(); void Ban_LoadBans(); float Ban_MaybeEnforceBan(entity client); +float Ban_MaybeEnforceBanOnce(entity client); float BanCommand(string command); void OnlineBanList_URI_Get_Callback(float id, float status, string data); diff --git a/qcsrc/server/item_key.qc b/qcsrc/server/item_key.qc index e39f28134..7b386ec97 100644 --- a/qcsrc/server/item_key.qc +++ b/qcsrc/server/item_key.qc @@ -36,6 +36,8 @@ string item_keys_keylist(float keylist) { if ((keylist & (keylist-1)) != 0) return strcat("the ", item_keys_names[lowestbit(keylist)]); + n = ""; + base = 0; while (keylist) { l = lowestbit(keylist); if (n) @@ -181,12 +183,13 @@ void spawnfunc_item_key() { break; default: + _netname = "FLUFFY PINK keycard"; + _colormod = '1 1 1'; + if (!self.netname) { objerror("item_key doesn't have a default name for this key and a custom one was not specified!"); remove(self); return; - } else if (!self.colormod) { - _colormod = '1 1 1'; } break; diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index 4babf32b2..3826b683a 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -526,7 +526,7 @@ string W_FixWeaponOrder_ForceComplete_AndBuildImpulseList(string wo) } void GetCvars(float f) { - string s; + string s = string_null; if (f > 0) s = strcat1(argv(f)); @@ -740,6 +740,7 @@ float g_pickup_healthmega_anyway; float g_pickup_ammo_anyway; float g_pickup_weapons_anyway; float g_weaponarena; +WEPSET_DECLARE_A(g_weaponarena_weapons); float g_weaponarena_random; float g_weaponarena_random_with_laser; string g_weaponarena_list; @@ -749,7 +750,9 @@ float g_weapondamagefactor; float g_weaponforcefactor; float g_weaponspreadfactor; -float start_weapons; +WEPSET_DECLARE_A(start_weapons); +WEPSET_DECLARE_A(start_weapons_default); +WEPSET_DECLARE_A(start_weapons_defaultmask); float start_items; float start_ammo_shells; float start_ammo_nails; @@ -758,7 +761,9 @@ float start_ammo_cells; float start_ammo_fuel; float start_health; float start_armorvalue; -float warmup_start_weapons; +WEPSET_DECLARE_A(warmup_start_weapons); +WEPSET_DECLARE_A(warmup_start_weapons_default); +WEPSET_DECLARE_A(warmup_start_weapons_defaultmask); float warmup_start_ammo_shells; float warmup_start_ammo_nails; float warmup_start_ammo_rockets; @@ -774,31 +779,42 @@ entity get_weaponinfo(float w); float want_weapon(string cvarprefix, entity weaponinfo, float allguns) { var float i = weaponinfo.weapon; + var float d = 0; if (!i) return 0; - var float t = cvar(strcat(cvarprefix, weaponinfo.netname)); - - if (t < 0) // "default" weapon selection + if (g_lms || g_ca || allguns) { - if (g_lms || g_ca || allguns) - t = (weaponinfo.spawnflags & WEP_FLAG_NORMAL); - else if(t < -1) - t = 0; - else if (g_cts) - t = (i == WEP_SHOTGUN); - else if (g_nexball) - t = 0; // weapon is set a few lines later + if(weaponinfo.spawnflags & WEP_FLAG_NORMAL) + d = TRUE; else - t = (i == WEP_LASER || i == WEP_SHOTGUN); - if(g_grappling_hook) // if possible, redirect off-hand hook to on-hand hook - t |= (i == WEP_HOOK); + d = FALSE; } + else if (g_cts) + d = (i == WEP_SHOTGUN); + else if (g_nexball) + d = 0; // weapon is set a few lines later + else + d = (i == WEP_LASER || i == WEP_SHOTGUN); + + if(g_grappling_hook) // if possible, redirect off-hand hook to on-hand hook + d |= (i == WEP_HOOK); + if(weaponinfo.spawnflags & WEP_FLAG_MUTATORBLOCKED) // never default mutator blocked guns + d = 0; - // we cannot disable porto in Nexball, we must force it - if(g_nexball && i == WEP_PORTO) - t = 1; + var float t = cvar(strcat(cvarprefix, weaponinfo.netname)); + + //print(strcat("want_weapon: ", weaponinfo.netname, " - d: ", ftos(d), ", t: ", ftos(t), ". \n")); + + // bit order in t: + // 1: want or not + // 2: is default? + // 4: is set by default? + if(t < 0) + t = 4 | (3 * d); + else + t |= (2 * d); return t; } @@ -810,7 +826,9 @@ void readplayerstartcvars() string s; // initialize starting values for players - start_weapons = 0; + WEPSET_CLEAR_A(start_weapons); + WEPSET_CLEAR_A(start_weapons_default); + WEPSET_CLEAR_A(start_weapons_defaultmask); start_items = 0; start_ammo_shells = 0; start_ammo_nails = 0; @@ -820,6 +838,8 @@ void readplayerstartcvars() start_armorvalue = cvar("g_balance_armor_start"); g_weaponarena = 0; + WEPSET_CLEAR_A(g_weaponarena_weapons); + s = cvar_string("g_weaponarena"); if (s == "0" || s == "") { @@ -837,34 +857,35 @@ void readplayerstartcvars() } else if (s == "all") { + g_weaponarena = 1; g_weaponarena_list = "All Weapons"; for (j = WEP_FIRST; j <= WEP_LAST; ++j) { e = get_weaponinfo(j); - g_weaponarena |= e.weapons; - weapon_action(e.weapon, WR_PRECACHE); + if not(e.spawnflags & WEP_FLAG_MUTATORBLOCKED) + WEPSET_OR_AW(g_weaponarena_weapons, j); } } else if (s == "most") { + g_weaponarena = 1; g_weaponarena_list = "Most Weapons"; for (j = WEP_FIRST; j <= WEP_LAST; ++j) { e = get_weaponinfo(j); - if (e.spawnflags & WEP_FLAG_NORMAL) - { - g_weaponarena |= e.weapons; - weapon_action(e.weapon, WR_PRECACHE); - } + if not(e.spawnflags & WEP_FLAG_MUTATORBLOCKED) + if (e.spawnflags & WEP_FLAG_NORMAL) + WEPSET_OR_AW(g_weaponarena_weapons, j); } } else if (s == "none") { + g_weaponarena = 1; g_weaponarena_list = "No Weapons"; - g_weaponarena = WEPBIT_ALL + 1; // this supports no single weapon bit! } else { + g_weaponarena = 1; t = tokenize_console(s); g_weaponarena_list = ""; for (i = 0; i < t; ++i) @@ -875,8 +896,7 @@ void readplayerstartcvars() e = get_weaponinfo(j); if (e.netname == s) { - g_weaponarena |= e.weapons; - weapon_action(e.weapon, WR_PRECACHE); + WEPSET_OR_AW(g_weaponarena_weapons, j); g_weaponarena_list = strcat(g_weaponarena_list, e.message, " & "); break; } @@ -897,17 +917,23 @@ void readplayerstartcvars() if (g_weaponarena) { - start_weapons = g_weaponarena; + g_minstagib = 0; // incompatible + g_pinata = 0; // incompatible + g_weapon_stay = 0; // incompatible + WEPSET_COPY_AA(start_weapons, g_weaponarena_weapons); if(!(g_lms || g_ca)) start_items |= IT_UNLIMITED_AMMO; } else if (g_minstagib) { + g_pinata = 0; // incompatible + g_weapon_stay = 0; // incompatible + g_bloodloss = 0; // incompatible start_health = 100; start_armorvalue = 0; - start_weapons = WEPBIT_MINSTANEX; - weapon_action(WEP_MINSTANEX, WR_PRECACHE); + WEPSET_COPY_AW(start_weapons, WEP_MINSTANEX); g_minstagib_invis_alpha = cvar("g_minstagib_invis_alpha"); + start_items |= IT_UNLIMITED_SUPERWEAPONS; if (g_minstagib_invis_alpha <= 0) g_minstagib_invis_alpha = -1; @@ -917,14 +943,22 @@ void readplayerstartcvars() for (i = WEP_FIRST; i <= WEP_LAST; ++i) { e = get_weaponinfo(i); - if(want_weapon("g_start_weapon_", e, FALSE)) - start_weapons |= e.weapons; + float w = want_weapon("g_start_weapon_", e, FALSE); + if(w & 1) + WEPSET_OR_AW(start_weapons, i); + if(w & 2) + WEPSET_OR_AW(start_weapons_default, i); + if(w & 4) + WEPSET_OR_AW(start_weapons_defaultmask, i); } } 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"); @@ -973,7 +1007,9 @@ void readplayerstartcvars() warmup_start_ammo_fuel = start_ammo_fuel; warmup_start_health = start_health; warmup_start_armorvalue = start_armorvalue; - warmup_start_weapons = start_weapons; + WEPSET_COPY_AA(warmup_start_weapons, start_weapons); + WEPSET_COPY_AA(warmup_start_weapons_default, start_weapons_default); + WEPSET_COPY_AA(warmup_start_weapons_defaultmask, start_weapons_defaultmask); if (!g_weaponarena && !g_minstagib && !g_ca) { @@ -984,17 +1020,29 @@ void readplayerstartcvars() warmup_start_ammo_fuel = cvar("g_warmup_start_ammo_fuel"); warmup_start_health = cvar("g_warmup_start_health"); warmup_start_armorvalue = cvar("g_warmup_start_armor"); - warmup_start_weapons = 0; + WEPSET_CLEAR_A(warmup_start_weapons); + WEPSET_CLEAR_A(warmup_start_weapons_default); + WEPSET_CLEAR_A(warmup_start_weapons_defaultmask); for (i = WEP_FIRST; i <= WEP_LAST; ++i) { e = get_weaponinfo(i); - if(want_weapon("g_start_weapon_", e, cvar("g_warmup_allguns"))) - warmup_start_weapons |= e.weapons; + float w = want_weapon("g_start_weapon_", e, cvar("g_warmup_allguns")); + if(w & 1) + WEPSET_OR_AW(warmup_start_weapons, i); + if(w & 2) + WEPSET_OR_AW(warmup_start_weapons_default, i); + if(w & 4) + WEPSET_OR_AW(warmup_start_weapons_defaultmask, i); } } } - if (g_jetpack || (g_grappling_hook && (start_weapons & WEPBIT_HOOK))) + if (g_jetpack) + start_items |= IT_JETPACK; + + MUTATOR_CALLHOOK(SetStartItems); + + if ((start_items & IT_JETPACK) || (g_grappling_hook && WEPSET_CONTAINS_AW(start_weapons, WEP_HOOK))) { g_grappling_hook = 0; // these two can't coexist, as they use the same button start_items |= IT_FUEL_REGEN; @@ -1002,16 +1050,11 @@ void readplayerstartcvars() warmup_start_ammo_fuel = max(warmup_start_ammo_fuel, cvar("g_balance_fuel_rotstable")); } - if (g_jetpack) - start_items |= IT_JETPACK; - - MUTATOR_CALLHOOK(SetStartItems); - for (i = WEP_FIRST; i <= WEP_LAST; ++i) { e = get_weaponinfo(i); - if(e.weapons & (start_weapons | warmup_start_weapons)) - weapon_action(e.weapon, WR_PRECACHE); + if(WEPSET_CONTAINS_AW(start_weapons, i) || WEPSET_CONTAINS_AW(warmup_start_weapons, i)) + weapon_action(i, WR_PRECACHE); } start_ammo_shells = max(0, start_ammo_shells); @@ -1059,19 +1102,26 @@ float sv_pitch_fixyaw; string GetGametype(); // g_world.qc void readlevelcvars(void) { - // first load all the mutators - if(cvar("g_invincible_projectiles")) - MUTATOR_ADD(mutator_invincibleprojectiles); - if(cvar("g_nix")) - MUTATOR_ADD(mutator_nix); + g_minstagib = cvar("g_minstagib"); + + // load ALL the mutators if(cvar("g_dodging")) MUTATOR_ADD(mutator_dodging); - if(cvar("g_rocket_flying")) - MUTATOR_ADD(mutator_rocketflying); - if(cvar("g_vampire")) - MUTATOR_ADD(mutator_vampire); if(cvar("g_spawn_near_teammate")) MUTATOR_ADD(mutator_spawn_near_teammate); + if(!g_minstagib) + { + if(cvar("g_invincible_projectiles")) + MUTATOR_ADD(mutator_invincibleprojectiles); + if(cvar("g_new_toys")) + MUTATOR_ADD(mutator_new_toys); + if(cvar("g_nix")) + MUTATOR_ADD(mutator_nix); + if(cvar("g_rocket_flying")) + MUTATOR_ADD(mutator_rocketflying); + if(cvar("g_vampire")) + MUTATOR_ADD(mutator_vampire); + } // is this a mutator? is this a mode? if(cvar("g_sandbox")) @@ -1117,7 +1167,6 @@ void readlevelcvars(void) g_grappling_hook = cvar("g_grappling_hook"); g_jetpack = cvar("g_jetpack"); g_midair = cvar("g_midair"); - g_minstagib = cvar("g_minstagib"); g_norecoil = cvar("g_norecoil"); g_bloodloss = cvar("g_bloodloss"); sv_maxidle = cvar("sv_maxidle"); @@ -1135,12 +1184,14 @@ void readlevelcvars(void) inWarmupStage = 0; // these modes cannot work together, sorry g_pickup_respawntime_weapon = cvar("g_pickup_respawntime_weapon"); + g_pickup_respawntime_superweapon = cvar("g_pickup_respawntime_superweapon"); g_pickup_respawntime_ammo = cvar("g_pickup_respawntime_ammo"); g_pickup_respawntime_short = cvar("g_pickup_respawntime_short"); g_pickup_respawntime_medium = cvar("g_pickup_respawntime_medium"); g_pickup_respawntime_long = cvar("g_pickup_respawntime_long"); g_pickup_respawntime_powerup = cvar("g_pickup_respawntime_powerup"); g_pickup_respawntimejitter_weapon = cvar("g_pickup_respawntimejitter_weapon"); + g_pickup_respawntimejitter_superweapon = cvar("g_pickup_respawntimejitter_superweapon"); g_pickup_respawntimejitter_ammo = cvar("g_pickup_respawntimejitter_ammo"); g_pickup_respawntimejitter_short = cvar("g_pickup_respawntimejitter_short"); g_pickup_respawntimejitter_medium = cvar("g_pickup_respawntimejitter_medium"); @@ -1606,7 +1657,7 @@ void precache() void Send_CSQC_Centerprint_Generic(entity e, float id, string s, float duration, float countdown_num) { - if (clienttype(e) == CLIENTTYPE_REAL) + if ((clienttype(e) == CLIENTTYPE_REAL) && (e.flags & FL_CLIENT)) { msg_entity = e; WRITESPECTATABLE_MSG_ONE({ @@ -1648,7 +1699,7 @@ void make_safe_for_remove(entity e) { if (e.initialize_entity) { - entity ent, prev; + entity ent, prev = world; for (ent = initialize_entity_first; ent; ) { if ((ent == e) || ((ent.classname == "initialize_entity") && (ent.enemy == e))) @@ -1720,6 +1771,7 @@ void InitializeEntity(entity e, void(void) func, float order) e.initialize_entity_order = order; cur = initialize_entity_first; + prev = world; for (;;) { if (!cur || cur.initialize_entity_order > order) @@ -1978,35 +2030,33 @@ float WarpZone_Projectile_Touch_ImpactFilter_Callback() } #define PROJECTILE_TOUCH if(WarpZone_Projectile_Touch()) return -float MAX_IPBAN_URIS = 16; - -float URI_GET_DISCARD = 0; -float URI_GET_IPBAN = 1; -float URI_GET_IPBAN_END = 16; +#define ITEM_TOUCH_NEEDKILL() (((trace_dpstartcontents | trace_dphitcontents) & DPCONTENTS_NODROP) || (trace_dphitq3surfaceflags & Q3SURFACEFLAG_SKY)) +#define ITEM_DAMAGE_NEEDKILL(dt) (((dt) == DEATH_HURTTRIGGER) || ((dt) == DEATH_SLIME) || ((dt) == DEATH_LAVA) || ((dt) == DEATH_SWAMP)) void URI_Get_Callback(float id, float status, string data) { - dprint("Received HTTP request data for id ", ftos(id), "; status is ", ftos(status), "\nData is:\n"); - dprint(data); - dprint("\nEnd of data.\n"); - - if(url_URI_Get_Callback(id, status, data)) - { - // handled - } - else if (id == URI_GET_DISCARD) - { - // discard - } - else if (id >= URI_GET_IPBAN && id <= URI_GET_IPBAN_END) - { - // online ban list - OnlineBanList_URI_Get_Callback(id, status, data); - } - else - { - print("Received HTTP request data for an invalid id ", ftos(id), ".\n"); - } + if(url_URI_Get_Callback(id, status, data)) + { + // handled + } + else if (id == URI_GET_DISCARD) + { + // discard + } + else if (id >= URI_GET_CURL && id <= URI_GET_CURL_END) + { + // sv_cmd curl + Curl_URI_Get_Callback(id, status, data); + } + else if (id >= URI_GET_IPBAN && id <= URI_GET_IPBAN_END) + { + // online ban list + OnlineBanList_URI_Get_Callback(id, status, data); + } + else + { + print("Received HTTP request data for an invalid id ", ftos(id), ".\n"); + } } string uid2name(string myuid) { @@ -2072,7 +2122,7 @@ void race_writeTime(string map, float t, string myuid) float newpos; newpos = race_readPos(map, t); - float i, prevpos; + float i, prevpos = 0; for(i = 1; i <= RANKINGS_CNT; ++i) { if(race_readUID(map, i) == myuid) @@ -2134,6 +2184,8 @@ float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, f org = world.mins; delta = world.maxs - world.mins; + start = end = org; + for (i = 0; i < attempts; ++i) { start_x = org_x + random() * delta_x; @@ -2390,12 +2442,8 @@ vector shotorg_adjust(vector vecs, float y_is_right, float visual) void attach_sameorigin(entity e, entity to, string tag) { vector org, t_forward, t_left, t_up, e_forward, e_up; - vector org0, ang0; float tagscale; - ang0 = e.angles; - org0 = e.origin; - org = e.origin - gettaginfo(to, gettagindex(to, tag)); tagscale = pow(vlen(v_forward), -2); // undo a scale on the tag t_forward = v_forward * tagscale; diff --git a/qcsrc/server/mode_onslaught.qc b/qcsrc/server/mode_onslaught.qc index f6e3de4cd..ebca6ee2b 100644 --- a/qcsrc/server/mode_onslaught.qc +++ b/qcsrc/server/mode_onslaught.qc @@ -400,7 +400,10 @@ void onslaught_generator_think() d = d + 1; e = e.chain; } - d = d * self.max_health / 300; + if(autocvar_g_campaign && autocvar__campaign_testrun) + d = d * self.max_health; + else + d = d * self.max_health / max(30, 60 * autocvar_timelimit_suddendeath); Damage(self, self, self, d, DEATH_HURTTRIGGER, self.origin, '0 0 0'); } else if (overtime_msg_time) @@ -949,6 +952,7 @@ void onslaught_controlpoint_icon_damage(entity inflictor, entity attacker, float if (attacker.classname == "player") { + nag = FALSE; if(self.team == COLOR_TEAM1) { if(time - ons_notification_time_team1 > 10) diff --git a/qcsrc/server/mutators/base.qc b/qcsrc/server/mutators/base.qc index fdf24edb7..9be5745cb 100644 --- a/qcsrc/server/mutators/base.qc +++ b/qcsrc/server/mutators/base.qc @@ -59,6 +59,7 @@ float CallbackChain_Remove(entity cb, float() func) entity e; float n; n = 0; + order = 0; for(e = cb; e.cbc_next; e = e.cbc_next) { while(e.cbc_next.cbc_func == func) diff --git a/qcsrc/server/mutators/base.qh b/qcsrc/server/mutators/base.qh index ecec3c87c..236e311b6 100644 --- a/qcsrc/server/mutators/base.qh +++ b/qcsrc/server/mutators/base.qh @@ -201,3 +201,14 @@ MUTATOR_HOOKABLE(Spawn_Score); MUTATOR_HOOKABLE(SV_StartFrame); // runs globally each server frame + +MUTATOR_HOOKABLE(SetModname); + // OUT + string modname; // name of the mutator/mod if it warrants showing as such in the server browser + +MUTATOR_HOOKABLE(SetWeaponreplace); + // IN + entity self; // map entity + entity other; // weapon info + // IN+OUT + string ret_string; diff --git a/qcsrc/server/mutators/gamemode_freezetag.qc b/qcsrc/server/mutators/gamemode_freezetag.qc index d2c741f0b..2a2ae9ee2 100644 --- a/qcsrc/server/mutators/gamemode_freezetag.qc +++ b/qcsrc/server/mutators/gamemode_freezetag.qc @@ -13,7 +13,7 @@ void freezetag_CheckWinner() if(next_round || (time > warmup - autocvar_g_freezetag_warmup && time < warmup)) return; // already waiting for next round to start - if((redalive >= 1 && bluealive >= 1) // counted in arena.qc + if((redalive >= 1 && bluealive >= 1) || (redalive >= 1 && yellowalive >= 1) || (redalive >= 1 && pinkalive >= 1) || (bluealive >= 1 && yellowalive >= 1) @@ -351,13 +351,11 @@ MUTATOR_DEFINITION(gamemode_freezetag) { if(time > 1) // game loads at time 1 error("This is a game type and it cannot be added at runtime."); - g_freezetag = 1; freezetag_Initialize(); } MUTATOR_ONREMOVE { - g_freezetag = 0; error("This is a game type and it cannot be removed at runtime."); } diff --git a/qcsrc/server/mutators/gamemode_keepaway.qc b/qcsrc/server/mutators/gamemode_keepaway.qc index 9134353e0..1f6a82b84 100644 --- a/qcsrc/server/mutators/gamemode_keepaway.qc +++ b/qcsrc/server/mutators/gamemode_keepaway.qc @@ -329,13 +329,11 @@ MUTATOR_DEFINITION(gamemode_keepaway) { if(time > 1) // game loads at time 1 error("This is a game type and it cannot be added at runtime."); - g_keepaway = 1; ka_Initialize(); } MUTATOR_ONREMOVE { - g_keepaway = 0; error("This is a game type and it cannot be removed at runtime."); } diff --git a/qcsrc/server/mutators/gamemode_keyhunt.qc b/qcsrc/server/mutators/gamemode_keyhunt.qc index d3f4fdc87..58d732d7f 100644 --- a/qcsrc/server/mutators/gamemode_keyhunt.qc +++ b/qcsrc/server/mutators/gamemode_keyhunt.qc @@ -32,11 +32,11 @@ float kh_no_radar_circles; .float siren_time; // time delay the siren //.float stuff_time; // time delay to stuffcmd a cvar -float test[17] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; -//test[0] = status of dropped keys, test[1 - 16] = player # +float kh_keystatus[17]; +//kh_keystatus[0] = status of dropped keys, kh_keystatus[1 - 16] = player # //replace 17 with cvar("maxplayers") or similar !!!!!!!!! //for(i = 0; i < maxplayers; ++i) -// test[i] = "0"; +// kh_keystatus[i] = "0"; float kh_Team_ByID(float t) { @@ -342,7 +342,7 @@ void kh_Key_AssignTo(entity key, entity player) // runs every time a key is pic key.kh_next.kh_prev = key; float i; - i = test[key.owner.playerid]; + i = kh_keystatus[key.owner.playerid]; if(key.netname == "^1red key") i += 1; if(key.netname == "^4blue key") @@ -351,7 +351,7 @@ void kh_Key_AssignTo(entity key, entity player) // runs every time a key is pic i += 4; if(key.netname == "^6pink key") i += 8; - test[key.owner.playerid] = i; + kh_keystatus[key.owner.playerid] = i; kh_Key_Attach(key); @@ -412,6 +412,13 @@ void kh_Key_Damage(entity inflictor, entity attacker, float damage, float deatht { if(self.owner) return; + if(ITEM_DAMAGE_NEEDKILL(deathtype)) + { + // touching lava, or hurt trigger + // what shall we do? + // immediately return is bad + // maybe start a shorter countdown? + } if(vlen(force) <= 0) return; if(time > self.pushltime) @@ -441,6 +448,15 @@ void kh_Key_Touch() // runs many, many times when a key has been dropped and ca if(self.owner) // already carried return; + + if(ITEM_TOUCH_NEEDKILL()) + { + // touching sky, or nodrop + // what shall we do? + // immediately return is bad + // maybe start a shorter countdown? + } + if(other.classname != "player") return; if(other.deadflag != DEAD_NO) @@ -529,6 +545,8 @@ void kh_WinnerTeam(float teem) // runs when a team wins first = TRUE; midpoint = '0 0 0'; + firstorigin = '0 0 0'; + lastorigin = '0 0 0'; FOR_EACH_KH_KEY(key) { vector thisorigin; @@ -919,7 +937,7 @@ void kh_StartRound() // runs at the start of each round { teem = kh_Team_ByID(i); players = 0; - entity my_player; + entity my_player = world; FOR_EACH_PLAYER(player) if(player.deadflag == DEAD_NO) if(!player.BUTTON_CHAT) @@ -1090,13 +1108,11 @@ MUTATOR_DEFINITION(gamemode_keyhunt) { if(time > 1) // game loads at time 1 error("This is a game type and it cannot be added at runtime."); - g_keyhunt = 1; kh_Initialize(); } MUTATOR_ONREMOVE { - g_keyhunt = 0; error("This is a game type and it cannot be removed at runtime."); } diff --git a/qcsrc/server/mutators/gamemode_nexball.qc b/qcsrc/server/mutators/gamemode_nexball.qc new file mode 100644 index 000000000..ec8de781e --- /dev/null +++ b/qcsrc/server/mutators/gamemode_nexball.qc @@ -0,0 +1,984 @@ +float autocvar_g_nexball_safepass_turnrate; +float autocvar_g_nexball_safepass_maxdist; +float autocvar_g_nexball_safepass_holdtime; +float autocvar_g_nexball_viewmodel_scale; +float autocvar_g_nexball_tackling; +vector autocvar_g_nexball_viewmodel_offset; + +void basketball_touch(); +void football_touch(); +void ResetBall(); +#define NBM_NONE 0 +#define NBM_FOOTBALL 2 +#define NBM_BASKETBALL 4 +float nexball_mode; + +float OtherTeam(float t) //works only if there are two teams on the map! +{ + entity e; + e = find(world, classname, "nexball_team"); + if(e.team == t) + e = find(e, classname, "nexball_team"); + return e.team; +} + + +void LogNB(string mode, entity actor) +{ + string s; + if(!autocvar_sv_eventlog) + return; + s = strcat(":nexball:", mode); + if(actor != world) + s = strcat(s, ":", ftos(actor.playerid)); + GameLogEcho(s); +} + +void ball_restart(void) +{ + if(self.owner) + DropBall(self, self.owner.origin, '0 0 0'); + ResetBall(); +} + +void nexball_setstatus(void) +{ + entity oldself; + self.items &~= IT_KEY1; + if(self.ballcarried) + { + if(self.ballcarried.teamtime && (self.ballcarried.teamtime < time)) + { + bprint("The ", ColoredTeamName(self.team), " held the ball for too long.\n"); + oldself = self; + self = self.ballcarried; + DropBall(self, self.owner.origin, '0 0 0'); + ResetBall(); + self = oldself; + } + else + self.items |= IT_KEY1; + } +} + +void relocate_nexball(void) +{ + tracebox(self.origin, BALL_MINS, BALL_MAXS, self.origin, TRUE, self); + if(trace_startsolid) + { + vector o; + o = self.origin; + if(!move_out_of_solid(self)) + objerror("could not get out of solid at all!"); + print("^1NOTE: this map needs FIXING. ", self.classname, " at ", vtos(o - '0 0 1')); + print(" needs to be moved out of solid, e.g. by '", ftos(self.origin_x - o_x)); + print(" ", ftos(self.origin_y - o_y)); + print(" ", ftos(self.origin_z - o_z), "'\n"); + self.origin = o; + } +} + +void DropOwner(void) +{ + entity ownr; + ownr = self.owner; + DropBall(self, ownr.origin, ownr.velocity); + makevectors(ownr.v_angle_y * '0 1 0'); + ownr.velocity += ('0 0 0.75' - v_forward) * 1000; + ownr.flags &~= FL_ONGROUND; +} + +void GiveBall(entity plyr, entity ball) +{ + entity ownr; + + if((ownr = ball.owner)) + { + ownr.effects &~= autocvar_g_nexball_basketball_effects_default; + ownr.ballcarried = world; + if(ownr.metertime) + { + ownr.metertime = 0; + ownr.weaponentity.state = WS_READY; + } + WaypointSprite_Kill(ownr.waypointsprite_attachedforcarrier); + } + else + { + WaypointSprite_Kill(ball.waypointsprite_attachedforcarrier); + } + + //setattachment(ball, plyr, ""); + setorigin(ball, plyr.origin + plyr.view_ofs); + + if(ball.team != plyr.team) + ball.teamtime = time + autocvar_g_nexball_basketball_delay_hold_forteam; + + ball.owner = ball.pusher = plyr; //"owner" is set to the player carrying, "pusher" to the last player who touched it + ball.team = plyr.team; + plyr.ballcarried = ball; + ball.dropperid = plyr.playerid; + + plyr.effects |= autocvar_g_nexball_basketball_effects_default; + ball.effects &~= autocvar_g_nexball_basketball_effects_default; + + ball.velocity = '0 0 0'; + ball.movetype = MOVETYPE_NONE; + ball.touch = SUB_Null; + ball.effects |= EF_NOSHADOW; + ball.scale = 1; // scale down. + + WaypointSprite_AttachCarrier("nb-ball", plyr, RADARICON_FLAGCARRIER, BALL_SPRITECOLOR); + WaypointSprite_UpdateRule(plyr.waypointsprite_attachedforcarrier, 0, SPRITERULE_DEFAULT); + + if(autocvar_g_nexball_basketball_delay_hold) + { + ball.think = DropOwner; + ball.nextthink = time + autocvar_g_nexball_basketball_delay_hold; + } + + ownr = self; + self = plyr; + WEPSET_COPY_EE(self.weaponentity, self); + self.weaponentity.switchweapon = self.weapon; + WEPSET_COPY_EW(self, WEP_PORTO); + weapon_action(WEP_PORTO, WR_RESETPLAYER); + self.switchweapon = WEP_PORTO; + W_SwitchWeapon(WEP_PORTO); + self = ownr; +} + +void DropBall(entity ball, vector org, vector vel) +{ + ball.effects |= autocvar_g_nexball_basketball_effects_default; + ball.effects &~= EF_NOSHADOW; + ball.owner.effects &~= autocvar_g_nexball_basketball_effects_default; + + setattachment(ball, world, ""); + setorigin(ball, org); + ball.movetype = MOVETYPE_BOUNCE; + ball.flags &~= FL_ONGROUND; + ball.scale = ball_scale; + ball.velocity = vel; + ball.ctf_droptime = time; + ball.touch = basketball_touch; + ball.think = ResetBall; + ball.nextthink = min(time + autocvar_g_nexball_delay_idle, ball.teamtime); + + if(ball.owner.metertime) + { + ball.owner.metertime = 0; + ball.owner.weaponentity.state = WS_READY; + } + + WaypointSprite_Kill(ball.owner.waypointsprite_attachedforcarrier); + WaypointSprite_Spawn("nb-ball", 0, 0, ball, '0 0 64', world, ball.team, ball, waypointsprite_attachedforcarrier, FALSE, RADARICON_FLAGCARRIER, BALL_SPRITECOLOR); // no health bar please + WaypointSprite_UpdateRule(ball.waypointsprite_attachedforcarrier, 0, SPRITERULE_DEFAULT); + + ball.owner.ballcarried = world; + ball.owner = world; +} + +void InitBall(void) +{ + if(gameover) return; + self.flags &~= FL_ONGROUND; + self.movetype = MOVETYPE_BOUNCE; + if(self.classname == "nexball_basketball") + self.touch = basketball_touch; + else if(self.classname == "nexball_football") + self.touch = football_touch; + self.cnt = 0; + self.think = ResetBall; + self.nextthink = time + autocvar_g_nexball_delay_idle + 3; + self.teamtime = 0; + self.pusher = world; + self.team = FALSE; + sound(self, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM); + WaypointSprite_Ping(self.waypointsprite_attachedforcarrier); + LogNB("init", world); +} + +void ResetBall(void) +{ + if(self.cnt < 2) // step 1 + { + if(time == self.teamtime) + bprint("The ", ColoredTeamName(self.team), " held the ball for too long.\n"); + self.touch = SUB_Null; + self.movetype = MOVETYPE_NOCLIP; + self.velocity = '0 0 0'; // just in case? + if(!self.cnt) + LogNB("resetidle", world); + self.cnt = 2; + self.nextthink = time; + } + else if(self.cnt < 4) // step 2 and 3 + { +// dprint("Step ", ftos(self.cnt), ": Calculated velocity: ", vtos(self.spawnorigin - self.origin), ", time: ", ftos(time), "\n"); + self.velocity = (self.spawnorigin - self.origin) * (self.cnt - 1); // 1 or 0.5 second movement + self.nextthink = time + 0.5; + self.cnt += 1; + } + else // step 4 + { +// dprint("Step 4: time: ", ftos(time), "\n"); + if(vlen(self.origin - self.spawnorigin) > 10) // should not happen anymore + dprint("The ball moved too far away from its spawn origin.\nOffset: ", + vtos(self.origin - self.spawnorigin), " Velocity: ", vtos(self.velocity), "\n"); + self.velocity = '0 0 0'; + setorigin(self, self.spawnorigin); // make sure it's positioned correctly anyway + self.movetype = MOVETYPE_NONE; + self.think = InitBall; + self.nextthink = max(time, game_starttime) + autocvar_g_nexball_delay_start; + } +} + +void football_touch(void) +{ + if(other.solid == SOLID_BSP) + { + if(time > self.lastground + 0.1) + { + sound(self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); + self.lastground = time; + } + if(vlen(self.velocity) && !self.cnt) + self.nextthink = time + autocvar_g_nexball_delay_idle; + return; + } + if(other.classname != "player") + return; + if(other.health < 1) + return; + if(!self.cnt) + self.nextthink = time + autocvar_g_nexball_delay_idle; + + self.pusher = other; + self.team = other.team; + + if(autocvar_g_nexball_football_physics == -1) // MrBougo try 1, before decompiling Rev's original + { + if(vlen(other.velocity)) + self.velocity = other.velocity * 1.5 + '0 0 1' * autocvar_g_nexball_football_boost_up; + } + else if(autocvar_g_nexball_football_physics == 1) // MrBougo's modded Rev style: partially independant of the height of the aiming point + { + makevectors(other.v_angle); + self.velocity = other.velocity + v_forward * autocvar_g_nexball_football_boost_forward + '0 0 1' * autocvar_g_nexball_football_boost_up; + } + else if(autocvar_g_nexball_football_physics == 2) // 2nd mod try: totally independant. Really playable! + { + makevectors(other.v_angle_y * '0 1 0'); + self.velocity = other.velocity + v_forward * autocvar_g_nexball_football_boost_forward + v_up * autocvar_g_nexball_football_boost_up; + } + else // Revenant's original style (from the original mod's disassembly, acknowledged by Revenant) + { + makevectors(other.v_angle); + self.velocity = other.velocity + v_forward * autocvar_g_nexball_football_boost_forward + v_up * autocvar_g_nexball_football_boost_up; + } + self.avelocity = -250 * v_forward; // maybe there is a way to make it look better? +} + +void basketball_touch(void) +{ + if(other.ballcarried) + { + football_touch(); + return; + } + if(!self.cnt && other.classname == "player" && (other.playerid != self.dropperid || time > self.ctf_droptime + autocvar_g_nexball_delay_collect)) + { + if(other.health <= 0) + return; + LogNB("caught", other); + GiveBall(other, self); + } + else if(other.solid == SOLID_BSP) + { + sound(self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); + if(vlen(self.velocity) && !self.cnt) + self.nextthink = min(time + autocvar_g_nexball_delay_idle, self.teamtime); + } +} + +void GoalTouch(void) +{ + entity ball; + float isclient, pscore, otherteam; + string pname; + + if(gameover) return; + if((self.spawnflags & GOAL_TOUCHPLAYER) && other.ballcarried) + ball = other.ballcarried; + else + ball = other; + if(ball.classname != "nexball_basketball") + if(ball.classname != "nexball_football") + return; + if((!ball.pusher && self.team != GOAL_OUT) || ball.cnt) + return; + EXACTTRIGGER_TOUCH; + + + if(nb_teams == 2) + otherteam = OtherTeam(ball.team); + else + otherteam = 0; + + if((isclient = ball.pusher.flags & FL_CLIENT)) + pname = ball.pusher.netname; + else + pname = "Someone (?)"; + + if(ball.team == self.team) //owngoal (regular goals) + { + LogNB("owngoal", ball.pusher); + bprint("Boo! ", pname, "^7 scored a goal against their own team!\n"); + pscore = -1; + } + else if(self.team == GOAL_FAULT) + { + LogNB("fault", ball.pusher); + if(nb_teams == 2) + bprint(ColoredTeamName(otherteam), " gets a point due to ", pname, "^7's silliness.\n"); + else + bprint(ColoredTeamName(ball.team), " loses a point due to ", pname, "^7's silliness.\n"); + pscore = -1; + } + else if(self.team == GOAL_OUT) + { + LogNB("out", ball.pusher); + if((self.spawnflags & GOAL_TOUCHPLAYER) && ball.owner) + bprint(pname, "^7 went out of bounds.\n"); + else + bprint("The ball was returned.\n"); + pscore = 0; + } + else //score + { + LogNB(strcat("goal:", ftos(self.team)), ball.pusher); + bprint("Goaaaaal! ", pname, "^7 scored a point for the ", ColoredTeamName(ball.team), ".\n"); + pscore = 1; + } + + sound(ball, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NONE); + + if(ball.team && pscore) + { + if(nb_teams == 2 && pscore < 0) + TeamScore_AddToTeam(otherteam, ST_NEXBALL_GOALS, -pscore); + else + TeamScore_AddToTeam(ball.team, ST_NEXBALL_GOALS, pscore); + } + if(isclient) + { + if(pscore > 0) + PlayerScore_Add(ball.pusher, SP_NEXBALL_GOALS, pscore); + else if(pscore < 0) + PlayerScore_Add(ball.pusher, SP_NEXBALL_FAULTS, -pscore); + } + + if(ball.owner) // Happens on spawnflag GOAL_TOUCHPLAYER + DropBall(ball, ball.owner.origin, ball.owner.velocity); + + WaypointSprite_Ping(ball.waypointsprite_attachedforcarrier); + + ball.cnt = 1; + ball.think = ResetBall; + if(ball.classname == "nexball_basketball") + ball.touch = football_touch; // better than SUB_Null: football control until the ball gets reset + ball.nextthink = time + autocvar_g_nexball_delay_goal * (self.team != GOAL_OUT); +} + +//=======================// +// team ents // +//=======================// +void spawnfunc_nexball_team(void) +{ + if(!g_nexball) + { + remove(self); + return; + } + self.team = self.cnt + 1; +} + +void nb_spawnteam(string teamname, float teamcolor) +{ + dprint("^2spawned team ", teamname, "\n"); + entity e; + e = spawn(); + e.classname = "nexball_team"; + e.netname = teamname; + e.cnt = teamcolor; + e.team = e.cnt + 1; + nb_teams += 1; +} + +void nb_spawnteams(void) +{ + float t_r = 0, t_b = 0, t_y = 0, t_p = 0; + entity e; + for(e = world; (e = find(e, classname, "nexball_goal"));) + { + switch(e.team) + { + case COLOR_TEAM1: + if(!t_r) + { + nb_spawnteam("Red", e.team-1) ; + t_r = 1; + } + break; + case COLOR_TEAM2: + if(!t_b) + { + nb_spawnteam("Blue", e.team-1) ; + t_b = 1; + } + break; + case COLOR_TEAM3: + if(!t_y) + { + nb_spawnteam("Yellow", e.team-1); + t_y = 1; + } + break; + case COLOR_TEAM4: + if(!t_p) + { + nb_spawnteam("Pink", e.team-1) ; + t_p = 1; + } + break; + } + } +} + +void nb_delayedinit(void) +{ + if(find(world, classname, "nexball_team") == world) + nb_spawnteams(); + ScoreRules_nexball(nb_teams); +} + + +//=======================// +// spawnfuncs // +//=======================// + +void SpawnBall(void) +{ + if(!g_nexball) + { + remove(self); + return; + } + +// balls += 4; // using the remaining bits to count balls will leave more than the max edict count, so it's fine + + if(!self.model) + { + self.model = "models/nexball/ball.md3"; + self.scale = 1.3; + } + + precache_model(self.model); + setmodel(self, self.model); + setsize(self, BALL_MINS, BALL_MAXS); + ball_scale = self.scale; + + relocate_nexball(); + self.spawnorigin = self.origin; + + self.effects = self.effects | EF_LOWPRECISION; + + if(cvar(strcat("g_", self.classname, "_trail"))) //nexball_basketball :p + { + self.glow_color = autocvar_g_nexball_trail_color; + self.glow_trail = TRUE; + } + + self.movetype = MOVETYPE_FLY; + + if(!autocvar_g_nexball_sound_bounce) + self.noise = ""; + else if(!self.noise) + self.noise = "sound/nexball/bounce.wav"; + //bounce sound placeholder (FIXME) + if(!self.noise1) + self.noise1 = "sound/nexball/drop.wav"; + //ball drop sound placeholder (FIXME) + if(!self.noise2) + self.noise2 = "sound/nexball/steal.wav"; + //stealing sound placeholder (FIXME) + if(self.noise) precache_sound(self.noise); + precache_sound(self.noise1); + precache_sound(self.noise2); + + WaypointSprite_AttachCarrier("nb-ball", self, RADARICON_FLAGCARRIER, BALL_SPRITECOLOR); // the ball's team is not set yet, no rule update needed + + self.reset = ball_restart; + self.think = InitBall; + self.nextthink = game_starttime + autocvar_g_nexball_delay_start; +} + +void spawnfunc_nexball_basketball(void) +{ + nexball_mode |= NBM_BASKETBALL; + self.classname = "nexball_basketball"; + if not(balls & BALL_BASKET) + { + /* + CVTOV(g_nexball_basketball_effects_default); + CVTOV(g_nexball_basketball_delay_hold); + CVTOV(g_nexball_basketball_delay_hold_forteam); + CVTOV(g_nexball_basketball_teamsteal); + */ + autocvar_g_nexball_basketball_effects_default = autocvar_g_nexball_basketball_effects_default & BALL_EFFECTMASK; + } + if(!self.effects) + self.effects = autocvar_g_nexball_basketball_effects_default; + self.solid = SOLID_TRIGGER; + balls |= BALL_BASKET; + self.bouncefactor = autocvar_g_nexball_basketball_bouncefactor; + self.bouncestop = autocvar_g_nexball_basketball_bouncestop; + SpawnBall(); +} + +void spawnfunc_nexball_football(void) +{ + nexball_mode |= NBM_FOOTBALL; + self.classname = "nexball_football"; + self.solid = SOLID_TRIGGER; + balls |= BALL_FOOT; + self.bouncefactor = autocvar_g_nexball_football_bouncefactor; + self.bouncestop = autocvar_g_nexball_football_bouncestop; + SpawnBall(); +} + +void SpawnGoal(void) +{ + if(!g_nexball) + { + remove(self); + return; + } + EXACTTRIGGER_INIT; + self.classname = "nexball_goal"; + if(!self.noise) + self.noise = "ctf/respawn.wav"; + precache_sound(self.noise); + self.touch = GoalTouch; +} + +void spawnfunc_nexball_redgoal(void) +{ + self.team = COLOR_TEAM1; + SpawnGoal(); +} +void spawnfunc_nexball_bluegoal(void) +{ + self.team = COLOR_TEAM2; + SpawnGoal(); +} +void spawnfunc_nexball_yellowgoal(void) +{ + self.team = COLOR_TEAM3; + SpawnGoal(); +} +void spawnfunc_nexball_pinkgoal(void) +{ + self.team = COLOR_TEAM4; + SpawnGoal(); +} + +void spawnfunc_nexball_fault(void) +{ + self.team = GOAL_FAULT; + if(!self.noise) + self.noise = "misc/typehit.wav"; + SpawnGoal(); +} + +void spawnfunc_nexball_out(void) +{ + self.team = GOAL_OUT; + if(!self.noise) + self.noise = "misc/typehit.wav"; + SpawnGoal(); +} + +// +//Spawnfuncs preserved for compatibility +// + +void spawnfunc_ball(void) +{ + spawnfunc_nexball_football(); +} +void spawnfunc_ball_football(void) +{ + spawnfunc_nexball_football(); +} +void spawnfunc_ball_basketball(void) +{ + spawnfunc_nexball_basketball(); +} +// The "red goal" is defended by blue team. A ball in there counts as a point for red. +void spawnfunc_ball_redgoal(void) +{ + spawnfunc_nexball_bluegoal(); // I blame Revenant +} +void spawnfunc_ball_bluegoal(void) +{ + spawnfunc_nexball_redgoal(); // but he didn't mean to cause trouble :p +} +void spawnfunc_ball_fault(void) +{ + spawnfunc_nexball_fault(); +} +void spawnfunc_ball_bound(void) +{ + spawnfunc_nexball_out(); +} + +//=======================// +// Weapon code // +//=======================// + + +void W_Nexball_Think() +{ + //dprint("W_Nexball_Think\n"); + //vector new_dir = steerlib_arrive(self.enemy.origin, 2500); + vector new_dir = normalize(self.enemy.origin - self.origin); + vector old_dir = normalize(self.velocity); + float _speed = vlen(self.velocity); + vector new_vel = normalize(old_dir + (new_dir * autocvar_g_nexball_safepass_turnrate)) * _speed; + //vector new_vel = (new_dir * autocvar_g_nexball_safepass_turnrate + + self.velocity = new_vel; + + self.nextthink = time; +} + +void W_Nexball_Touch(void) +{ + entity ball, attacker; + attacker = self.owner; + //self.think = SUB_Null; + //self.enemy = world; + + PROJECTILE_TOUCH; + if(attacker.team != other.team || autocvar_g_nexball_basketball_teamsteal) + if((ball = other.ballcarried) && (attacker.classname == "player")) + { + other.velocity = other.velocity + normalize(self.velocity) * other.damageforcescale * autocvar_g_balance_nexball_secondary_force; + other.flags &~= FL_ONGROUND; + if(!attacker.ballcarried) + { + LogNB("stole", attacker); + sound(other, CH_TRIGGER, ball.noise2, VOL_BASE, ATTN_NORM); + + if(attacker.team == other.team && time > attacker.teamkill_complain) + { + attacker.teamkill_complain = time + 5; + attacker.teamkill_soundtime = time + 0.4; + attacker.teamkill_soundsource = other; + } + + GiveBall(attacker, other.ballcarried); + } + } + remove(self); +} + +void W_Nexball_Attack(float t) +{ + entity ball; + float mul, mi, ma; + if(!(ball = self.ballcarried)) + return; + + W_SetupShot(self, FALSE, 4, "nexball/shoot1.wav", CH_WEAPON_A, 0); + tracebox(w_shotorg, BALL_MINS, BALL_MAXS, w_shotorg, MOVE_WORLDONLY, world); + if(trace_startsolid) + { + if(self.metertime) + self.metertime = 0; // Shot failed, hide the power meter + return; + } + + //Calculate multiplier + if(t < 0) + mul = 1; + else + { + mi = autocvar_g_nexball_basketball_meter_minpower; + ma = max(mi, autocvar_g_nexball_basketball_meter_maxpower); // avoid confusion + //One triangle wave period with 1 as max + mul = 2 * mod(t, g_nexball_meter_period) / g_nexball_meter_period; + if(mul > 1) + mul = 2 - mul; + mul = mi + (ma - mi) * mul; // range from the minimal power to the maximal power + } + + DropBall(ball, w_shotorg, W_CalculateProjectileVelocity(self.velocity, w_shotdir * autocvar_g_balance_nexball_primary_speed * mul, FALSE)); + + + //TODO: use the speed_up cvar too ?? +} + +void W_Nexball_Attack2(void) +{ + if(self.ballcarried.enemy) + { + entity _ball = self.ballcarried; + W_SetupShot(self, FALSE, 4, "nexball/shoot1.wav", CH_WEAPON_A, 0); + DropBall(_ball, w_shotorg, trigger_push_calculatevelocity(_ball.origin, _ball.enemy, 32)); + _ball.think = W_Nexball_Think; + _ball.nextthink = time; + return; + } + + if(!autocvar_g_nexball_tackling) + return; + + entity missile; + if(!(balls & BALL_BASKET)) + return; + W_SetupShot(self, FALSE, 2, "nexball/shoot2.wav", CH_WEAPON_A, 0); +// pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1); + missile = spawn(); + + missile.owner = self; + missile.classname = "ballstealer"; + + missile.movetype = MOVETYPE_FLY; + PROJECTILE_MAKETRIGGER(missile); + + setmodel(missile, "models/elaser.mdl"); // precision set below + setsize(missile, '0 0 0', '0 0 0'); + setorigin(missile, w_shotorg); + + W_SetupProjectileVelocity(missile, autocvar_g_balance_nexball_secondary_speed, 0); + missile.angles = vectoangles(missile.velocity); + missile.touch = W_Nexball_Touch; + missile.think = SUB_Remove; + missile.nextthink = time + autocvar_g_balance_nexball_secondary_lifetime; //FIXME: use a distance instead? + + missile.effects = EF_BRIGHTFIELD | EF_LOWPRECISION; + missile.flags = FL_PROJECTILE; +} + +var const float() nullfunc; +float ball_customize() +{ + if(!self.owner) + { + self.effects &~= EF_FLAME; + self.scale = 1; + self.customizeentityforclient = nullfunc; + return TRUE; + } + + if(other == self.owner) + { + self.scale = autocvar_g_nexball_viewmodel_scale; + if(self.enemy) + self.effects |= EF_FLAME; + else + self.effects &~= EF_FLAME; + } + else + { + self.effects &~= EF_FLAME; + self.scale = 1; + } + + return TRUE; +} + +float w_nexball_weapon(float req) +{ + if(req == WR_THINK) + { + if(self.BUTTON_ATCK) + if(weapon_prepareattack(0, autocvar_g_balance_nexball_primary_refire)) + if(autocvar_g_nexball_basketball_meter) + { + if(self.ballcarried && !self.metertime) + self.metertime = time; + else + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready); + } + else + { + W_Nexball_Attack(-1); + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready); + } + if(self.BUTTON_ATCK2) + if(weapon_prepareattack(1, autocvar_g_balance_nexball_secondary_refire)) + { + W_Nexball_Attack2(); + weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_nexball_secondary_animtime, w_ready); + } + + if(!self.BUTTON_ATCK && self.metertime && self.ballcarried) + { + W_Nexball_Attack(time - self.metertime); + // DropBall or stealing will set metertime back to 0 + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready); + } + } + else if(req == WR_PRECACHE) + { + precache_model("models/weapons/g_porto.md3"); + precache_model("models/weapons/v_porto.md3"); + precache_model("models/weapons/h_porto.iqm"); + precache_model("models/elaser.mdl"); + precache_sound("nexball/shoot1.wav"); + precache_sound("nexball/shoot2.wav"); + precache_sound("misc/typehit.wav"); + } + else if(req == WR_SETUP) + weapon_setup(WEP_PORTO); + else if(req == WR_SUICIDEMESSAGE) + { + w_deathtypestring = "is a weirdo"; + } + else if(req == WR_KILLMESSAGE) + { + w_deathtypestring = "got killed by #'s black magic"; + } + // No need to check WR_CHECKAMMO* or WR_AIM, it should always return TRUE + return TRUE; +} + +MUTATOR_HOOKFUNCTION(nexball_BallDrop) +{ + if(self.ballcarried && g_nexball) + DropBall(self.ballcarried, self.origin, self.velocity); + + return 0; +} + +MUTATOR_HOOKFUNCTION(nexball_BuildMutatorsString) +{ + ret_string = strcat(ret_string, ":NB"); + return 0; +} + +MUTATOR_HOOKFUNCTION(nexball_BuildMutatorsPrettyString) +{ + ret_string = strcat(ret_string, ", NexBall"); + return 0; +} + +MUTATOR_HOOKFUNCTION(nexball_PlayerPreThink) +{ + makevectors(self.v_angle); + if(nexball_mode & NBM_BASKETBALL) + { + if(self.ballcarried) + { + // 'view ball' + self.ballcarried.velocity = self.velocity; + self.ballcarried.customizeentityforclient = ball_customize; + + setorigin(self.ballcarried, self.origin + self.view_ofs + + v_forward * autocvar_g_nexball_viewmodel_offset_x + + v_right * autocvar_g_nexball_viewmodel_offset_y + + v_up * autocvar_g_nexball_viewmodel_offset_z); + + // 'safe passing' + if(autocvar_g_nexball_safepass_maxdist) + { + if(self.ballcarried.wait < time && self.ballcarried.enemy) + { + //centerprint(self, sprintf("Lost lock on %s", self.ballcarried.enemy.netname)); + self.ballcarried.enemy = world; + } + + + //tracebox(self.origin + self.view_ofs, '-2 -2 -2', '2 2 2', self.origin + self.view_ofs + v_forward * autocvar_g_nexball_safepass_maxdist); + crosshair_trace(self); + if( trace_ent && + trace_ent.flags & FL_CLIENT && + trace_ent.deadflag == DEAD_NO && + trace_ent.team == self.team && + vlen(trace_ent.origin - self.origin) <= autocvar_g_nexball_safepass_maxdist ) + { + + //if(self.ballcarried.enemy != trace_ent) + // centerprint(self, sprintf("Locked to %s", trace_ent.netname)); + self.ballcarried.enemy = trace_ent; + self.ballcarried.wait = time + autocvar_g_nexball_safepass_holdtime; + + + } + } + } + else + { + if(!WEPSET_EMPTY_E(self.weaponentity)) + { + WEPSET_COPY_EE(self, self.weaponentity); + weapon_action(WEP_PORTO, WR_RESETPLAYER); + self.switchweapon = self.weaponentity.switchweapon; + W_SwitchWeapon(self.switchweapon); + + WEPSET_CLEAR_E(self.weaponentity); + } + } + + } + return FALSE; +} + +MUTATOR_HOOKFUNCTION(nexball_PlayerSpawn) +{ + WEPSET_CLEAR_E(self.weaponentity); + + if(nexball_mode & NBM_BASKETBALL) + WEPSET_OR_EW(self, WEP_PORTO); + else + WEPSET_CLEAR_E(self); + + return FALSE; +} + +MUTATOR_DEFINITION(gamemode_nexball) +{ + MUTATOR_HOOK(PlayerDies, nexball_BallDrop, CBC_ORDER_ANY); + MUTATOR_HOOK(MakePlayerObserver, nexball_BallDrop, CBC_ORDER_ANY); + MUTATOR_HOOK(ClientDisconnect, nexball_BallDrop, CBC_ORDER_ANY); + MUTATOR_HOOK(BuildMutatorsPrettyString, nexball_BuildMutatorsPrettyString, CBC_ORDER_ANY); + MUTATOR_HOOK(BuildMutatorsString, nexball_BuildMutatorsString, CBC_ORDER_ANY); + MUTATOR_HOOK(PlayerSpawn, nexball_PlayerSpawn, CBC_ORDER_ANY); + MUTATOR_HOOK(PlayerPreThink, nexball_PlayerPreThink, CBC_ORDER_ANY); + + MUTATOR_ONADD + { + g_nexball_meter_period = autocvar_g_nexball_meter_period; + if(g_nexball_meter_period <= 0) + g_nexball_meter_period = 2; // avoid division by zero etc. due to silly users + g_nexball_meter_period = rint(g_nexball_meter_period * 32) / 32; //Round to 1/32ths to send as a byte multiplied by 32 + addstat(STAT_NB_METERSTART, AS_FLOAT, metertime); + + // General settings + /* + CVTOV(g_nexball_football_boost_forward); //100 + CVTOV(g_nexball_football_boost_up); //200 + CVTOV(g_nexball_delay_idle); //10 + CVTOV(g_nexball_football_physics); //0 + */ + radar_showennemies = autocvar_g_nexball_radar_showallplayers; + + InitializeEntity(world, nb_delayedinit, INITPRIO_GAMETYPE); + } + + return 0; +} diff --git a/qcsrc/server/mutators/gamemode_nexball.qh b/qcsrc/server/mutators/gamemode_nexball.qh new file mode 100644 index 000000000..545ec96d7 --- /dev/null +++ b/qcsrc/server/mutators/gamemode_nexball.qh @@ -0,0 +1,30 @@ +//EF_BRIGHTFIELD|EF_BRIGHTLIGHT|EF_DIMLIGHT|EF_BLUE|EF_RED|EF_FLAME +#define BALL_EFFECTMASK 1229 +#define BALL_MINS '-16 -16 -16' // The model is 24*24*24 +#define BALL_MAXS '16 16 16' +#define BALL_ATTACHORG '3 0 16' +#define BALL_SPRITECOLOR '.91 .85 .62' +#define BALL_FOOT 1 +#define BALL_BASKET 2 +//spawnflags +#define GOAL_TOUCHPLAYER 1 +//goal types +#define GOAL_FAULT -1 +#define GOAL_OUT -2 + +void DropBall(entity ball, vector org, vector vel); +float autocvar_g_nexball_football_boost_forward; +float autocvar_g_nexball_football_boost_up; +float autocvar_g_nexball_football_physics; +float autocvar_g_nexball_delay_idle; +float autocvar_g_nexball_basketball_delay_hold; +float autocvar_g_nexball_basketball_delay_hold_forteam; +float autocvar_g_nexball_basketball_effects_default; +float autocvar_g_nexball_basketball_teamsteal; +float autocvar_g_nexball_meter_period; + +float balls; +float ball_scale; +float nb_teams; + +.float teamtime; \ No newline at end of file diff --git a/qcsrc/server/mutators/mutator_dodging.qc b/qcsrc/server/mutators/mutator_dodging.qc index 3b193c163..bdd39b128 100644 --- a/qcsrc/server/mutators/mutator_dodging.qc +++ b/qcsrc/server/mutators/mutator_dodging.qc @@ -55,6 +55,9 @@ MUTATOR_HOOKFUNCTION(dodging_PlayerPhysics) { float velocity_difference; float clean_up_and_do_nothing; + if (self.deadflag != DEAD_NO) + return 0; + new_velocity_gain = 0; clean_up_and_do_nothing = 0; @@ -241,8 +244,6 @@ MUTATOR_HOOKFUNCTION(dodging_GetPressedKeys) { } } - - if (dodge_detected == 1) { self.last_dodging_time = time; @@ -255,7 +256,7 @@ MUTATOR_HOOKFUNCTION(dodging_GetPressedKeys) { self.dodging_direction_y = tap_direction_y; // normalize the dodging_direction vector.. (unlike UT99) XD - length = length + self.dodging_direction_x * self.dodging_direction_x; + length = self.dodging_direction_x * self.dodging_direction_x; length = length + self.dodging_direction_y * self.dodging_direction_y; length = sqrt(length); diff --git a/qcsrc/server/mutators/mutator_new_toys.qc b/qcsrc/server/mutators/mutator_new_toys.qc new file mode 100644 index 000000000..cc4f94324 --- /dev/null +++ b/qcsrc/server/mutators/mutator_new_toys.qc @@ -0,0 +1,217 @@ +/* + +CORE laser nex lg rl cry gl elec hagar fireb hook + minsta porto + tuba + +NEW rifle hlac minel seeker +IDEAS OPEN flak OPEN FUN FUN FUN FUN + + + +How this mutator works: + ======================= + +When a gun tries to spawn, this mutator is called. It will provide alternate +weaponreplace lists. + +Entity: + +{ +"classname" "weapon_nex" +"new_toys" "rifle" +} +-> This will spawn as Rifle in this mutator ONLY, and as Nex otherwise. + +{ +"classname" "weapon_nex" +"new_toys" "nex rifle" +} +-> This will spawn as either Nex or Rifle in this mutator ONLY, and as Nex otherwise. + +{ +"classname" "weapon_nex" +"new_toys" "nex" +} +-> This is always a Nex. + +If the map specifies no "new_toys" argument + +There will be two default replacements selectable: "replace all" and "replace random". +In "replace all" mode, e.g. Nex will have the default replacement "rifle". +In "replace random" mode, Nex will have the default replacement "nex rifle". + +This mutator's replacements run BEFORE regular weaponreplace! + +The New Toys guns do NOT get a spawn function, so they can only ever be spawned +when this mutator is active. + +Likewise, warmup, give all, give ALL and impulse 99 will not give them unless +this mutator is active. + +Outside this mutator, they still can be spawned by: +- setting their start weapon cvar to 1 +- give weaponname +- weaponreplace +- weaponarena (but all and most weapons arena again won't include them) + +This mutator performs the default replacements on the DEFAULTS of the +start weapon selection. + +These weapons appear in the menu's priority list, BUT get a suffix +"(Mutator weapon)". + +Picking up a "new toys" weapon will not play standard weapon pickup sound, but +roflsound "New toys, new toys!" sound. + +*/ + +.string new_toys; + +float autocvar_g_new_toys_autoreplace; +#define NT_AUTOREPLACE_NEVER 0 +#define NT_AUTOREPLACE_ALWAYS 1 +#define NT_AUTOREPLACE_RANDOM 2 + +MUTATOR_HOOKFUNCTION(nt_SetModname) +{ + modname = "NewToys"; + return 0; +} + +float nt_IsNewToy(float w) +{ + switch(w) + { + case WEP_SEEKER: + case WEP_MINE_LAYER: + case WEP_HLAC: + case WEP_RIFLE: + return TRUE; + default: + return FALSE; + } +} + +string nt_GetFullReplacement(string w) +{ + switch(w) + { + case "hagar": return "seeker"; + case "rocketlauncher": return "minelayer"; + case "uzi": return "hlac"; + case "nex": return "rifle"; + default: return string_null; + } +} + +string nt_GetReplacement(string w, float m) +{ + if(m == NT_AUTOREPLACE_NEVER) + return w; + string s = nt_GetFullReplacement(w); + if not(s) + return w; + if(m == NT_AUTOREPLACE_RANDOM) + s = strcat(w, " ", s); + return s; +} + +MUTATOR_HOOKFUNCTION(nt_SetStartItems) +{ + // rearrange start_weapon_default + // apply those bits that are set by start_weapon_defaultmask + // same for warmup + + float i, j, k, n; + + WEPSET_DECLARE_A(newdefault); + WEPSET_DECLARE_A(warmup_newdefault); + + WEPSET_CLEAR_A(newdefault); + WEPSET_CLEAR_A(warmup_newdefault); + + for(i = WEP_FIRST; i <= WEP_LAST; ++i) + { + entity e = get_weaponinfo(i); + if(!e.weapon) + continue; + + n = tokenize_console(nt_GetReplacement(e.netname, autocvar_g_new_toys_autoreplace)); + + for(j = 0; j < n; ++j) + for(k = WEP_FIRST; k <= WEP_LAST; ++k) + if(get_weaponinfo(k).netname == argv(j)) + { + if(WEPSET_CONTAINS_AW(start_weapons, i)) + WEPSET_OR_AW(newdefault, k); + if(WEPSET_CONTAINS_AW(warmup_start_weapons, i)) + WEPSET_OR_AW(warmup_newdefault, k); + } + } + + WEPSET_AND_AA(newdefault, start_weapons_defaultmask); + WEPSET_ANDNOT_AA(start_weapons, start_weapons_defaultmask); + WEPSET_OR_AA(start_weapons, newdefault); + + WEPSET_AND_AA(warmup_newdefault, warmup_start_weapons_defaultmask); + WEPSET_ANDNOT_AA(warmup_start_weapons, warmup_start_weapons_defaultmask); + WEPSET_OR_AA(warmup_start_weapons, warmup_newdefault); + + return 0; +} + +MUTATOR_HOOKFUNCTION(nt_SetWeaponreplace) +{ + // otherwise, we do replace + if(self.new_toys) + { + // map defined replacement: + ret_string = self.new_toys; + } + else + { + // auto replacement: + ret_string = nt_GetReplacement(other.netname, autocvar_g_new_toys_autoreplace); + } + + // apply regular weaponreplace + ret_string = W_Apply_Weaponreplace(ret_string); + + return 0; +} + +MUTATOR_HOOKFUNCTION(nt_FilterItem) +{ + if(nt_IsNewToy(self.weapon)) + self.item_pickupsound = "weapons/weaponpickup_new_toys.ogg"; + return 0; +} + +MUTATOR_DEFINITION(mutator_new_toys) +{ + MUTATOR_HOOK(SetModname, nt_SetModname, CBC_ORDER_ANY); + MUTATOR_HOOK(SetStartItems, nt_SetStartItems, CBC_ORDER_ANY); + MUTATOR_HOOK(SetWeaponreplace, nt_SetWeaponreplace, CBC_ORDER_LAST); + MUTATOR_HOOK(FilterItem, nt_FilterItem, CBC_ORDER_ANY); + + MUTATOR_ONADD + { + if(time > 1) // game loads at time 1 + error("This cannot be added at runtime\n"); + + precache_sound("weapons/weaponpickup_new_toys.ogg"); + + // mark the guns as ok to use by e.g. impulse 99 + float i; + for(i = WEP_FIRST; i <= WEP_LAST; ++i) + if(nt_IsNewToy(i)) + get_weaponinfo(i).spawnflags &~= WEP_FLAG_MUTATORBLOCKED; + } + MUTATOR_ONREMOVE + { + error("This cannot be removed at runtime\n"); + } + + return 0; +} diff --git a/qcsrc/server/mutators/mutator_nix.qc b/qcsrc/server/mutators/mutator_nix.qc index 519d51daa..dad19e4a3 100644 --- a/qcsrc/server/mutators/mutator_nix.qc +++ b/qcsrc/server/mutators/mutator_nix.qc @@ -9,28 +9,23 @@ float nix_nextweapon_ammo; .float nix_lastinfotime; .float nix_nextincr; -.float nix_save_cells; -.float nix_save_shells; -.float nix_save_nails; -.float nix_save_rockets; -.float nix_save_fuel; -.float nix_save_weapons; - float NIX_CanChooseWeapon(float wpn) { entity e; e = get_weaponinfo(wpn); - if(!e.weapons) // skip dummies + if(!e.weapon) // skip dummies return FALSE; if(g_weaponarena) { - if not(g_weaponarena & e.weapons) + if not(WEPSET_CONTAINS_AW(g_weaponarena_weapons, wpn)) return FALSE; } else { if(wpn == WEP_LASER && g_nix_with_laser) return FALSE; + if(e.spawnflags & WEP_FLAG_MUTATORBLOCKED) + return FALSE; if not(e.spawnflags & WEP_FLAG_NORMAL) return FALSE; } @@ -141,10 +136,10 @@ void NIX_GiveCurrentWeapon() self.nix_nextincr = time + autocvar_g_balance_nix_incrtime; } - self.weapons = 0; + WEPSET_CLEAR_E(self); if(g_nix_with_laser) - self.weapons = self.weapons | WEPBIT_LASER; - self.weapons = self.weapons | W_WeaponBit(nix_weapon); + WEPSET_ANDNOT_EW(self, WEP_LASER); + WEPSET_OR_EW(self, nix_weapon); if(self.switchweapon != nix_weapon) if(!client_hasweapon(self, self.switchweapon, TRUE, FALSE)) @@ -165,15 +160,6 @@ MUTATOR_HOOKFUNCTION(nix_ForbidThrowCurrentWeapon) return 1; // no throwing in NIX } -MUTATOR_HOOKFUNCTION(nix_SetStartItems) -{ - NIX_precache(); - // we do NOT change the start weapons any more, so we can later turn off the mutator! - // start_weapons = 0; // will be done later, when player spawns - // warmup_start_weapons = 0; // will be done later, when player spawns - return 0; -} - MUTATOR_HOOKFUNCTION(nix_BuildMutatorsString) { ret_string = strcat(ret_string, ":NIX"); @@ -228,6 +214,13 @@ MUTATOR_HOOKFUNCTION(nix_PlayerSpawn) { self.nix_lastchange_id = -1; NIX_GiveCurrentWeapon(); // overrides the weapons you got when spawning + self.items |= IT_UNLIMITED_SUPERWEAPONS; + return 0; +} + +MUTATOR_HOOKFUNCTION(nix_SetModname) +{ + modname = "NIX"; return 0; } @@ -236,13 +229,13 @@ MUTATOR_DEFINITION(mutator_nix) entity e; MUTATOR_HOOK(ForbidThrowCurrentWeapon, nix_ForbidThrowCurrentWeapon, CBC_ORDER_ANY); - MUTATOR_HOOK(SetStartItems, nix_SetStartItems, CBC_ORDER_EXCLUSIVE); MUTATOR_HOOK(BuildMutatorsString, nix_BuildMutatorsString, CBC_ORDER_ANY); MUTATOR_HOOK(BuildMutatorsPrettyString, nix_BuildMutatorsPrettyString, CBC_ORDER_ANY); MUTATOR_HOOK(FilterItem, nix_FilterItem, CBC_ORDER_ANY); MUTATOR_HOOK(OnEntityPreSpawn, nix_OnEntityPreSpawn, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerPreThink, nix_PlayerPreThink, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerSpawn, nix_PlayerSpawn, CBC_ORDER_ANY); + MUTATOR_HOOK(SetModname, nix_SetModname, CBC_ORDER_LAST); MUTATOR_ONADD { @@ -252,28 +245,6 @@ MUTATOR_DEFINITION(mutator_nix) nix_nextweapon = 0; NIX_precache(); - - FOR_EACH_PLAYER(e) - { - if(e.deadflag == DEAD_NO) - { - e.nix_save_cells = e.ammo_cells; - e.nix_save_shells = e.ammo_shells; - e.nix_save_nails = e.ammo_nails; - e.nix_save_rockets = e.ammo_rockets; - e.nix_save_fuel = e.ammo_fuel; - e.nix_save_weapons = e.weapons; - } - else - { - e.nix_save_cells = 0; - e.nix_save_shells = 0; - e.nix_save_nails = 0; - e.nix_save_rockets = 0; - e.nix_save_fuel = 0; - e.nix_save_weapons = 0; - } - } } MUTATOR_ONREMOVE @@ -282,12 +253,12 @@ MUTATOR_DEFINITION(mutator_nix) FOR_EACH_PLAYER(e) if(e.deadflag == DEAD_NO) { - e.ammo_cells = max(start_ammo_cells, e.nix_save_cells); - e.ammo_shells = max(start_ammo_shells, e.nix_save_shells); - e.ammo_nails = max(start_ammo_nails, e.nix_save_nails); - e.ammo_rockets = max(start_ammo_rockets, e.nix_save_rockets); - e.ammo_fuel = max(start_ammo_fuel, e.nix_save_fuel); - e.weapons = (start_weapons | e.nix_save_weapons); + e.ammo_cells = start_ammo_cells; + e.ammo_shells = start_ammo_shells; + e.ammo_nails = start_ammo_nails; + e.ammo_rockets = start_ammo_rockets; + e.ammo_fuel = start_ammo_fuel; + WEPSET_COPY_EA(e, start_weapons); if(!client_hasweapon(e, e.weapon, TRUE, FALSE)) e.switchweapon = w_getbestweapon(self); } diff --git a/qcsrc/server/mutators/mutators.qh b/qcsrc/server/mutators/mutators.qh index 825062e1c..4e7d9a651 100644 --- a/qcsrc/server/mutators/mutators.qh +++ b/qcsrc/server/mutators/mutators.qh @@ -1,13 +1,14 @@ MUTATOR_DECLARATION(gamemode_keyhunt); MUTATOR_DECLARATION(gamemode_freezetag); MUTATOR_DECLARATION(gamemode_keepaway); +MUTATOR_DECLARATION(gamemode_nexball); +MUTATOR_DECLARATION(mutator_dodging); MUTATOR_DECLARATION(mutator_invincibleprojectiles); +MUTATOR_DECLARATION(mutator_new_toys); MUTATOR_DECLARATION(mutator_nix); -MUTATOR_DECLARATION(mutator_dodging); MUTATOR_DECLARATION(mutator_rocketflying); -MUTATOR_DECLARATION(mutator_vampire); -MUTATOR_DECLARATION(mutator_spawn_near_teammate); MUTATOR_DECLARATION(mutator_spawn_near_teammate); +MUTATOR_DECLARATION(mutator_vampire); MUTATOR_DECLARATION(sandbox); diff --git a/qcsrc/server/mutators/sandbox.qc b/qcsrc/server/mutators/sandbox.qc index 66377d1d8..d7fec1326 100644 --- a/qcsrc/server/mutators/sandbox.qc +++ b/qcsrc/server/mutators/sandbox.qc @@ -205,7 +205,7 @@ string port_string[MAX_STORAGE_ATTACHMENTS]; // fteqcc crashes if this isn't def string sandbox_ObjectPort_Save(entity e, float database) { // save object properties, and return them as a string - float i; + float i = 0; string s; entity head; @@ -268,6 +268,7 @@ string sandbox_ObjectPort_Save(entity e, float database) } // now apply the array to a simple string, with the ; symbol separating objects + s = ""; for(i = 0; i <= MAX_STORAGE_ATTACHMENTS; ++i) { if(port_string[i]) @@ -744,13 +745,16 @@ MUTATOR_HOOKFUNCTION(sandbox_PlayerCommand) 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++) + s = ""; + 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; case "attachments": // this should show the same info as 'mesh' but for attachments + s = ""; entity head; + i = 0; for(head = world; (head = find(head, classname, "object")); ) { if(head.owner == e) @@ -794,10 +798,17 @@ MUTATOR_HOOKFUNCTION(sandbox_StartFrame) return TRUE; } +MUTATOR_HOOKFUNCTION(sandbox_SetModname) +{ + modname = "Sandbox"; + return TRUE; +} + MUTATOR_DEFINITION(sandbox) { MUTATOR_HOOK(SV_ParseClientCommand, sandbox_PlayerCommand, CBC_ORDER_ANY); MUTATOR_HOOK(SV_StartFrame, sandbox_StartFrame, CBC_ORDER_ANY); + MUTATOR_HOOK(SetModname, sandbox_SetModname, CBC_ORDER_ANY); MUTATOR_ONADD { diff --git a/qcsrc/server/nexball.qc b/qcsrc/server/nexball.qc deleted file mode 100644 index a068a33a5..000000000 --- a/qcsrc/server/nexball.qc +++ /dev/null @@ -1,738 +0,0 @@ -//EF_BRIGHTFIELD|EF_BRIGHTLIGHT|EF_DIMLIGHT|EF_BLUE|EF_RED|EF_FLAME -#define BALL_EFFECTMASK 1229 -#define BALL_MINS '-16 -16 -16' // The model is 24*24*24 -#define BALL_MAXS '16 16 16' -#define BALL_ATTACHORG '3 0 16' -#define BALL_SPRITECOLOR '.91 .85 .62' -#define BALL_FOOT 1 -#define BALL_BASKET 2 -//spawnflags -#define GOAL_TOUCHPLAYER 1 -//goal types -#define GOAL_FAULT -1 -#define GOAL_OUT -2 - -#define CVTOV(s) s = cvar( #s ) - -float g_nexball_football_boost_forward; -float g_nexball_football_boost_up; -float g_nexball_football_physics; -float g_nexball_delay_idle; -float g_nexball_basketball_delay_hold; -float g_nexball_basketball_delay_hold_forteam; -float g_nexball_basketball_effects_default; -float g_nexball_basketball_teamsteal; -float balls; -float ball_scale; -float nb_teams; - -.float teamtime; - -void nb_delayedinit(); -void nb_init() // Called early (worldspawn stage) -{ - CVTOV(g_nexball_meter_period); //sent with the client init entity - if (g_nexball_meter_period <= 0) - g_nexball_meter_period = 2; // avoid division by zero etc. due to silly users - g_nexball_meter_period = rint(g_nexball_meter_period * 32) / 32; //Round to 1/32ths to send as a byte multiplied by 32 - addstat(STAT_NB_METERSTART, AS_FLOAT, metertime); - - // General settings - CVTOV(g_nexball_football_boost_forward); //100 - CVTOV(g_nexball_football_boost_up); //200 - CVTOV(g_nexball_delay_idle); //10 - CVTOV(g_nexball_football_physics); //0 - - radar_showennemies = autocvar_g_nexball_radar_showallplayers; - - InitializeEntity(world, nb_delayedinit, INITPRIO_GAMETYPE); -} - -float OtherTeam(float t) //works only if there are two teams on the map! -{ - entity e; - e = find(world, classname, "nexball_team"); - if (e.team == t) - e = find(e, classname, "nexball_team"); - return e.team; -} - -void ResetBall(); - -void LogNB(string mode, entity actor) -{ - string s; - if(!autocvar_sv_eventlog) - return; - s = strcat(":nexball:", mode); - if(actor != world) - s = strcat(s, ":", ftos(actor.playerid)); - GameLogEcho(s); -} - -void ball_restart (void) -{ - if(self.owner) - DropBall(self, self.owner.origin, '0 0 0'); - ResetBall(); -} - -void nexball_setstatus (void) -{ - entity oldself; - self.items &~= IT_KEY1; - if (self.ballcarried) - { - if (self.ballcarried.teamtime && (self.ballcarried.teamtime < time)) - { - bprint("The ", ColoredTeamName(self.team), " held the ball for too long.\n"); - oldself = self; - self = self.ballcarried; - DropBall(self, self.owner.origin, '0 0 0'); - ResetBall(); - self = oldself; - } else - self.items |= IT_KEY1; - } -} - -void relocate_nexball (void) -{ - tracebox(self.origin, BALL_MINS, BALL_MAXS, self.origin, TRUE, self); - if (trace_startsolid) - { - vector o; - o = self.origin; - if(!move_out_of_solid(self)) - objerror("could not get out of solid at all!"); - print("^1NOTE: this map needs FIXING. ", self.classname, " at ", vtos(o - '0 0 1')); - print(" needs to be moved out of solid, e.g. by '", ftos(self.origin_x - o_x)); - print(" ", ftos(self.origin_y - o_y)); - print(" ", ftos(self.origin_z - o_z), "'\n"); - self.origin = o; - } -} - -void basketball_touch(); -void football_touch(); - -void DropOwner (void) -{ - entity ownr; - ownr = self.owner; - DropBall(self, ownr.origin, ownr.velocity); - makevectors(ownr.v_angle_y * '0 1 0'); - ownr.velocity += ('0 0 0.75' - v_forward) * 1000; - ownr.flags &~= FL_ONGROUND; -} - -void GiveBall (entity plyr, entity ball) -{ - entity ownr; - - if ((ownr = ball.owner)) - { - ownr.effects &~= g_nexball_basketball_effects_default; - ownr.ballcarried = world; - if (ownr.metertime) - { - ownr.metertime = 0; - ownr.weaponentity.state = WS_READY; - } - WaypointSprite_Kill(ownr.waypointsprite_attachedforcarrier); - } - else - { - WaypointSprite_Kill(ball.waypointsprite_attachedforcarrier); - } - - setattachment(ball, plyr, ""); - setorigin(ball, BALL_ATTACHORG); - - if (ball.team != plyr.team) - ball.teamtime = time + g_nexball_basketball_delay_hold_forteam; - - ball.owner = ball.pusher = plyr; //"owner" is set to the player carrying, "pusher" to the last player who touched it - ball.team = plyr.team; - plyr.ballcarried = ball; - ball.dropperid = plyr.playerid; - - plyr.effects |= g_nexball_basketball_effects_default; - ball.effects &~= g_nexball_basketball_effects_default; - - ball.velocity = '0 0 0'; - ball.movetype = MOVETYPE_NONE; - ball.touch = SUB_Null; - ball.effects |= EF_NOSHADOW; - ball.scale = 1; // scale down. - - WaypointSprite_AttachCarrier("nb-ball", plyr, RADARICON_FLAGCARRIER, BALL_SPRITECOLOR); - WaypointSprite_UpdateRule(plyr.waypointsprite_attachedforcarrier, 0, SPRITERULE_DEFAULT); - - if (g_nexball_basketball_delay_hold) - { - ball.think = DropOwner; - ball.nextthink = time + g_nexball_basketball_delay_hold; - } -} - -void DropBall (entity ball, vector org, vector vel) -{ - ball.effects |= g_nexball_basketball_effects_default; - ball.effects &~= EF_NOSHADOW; - ball.owner.effects &~= g_nexball_basketball_effects_default; - - setattachment(ball, world, ""); - setorigin (ball, org); - ball.movetype = MOVETYPE_BOUNCE; - ball.flags &~= FL_ONGROUND; - ball.scale = ball_scale; - ball.velocity = vel; - ball.ctf_droptime = time; - ball.touch = basketball_touch; - ball.think = ResetBall; - ball.nextthink = min(time + g_nexball_delay_idle, ball.teamtime); - - if (ball.owner.metertime) - { - ball.owner.metertime = 0; - ball.owner.weaponentity.state = WS_READY; - } - - WaypointSprite_Kill(ball.owner.waypointsprite_attachedforcarrier); - WaypointSprite_Spawn("nb-ball", 0, 0, ball, '0 0 64', world, ball.team, ball, waypointsprite_attachedforcarrier, FALSE, RADARICON_FLAGCARRIER, BALL_SPRITECOLOR); // no health bar please - WaypointSprite_UpdateRule(ball.waypointsprite_attachedforcarrier, 0, SPRITERULE_DEFAULT); - - ball.owner.ballcarried = world; - ball.owner = world; -} - -void InitBall (void) -{ - if (gameover) return; - self.flags &~= FL_ONGROUND; - self.movetype = MOVETYPE_BOUNCE; - if (self.classname == "nexball_basketball") - self.touch = basketball_touch; - else if (self.classname == "nexball_football") - self.touch = football_touch; - self.cnt = 0; - self.think = ResetBall; - self.nextthink = time + g_nexball_delay_idle + 3; - self.teamtime = 0; - self.pusher = world; - self.team = FALSE; - sound (self, CH_TRIGGER, self.noise1, VOL_BASE, ATTN_NORM); - WaypointSprite_Ping(self.waypointsprite_attachedforcarrier); - LogNB("init", world); -} - -void ResetBall (void) -{ - if (self.cnt < 2) { // step 1 - if (time == self.teamtime) - bprint("The ", ColoredTeamName(self.team), " held the ball for too long.\n"); - self.touch = SUB_Null; - self.movetype = MOVETYPE_NOCLIP; - self.velocity = '0 0 0'; // just in case? - if(!self.cnt) - LogNB("resetidle", world); - self.cnt = 2; - self.nextthink = time; - } else if (self.cnt < 4) { // step 2 and 3 -// dprint("Step ", ftos(self.cnt), ": Calculated velocity: ", vtos(self.spawnorigin - self.origin), ", time: ", ftos(time), "\n"); - self.velocity = (self.spawnorigin - self.origin) * (self.cnt - 1); // 1 or 0.5 second movement - self.nextthink = time + 0.5; - self.cnt += 1; - } else { // step 4 -// dprint("Step 4: time: ", ftos(time), "\n"); - if (vlen(self.origin - self.spawnorigin) > 10) // should not happen anymore - dprint("The ball moved too far away from its spawn origin.\nOffset: ", - vtos(self.origin - self.spawnorigin), " Velocity: ", vtos(self.velocity), "\n"); - self.velocity = '0 0 0'; - setorigin(self, self.spawnorigin); // make sure it's positioned correctly anyway - self.movetype = MOVETYPE_NONE; - self.think = InitBall; - self.nextthink = max(time, game_starttime) + autocvar_g_nexball_delay_start; - } -} - -void football_touch (void) -{ - if (other.solid == SOLID_BSP) { - if (time > self.lastground + 0.1) - { - sound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); - self.lastground = time; - } - if (vlen(self.velocity) && !self.cnt) - self.nextthink = time + g_nexball_delay_idle; - return; - } - if (other.classname != "player") - return; - if (other.health < 1) - return; - if (!self.cnt) - self.nextthink = time + g_nexball_delay_idle; - - self.pusher = other; - self.team = other.team; - - if (g_nexball_football_physics == -1) { // MrBougo try 1, before decompiling Rev's original - if (vlen(other.velocity)) - self.velocity = other.velocity * 1.5 + '0 0 1' * g_nexball_football_boost_up; - } else if (g_nexball_football_physics == 1) { // MrBougo's modded Rev style: partially independant of the height of the aiming point - makevectors(other.v_angle); - self.velocity = other.velocity + v_forward * g_nexball_football_boost_forward + '0 0 1' * g_nexball_football_boost_up; - } else if (g_nexball_football_physics == 2) { // 2nd mod try: totally independant. Really playable! - makevectors(other.v_angle_y * '0 1 0'); - self.velocity = other.velocity + v_forward * g_nexball_football_boost_forward + v_up * g_nexball_football_boost_up; - } else { // Revenant's original style (from the original mod's disassembly, acknowledged by Revenant) - makevectors(other.v_angle); - self.velocity = other.velocity + v_forward * g_nexball_football_boost_forward + v_up * g_nexball_football_boost_up; - } - self.avelocity = -250 * v_forward; // maybe there is a way to make it look better? -} - -void basketball_touch (void) -{ - if (other.ballcarried) - { - football_touch(); - return; - } - if (!self.cnt && other.classname == "player" && (other.playerid != self.dropperid || time > self.ctf_droptime + autocvar_g_nexball_delay_collect)) { - if (other.health <= 0) - return; - LogNB("caught", other); - GiveBall(other, self); - } else if (other.solid == SOLID_BSP) { - sound (self, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NORM); - if (vlen(self.velocity) && !self.cnt) - self.nextthink = min(time + g_nexball_delay_idle, self.teamtime); - } -} - -void GoalTouch (void) -{ - entity ball; - float isclient, pscore, otherteam; - string pname; - - if (gameover) return; - if ((self.spawnflags & GOAL_TOUCHPLAYER) && other.ballcarried) - ball = other.ballcarried; - else - ball = other; - if (ball.classname != "nexball_basketball") - if (ball.classname != "nexball_football") - return; - if ((!ball.pusher && self.team != GOAL_OUT) || ball.cnt) - return; - EXACTTRIGGER_TOUCH; - - - if(nb_teams == 2) - otherteam = OtherTeam(ball.team); - - if((isclient = ball.pusher.flags & FL_CLIENT)) - pname = ball.pusher.netname; - else - pname = "Someone (?)"; - - if (ball.team == self.team) //owngoal (regular goals) - { - LogNB("owngoal", ball.pusher); - bprint("Boo! ", pname, "^7 scored a goal against their own team!\n"); - pscore = -1; - } else if (self.team == GOAL_FAULT) { - LogNB("fault", ball.pusher); - if (nb_teams == 2) - bprint(ColoredTeamName(otherteam), " gets a point due to ", pname, "^7's silliness.\n"); - else - bprint(ColoredTeamName(ball.team), " loses a point due to ", pname, "^7's silliness.\n"); - pscore = -1; - } else if (self.team == GOAL_OUT) { - LogNB("out", ball.pusher); - if ((self.spawnflags & GOAL_TOUCHPLAYER) && ball.owner) - bprint(pname, "^7 went out of bounds.\n"); - else - bprint("The ball was returned.\n"); - pscore = 0; - } else { //score - LogNB(strcat("goal:", ftos(self.team)), ball.pusher); - bprint("Goaaaaal! ", pname, "^7 scored a point for the ", ColoredTeamName(ball.team), ".\n"); - pscore = 1; - } - - sound (ball, CH_TRIGGER, self.noise, VOL_BASE, ATTN_NONE); - - if(ball.team && pscore) - { - if (nb_teams == 2 && pscore < 0) - TeamScore_AddToTeam(otherteam, ST_NEXBALL_GOALS, -pscore); - else - TeamScore_AddToTeam(ball.team, ST_NEXBALL_GOALS, pscore); - } - if (isclient) - { - if (pscore > 0) - PlayerScore_Add(ball.pusher, SP_NEXBALL_GOALS, pscore); - else if (pscore < 0) - PlayerScore_Add(ball.pusher, SP_NEXBALL_FAULTS, -pscore); - } - - if (ball.owner) // Happens on spawnflag GOAL_TOUCHPLAYER - DropBall(ball, ball.owner.origin, ball.owner.velocity); - - WaypointSprite_Ping(ball.waypointsprite_attachedforcarrier); - - ball.cnt = 1; - ball.think = ResetBall; - if (ball.classname == "nexball_basketball") - ball.touch = football_touch; // better than SUB_Null: football control until the ball gets reset - ball.nextthink = time + autocvar_g_nexball_delay_goal * (self.team != GOAL_OUT); -} - -//=======================// -// team ents // -//=======================// -void spawnfunc_nexball_team (void) -{ - if(!g_nexball) { remove(self); return; } - self.team = self.cnt + 1; -} - -void nb_spawnteam (string teamname, float teamcolor) -{ - dprint("^2spawned team ", teamname, "\n"); - entity e; - e = spawn(); - e.classname = "nexball_team"; - e.netname = teamname; - e.cnt = teamcolor; - e.team = e.cnt + 1; - nb_teams += 1; -} - -void nb_spawnteams (void) -{ - float t_r, t_b, t_y, t_p; - entity e; - for(e = world; (e = find(e, classname, "nexball_goal")); ) - { - switch(e.team) - { - case COLOR_TEAM1: if(!t_r) { nb_spawnteam ("Red", e.team-1) ; t_r = 1; } break; - case COLOR_TEAM2: if(!t_b) { nb_spawnteam ("Blue", e.team-1) ; t_b = 1; } break; - case COLOR_TEAM3: if(!t_y) { nb_spawnteam ("Yellow", e.team-1); t_y = 1; } break; - case COLOR_TEAM4: if(!t_p) { nb_spawnteam ("Pink", e.team-1) ; t_p = 1; } break; - } - } -} - -void nb_delayedinit (void) -{ - if (find(world, classname, "nexball_team") == world) - nb_spawnteams(); - ScoreRules_nexball(nb_teams); -} - - -//=======================// -// spawnfuncs // -//=======================// - -void SpawnBall (void) -{ - if(!g_nexball) { remove(self); return; } - -// balls += 4; // using the remaining bits to count balls will leave more than the max edict count, so it's fine - - if (!self.model) { - self.model = "models/nexball/ball.md3"; - self.scale = 1.3; - } - - precache_model (self.model); - setmodel (self, self.model); - setsize (self, BALL_MINS, BALL_MAXS); - ball_scale = self.scale; - - relocate_nexball(); - self.spawnorigin = self.origin; - - self.effects = self.effects | EF_LOWPRECISION; - - if (cvar(strcat("g_", self.classname, "_trail"))) //nexball_basketball :p - { - self.glow_color = autocvar_g_nexball_trail_color; - self.glow_trail = TRUE; - } - - self.movetype = MOVETYPE_FLY; - - if (!autocvar_g_nexball_sound_bounce) - self.noise = ""; - else if (!self.noise) - self.noise = "sound/nexball/bounce.wav"; - //bounce sound placeholder (FIXME) - if (!self.noise1) - self.noise1 = "sound/nexball/drop.wav"; - //ball drop sound placeholder (FIXME) - if (!self.noise2) - self.noise2 = "sound/nexball/steal.wav"; - //stealing sound placeholder (FIXME) - if (self.noise) precache_sound (self.noise); - precache_sound (self.noise1); - precache_sound (self.noise2); - - WaypointSprite_AttachCarrier("nb-ball", self, RADARICON_FLAGCARRIER, BALL_SPRITECOLOR); // the ball's team is not set yet, no rule update needed - - self.reset = ball_restart; - self.think = InitBall; - self.nextthink = game_starttime + autocvar_g_nexball_delay_start; -} - -void spawnfunc_nexball_basketball (void) -{ - self.classname = "nexball_basketball"; - if not(balls & BALL_BASKET) - { - CVTOV(g_nexball_basketball_effects_default); - CVTOV(g_nexball_basketball_delay_hold); - CVTOV(g_nexball_basketball_delay_hold_forteam); - CVTOV(g_nexball_basketball_teamsteal); - g_nexball_basketball_effects_default = g_nexball_basketball_effects_default & BALL_EFFECTMASK; - } - if (!self.effects) - self.effects = g_nexball_basketball_effects_default; - self.solid = SOLID_TRIGGER; - balls |= BALL_BASKET; - self.bouncefactor = autocvar_g_nexball_basketball_bouncefactor; - self.bouncestop = autocvar_g_nexball_basketball_bouncestop; - SpawnBall(); -} - -void spawnfunc_nexball_football (void) -{ - self.classname = "nexball_football"; - self.solid = SOLID_TRIGGER; - balls |= BALL_FOOT; - self.bouncefactor = autocvar_g_nexball_football_bouncefactor; - self.bouncestop = autocvar_g_nexball_football_bouncestop; - SpawnBall(); -} - -void SpawnGoal (void) -{ - if(!g_nexball) { remove(self); return; } - EXACTTRIGGER_INIT; - self.classname = "nexball_goal"; - if (!self.noise) - self.noise = "ctf/respawn.wav"; - precache_sound(self.noise); - self.touch = GoalTouch; -} - -void spawnfunc_nexball_redgoal (void) -{ - self.team = COLOR_TEAM1; - SpawnGoal(); -} -void spawnfunc_nexball_bluegoal (void) -{ - self.team = COLOR_TEAM2; - SpawnGoal(); -} -void spawnfunc_nexball_yellowgoal (void) -{ - self.team = COLOR_TEAM3; - SpawnGoal(); -} -void spawnfunc_nexball_pinkgoal (void) -{ - self.team = COLOR_TEAM4; - SpawnGoal(); -} - -void spawnfunc_nexball_fault (void) -{ - self.team = GOAL_FAULT; - if (!self.noise) - self.noise = "misc/typehit.wav"; - SpawnGoal(); -} - -void spawnfunc_nexball_out (void) -{ - self.team = GOAL_OUT; - if (!self.noise) - self.noise = "misc/typehit.wav"; - SpawnGoal(); -} - -// -//Spawnfuncs preserved for compatibility -// - -void spawnfunc_ball (void) { spawnfunc_nexball_football(); } -void spawnfunc_ball_football (void) { spawnfunc_nexball_football(); } -void spawnfunc_ball_basketball (void) { spawnfunc_nexball_basketball(); } -// The "red goal" is defended by blue team. A ball in there counts as a point for red. -void spawnfunc_ball_redgoal (void) { spawnfunc_nexball_bluegoal(); } // I blame Revenant -void spawnfunc_ball_bluegoal (void) { spawnfunc_nexball_redgoal(); } // but he didn't mean to cause trouble :p -void spawnfunc_ball_fault (void) { spawnfunc_nexball_fault(); } -void spawnfunc_ball_bound (void) { spawnfunc_nexball_out(); } - -//=======================// -// Weapon code // -//=======================// - -void W_Nexball_Touch (void) -{ - entity ball, attacker; - attacker = self.owner; - - PROJECTILE_TOUCH; - if(attacker.team != other.team || g_nexball_basketball_teamsteal) - if((ball = other.ballcarried) && (attacker.classname == "player")) - { - other.velocity = other.velocity + normalize(self.velocity) * other.damageforcescale * autocvar_g_balance_nexball_secondary_force; - other.flags &~= FL_ONGROUND; - if(!attacker.ballcarried) - { - LogNB("stole", attacker); - sound (other, CH_TRIGGER, ball.noise2, VOL_BASE, ATTN_NORM); - - if(attacker.team == other.team && time > attacker.teamkill_complain) - { - attacker.teamkill_complain = time + 5; - attacker.teamkill_soundtime = time + 0.4; - attacker.teamkill_soundsource = other; - } - - GiveBall(attacker, other.ballcarried); - } - } - remove(self); -} - -void W_Nexball_Attack (float t) -{ - entity ball; - float mul, mi, ma; - if (!(ball = self.ballcarried)) - return; - - W_SetupShot (self, FALSE, 4, "nexball/shoot1.wav", CH_WEAPON_A, 0); - tracebox(w_shotorg, BALL_MINS, BALL_MAXS, w_shotorg, MOVE_WORLDONLY, world); - if(trace_startsolid) - { - if(self.metertime) - self.metertime = 0; // Shot failed, hide the power meter - return; - } - - //Calculate multiplier - if (t < 0) - mul = 1; - else - { - mi = autocvar_g_nexball_basketball_meter_minpower; - ma = max(mi, autocvar_g_nexball_basketball_meter_maxpower); // avoid confusion - //One triangle wave period with 1 as max - mul = 2 * mod(t, g_nexball_meter_period) / g_nexball_meter_period; - if (mul > 1) - mul = 2 - mul; - mul = mi + (ma - mi) * mul; // range from the minimal power to the maximal power - } - DropBall (ball, w_shotorg, W_CalculateProjectileVelocity(self.velocity, w_shotdir * autocvar_g_balance_nexball_primary_speed * mul, FALSE)); - //TODO: use the speed_up cvar too ?? -} - -void W_Nexball_Attack2 (void) -{ - entity missile; - if (!(balls & BALL_BASKET)) - return; - W_SetupShot (self, FALSE, 2, "nexball/shoot2.wav", CH_WEAPON_A, 0); -// pointparticles(particleeffectnum("grenadelauncher_muzzleflash"), w_shotorg, w_shotdir * 1000, 1); - missile = spawn (); - - missile.owner = self; - missile.classname = "ballstealer"; - - missile.movetype = MOVETYPE_FLY; - PROJECTILE_MAKETRIGGER(missile); - - setmodel (missile, "models/elaser.mdl"); // precision set below - setsize (missile, '0 0 0', '0 0 0'); - setorigin (missile, w_shotorg); - - W_SetupProjectileVelocity(missile, autocvar_g_balance_nexball_secondary_speed, 0); - missile.angles = vectoangles (missile.velocity); - missile.touch = W_Nexball_Touch; - missile.think = SUB_Remove; - missile.nextthink = time + autocvar_g_balance_nexball_secondary_lifetime; //FIXME: use a distance instead? - - missile.effects = EF_BRIGHTFIELD | EF_LOWPRECISION; - missile.flags = FL_PROJECTILE; -} - -float w_nexball_weapon(float req) -{ - if (req == WR_THINK) - { - if (self.BUTTON_ATCK) - if (weapon_prepareattack(0, autocvar_g_balance_nexball_primary_refire)) - if (autocvar_g_nexball_basketball_meter) - { - if (self.ballcarried && !self.metertime) - self.metertime = time; - else - weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready); - } - else - { - W_Nexball_Attack(-1); - weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready); - } - if (self.BUTTON_ATCK2) - if (weapon_prepareattack(1, autocvar_g_balance_nexball_secondary_refire)) - { - W_Nexball_Attack2(); - weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_nexball_secondary_animtime, w_ready); - } - - if (!self.BUTTON_ATCK && self.metertime && self.ballcarried) - { - W_Nexball_Attack(time - self.metertime); - // DropBall or stealing will set metertime back to 0 - weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_nexball_primary_animtime, w_ready); - } - } - else if (req == WR_PRECACHE) - { - precache_model ("models/weapons/g_porto.md3"); - precache_model ("models/weapons/v_porto.md3"); - precache_model ("models/weapons/h_porto.iqm"); - precache_model ("models/elaser.mdl"); - precache_sound ("nexball/shoot1.wav"); - precache_sound ("nexball/shoot2.wav"); - precache_sound ("misc/typehit.wav"); - } - else if (req == WR_SETUP) - weapon_setup(WEP_PORTO); - else if (req == WR_SUICIDEMESSAGE) - { - w_deathtypestring = "is a weirdo"; - } - else if (req == WR_KILLMESSAGE) - { - w_deathtypestring = "got killed by #'s black magic"; - } - // No need to check WR_CHECKAMMO* or WR_AIM, it should always return TRUE - return TRUE; -} diff --git a/qcsrc/server/pathlib.qc b/qcsrc/server/pathlib.qc index 95aa2f965..ce4c2b4b8 100644 --- a/qcsrc/server/pathlib.qc +++ b/qcsrc/server/pathlib.qc @@ -598,6 +598,7 @@ float pathlib_makenode_adaptive(entity parent,vector start, vector to, vector go { pathlib_expandnode = pathlib_expandnode_box; pathlib_movenode = pathlib_swimnode; + doedge = 0; } else { @@ -605,6 +606,7 @@ float pathlib_makenode_adaptive(entity parent,vector start, vector to, vector go { pathlib_expandnode = pathlib_expandnode_box; pathlib_movenode = pathlib_swimnode; + doedge = 0; } else { diff --git a/qcsrc/server/pathlib/expandnode.qc b/qcsrc/server/pathlib/expandnode.qc index 4647fea13..a08c66b3a 100644 --- a/qcsrc/server/pathlib/expandnode.qc +++ b/qcsrc/server/pathlib/expandnode.qc @@ -49,6 +49,7 @@ float pathlib_expandnode_starf(entity node, vector start, vector goal) plib_points2[0] = plib_points[0]; vector bp; bp = plib_points[0]; + fc2 = 0; for(i = 0; i < 8; ++i) { c = 0; diff --git a/qcsrc/server/pathlib/utility.qc b/qcsrc/server/pathlib/utility.qc index 5d9fc3d97..0a5ea42b1 100644 --- a/qcsrc/server/pathlib/utility.qc +++ b/qcsrc/server/pathlib/utility.qc @@ -156,7 +156,7 @@ float tile_check_plus(vector where) float tile_check_plus2(vector where) { vector p,f,r; - float i,e; + float i = 0, e = 0; f = PLIB_FORWARD * pathlib_gridsize; r = PLIB_RIGHT * pathlib_gridsize; diff --git a/qcsrc/server/playerstats.qc b/qcsrc/server/playerstats.qc index 672b031c1..3533b4882 100644 --- a/qcsrc/server/playerstats.qc +++ b/qcsrc/server/playerstats.qc @@ -179,11 +179,13 @@ void PlayerStats_TeamScore(float t, string event_id, float value) // TODO: doesn R: release information on the server T: time at which the game ended G: game type + O: mod name (icon request) as in server browser M: map name I: match ID (see "matchid" in g_world.qc S: "hostname" of the server C: number of "unpure" cvar changes U: UDP port number of the server + D: duration of the match P: player ID of an existing player; this also sets the owner for all following "n", "e" and "t" lines (lower case!) n: nickname of the player (optional) t: team ID @@ -221,11 +223,13 @@ void PlayerStats_ready(entity fh, entity pass, float status) #endif url_fputs(fh, sprintf("T %s.%06d\n", strftime(FALSE, "%s"), floor(random() * 1000000))); url_fputs(fh, sprintf("G %s\n", GetGametype())); + url_fputs(fh, sprintf("O %s\n", modname)); url_fputs(fh, sprintf("M %s\n", GetMapname())); url_fputs(fh, sprintf("I %s\n", matchid)); url_fputs(fh, sprintf("S %s\n", cvar_string("hostname"))); url_fputs(fh, sprintf("C %d\n", cvar_purechanges_count)); url_fputs(fh, sprintf("U %d\n", cvar("port"))); + url_fputs(fh, sprintf("D %f\n", max(0, time - game_starttime))); for(p = playerstats_last; (pn = db_get(playerstats_db, sprintf("%s:*", p))) != ""; p = pn) { url_fputs(fh, sprintf("P %s\n", p)); diff --git a/qcsrc/server/portals.qc b/qcsrc/server/portals.qc index bf50c9d3c..76af253dc 100644 --- a/qcsrc/server/portals.qc +++ b/qcsrc/server/portals.qc @@ -645,11 +645,7 @@ float Portal_SpawnInPortalAtTrace(entity own, vector dir, float portal_id_val) 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); @@ -669,11 +665,7 @@ float Portal_SpawnOutPortalAtTrace(entity own, vector dir, float portal_id_val) 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); diff --git a/qcsrc/server/portals.qh b/qcsrc/server/portals.qh index b2d282cf2..cd0bc0408 100644 --- a/qcsrc/server/portals.qh +++ b/qcsrc/server/portals.qh @@ -8,3 +8,4 @@ float Portal_SpawnInPortalAtTrace(entity own, vector dir, float id); void Portal_ClearWithID(entity own, float id); vector Portal_ApplyTransformToPlayerAngle(vector transform, vector vangle); +void Portal_ClearAll_PortalsOnly(entity own); diff --git a/qcsrc/server/progs.src b/qcsrc/server/progs.src index 9a459c5fd..1890eddd9 100644 --- a/qcsrc/server/progs.src +++ b/qcsrc/server/progs.src @@ -21,6 +21,7 @@ sys-post.qh ../common/command/rpn.qh ../common/command/generic.qh ../common/command/shared_defs.qh +../common/net_notice.qh autocvars.qh constants.qh @@ -29,6 +30,7 @@ defs.qh // Should rename this, it has fields and globals mutators/base.qh mutators/mutators.qh mutators/gamemode_keyhunt.qh // TODO fix this +mutators/gamemode_nexball.qh mutators/mutator_dodging.qh //// tZork Turrets //// @@ -139,7 +141,7 @@ antilag.qc ctf.qc domination.qc mode_onslaught.qc -nexball.qc +//nexball.qc g_hook.qc t_swamp.qc @@ -152,6 +154,8 @@ campaign.qc ../common/command/markup.qc ../common/command/rpn.qc ../common/command/generic.qc +../common/net_notice.qc + command/common.qc command/banning.qc command/radarmap.qc @@ -201,10 +205,12 @@ playerstats.qc ../common/explosion_equation.qc mutators/base.qc +mutators/gamemode_nexball.qc mutators/gamemode_keyhunt.qc mutators/gamemode_freezetag.qc mutators/gamemode_keepaway.qc mutators/mutator_invincibleproj.qc +mutators/mutator_new_toys.qc mutators/mutator_nix.qc mutators/mutator_dodging.qc mutators/mutator_rocketflying.qc diff --git a/qcsrc/server/race.qc b/qcsrc/server/race.qc index 911106a30..c7c38165d 100644 --- a/qcsrc/server/race.qc +++ b/qcsrc/server/race.qc @@ -141,6 +141,7 @@ void race_setTime(string map, float t, string myuid, string mynetname, entity e) newpos = race_readPos(map, t); float i; + player_prevpos = 0; for(i = 1; i <= RANKINGS_CNT; ++i) { if(race_readUID(map, i) == myuid) @@ -490,8 +491,8 @@ void checkpoint_passed() self.race_checkpoint = other.race_checkpoint; } - float largest_cp_id; - float cp_amount; + float largest_cp_id = 0; + float cp_amount = 0; for(cp = world; (cp = find(cp, classname, "target_checkpoint"));) { cp_amount += 1; if(cp.race_checkpoint > largest_cp_id) // update the finish id if someone hit a new checkpoint @@ -664,7 +665,7 @@ void trigger_race_checkpoint_verify() g_race_qualifying = 1; self.race_place = race_lowest_place_spawn; if(!Spawn_FilterOutBadSpots(findchain(classname, "info_player_deathmatch"), 0, FALSE)) - error(strcat("Checkpoint ", ftos(i), " misses a spawnpoint with race_place==", ftos(self.race_place), " (used for qualifying) - bailing out")); + error(strcat("Checkpoint 0 misses a spawnpoint with race_place==", ftos(self.race_place), " (used for qualifying) - bailing out")); } else { @@ -710,7 +711,7 @@ void trigger_race_checkpoint_verify() } if(defragcpexists != -1){ - float largest_cp_id; + float largest_cp_id = 0; for(cp = world; (cp = find(cp, classname, "target_checkpoint"));) if(cp.race_checkpoint > largest_cp_id) largest_cp_id = cp.race_checkpoint; diff --git a/qcsrc/server/runematch.qc b/qcsrc/server/runematch.qc index 8f5e005a4..239afb04a 100644 --- a/qcsrc/server/runematch.qc +++ b/qcsrc/server/runematch.qc @@ -133,7 +133,8 @@ string RuneName(float r) vector RuneColormod(float r) { - vector _color; + vector _color = '255 0 255'; + if(r == RUNE_STRENGTH) _color = '255 0 0'; if(r == RUNE_DEFENSE) @@ -178,6 +179,7 @@ void RuneCarriedThink() // count runes my owner holds rcount = 0; rune = find(world, classname, "rune"); + rnum = -1; while(rune) { if(rune.owner == self.owner) @@ -341,7 +343,6 @@ void DropAllRunes(entity pl) entity curse1, rune1, curse2, rune2; - rune = curse = world; rcount = ccount = r = c = 0; rune = find(rune, classname, "rune"); while(rune) @@ -361,7 +362,6 @@ void DropAllRunes(entity pl) numtodrop = autocvar_g_runematch_drop_runes_max; prevent_same = !autocvar_g_runematch_allow_same; - rune = curse = world; do { rune = find(rune, classname, "rune"); @@ -588,6 +588,7 @@ float RunematchHandleFrags(entity attacker, entity targ, float f) if(!arunes && !trunes) return f - 1 + autocvar_g_runematch_frags_norune; // don't give points to players when no runes are involved. + newfrags = 0; if(arunes) { // got a kill while holding runes newfrags = newfrags + autocvar_g_runematch_frags_killedby_runeholder;//5; diff --git a/qcsrc/server/scores.qc b/qcsrc/server/scores.qc index b56065ded..102dd6a33 100644 --- a/qcsrc/server/scores.qc +++ b/qcsrc/server/scores.qc @@ -127,7 +127,7 @@ float TeamScore_Compare(entity t1, entity t2) { if(!t1 || !t2) return (!t2) - !t1; - vector result; + vector result = '0 0 0'; float i; for(i = 0; i < MAX_TEAMSCORE; ++i) { @@ -254,7 +254,8 @@ void PlayerScore_Clear(entity player) if(g_lms) return; if(g_arena || g_ca) return; - if(g_race && !g_race_qualifying) return; + if(g_cts) return; // in CTS, you don't lose score by observing + if(g_race && g_race_qualifying) return; // in qualifying, you don't lose score by observing sk = player.scorekeeper; for(i = 0; i < MAX_SCORE; ++i) @@ -355,7 +356,7 @@ float PlayerScore_Compare(entity t1, entity t2) { if(!t1 || !t2) return (!t2) - !t1; - vector result; + vector result = '0 0 0'; float i; for(i = 0; i < MAX_SCORE; ++i) { @@ -385,8 +386,9 @@ void WinningConditionHelper() s = GetGametype(); s = strcat(s, ":", autocvar_g_xonoticversion); s = strcat(s, ":P", ftos(cvar_purechanges_count)); - s = strcat(s, ":S", ftos(nJoinAllowed(0))); + s = strcat(s, ":S", ftos(nJoinAllowed(world))); s = strcat(s, ":F", ftos(serverflags)); + s = strcat(s, ":M", modname); s = strcat(s, "::", GetPlayerScoreString(world, 1)); // make this 1 once we can, note: this doesn't contain any :<letter> fullstatus = autocvar_g_full_getstatus_responses; diff --git a/qcsrc/server/steerlib.qc b/qcsrc/server/steerlib.qc index a58625255..2f59924df 100644 --- a/qcsrc/server/steerlib.qc +++ b/qcsrc/server/steerlib.qc @@ -172,8 +172,8 @@ vector steerlib_dodge(vector point,vector dodge_dir,float min_distance) vector steerlib_flock(float radius, float standoff,float separation_force,float flock_force) { entity flock_member; - vector push,pull; - float ccount; + vector push = '0 0 0', pull = '0 0 0'; + float ccount = 0; flock_member = findradius(self.origin,radius); while(flock_member) @@ -198,8 +198,8 @@ vector steerlib_flock(float radius, float standoff,float separation_force,float vector steerlib_flock2d(float radius, float standoff,float separation_force,float flock_force) { entity flock_member; - vector push,pull; - float ccount; + vector push = '0 0 0', pull = '0 0 0'; + float ccount = 0; flock_member = findradius(self.origin,radius); while(flock_member) @@ -229,8 +229,8 @@ vector steerlib_flock2d(float radius, float standoff,float separation_force,floa vector steerlib_swarm(float radius, float standoff,float separation_force,float swarm_force) { entity swarm_member; - vector force,center; - float ccount; + vector force = '0 0 0', center = '0 0 0'; + float ccount = 0; swarm_member = findradius(self.origin,radius); diff --git a/qcsrc/server/sv_main.qc b/qcsrc/server/sv_main.qc index 73c444afe..007c6369e 100644 --- a/qcsrc/server/sv_main.qc +++ b/qcsrc/server/sv_main.qc @@ -151,6 +151,8 @@ float RedirectionThink(); entity SelectSpawnPoint (float anypoint); void StartFrame (void) { + execute_next_frame(); + remove = remove_unsafely; // not during spawning! serverprevtime = servertime; servertime = time; @@ -201,9 +203,12 @@ void StartFrame (void) skill = autocvar_skill; + count_players(); + if(g_ca || g_freezetag) + count_alive_players(); + Arena_Warmup(); Spawnqueue_Check(); - // detect when the pre-game countdown (if any) has ended and the game has started game_delay = (time < game_starttime) ? TRUE : FALSE; diff --git a/qcsrc/server/t_items.qc b/qcsrc/server/t_items.qc index b688831fa..3d7638c00 100644 --- a/qcsrc/server/t_items.qc +++ b/qcsrc/server/t_items.qc @@ -29,7 +29,7 @@ float have_pickup_item(void) if(g_ca) return FALSE; if(g_weaponarena) - if((self.weapons & WEPBIT_ALL) || (self.items & IT_AMMO)) + if(!WEPSET_EMPTY_E(self) || (self.items & IT_AMMO)) return FALSE; } return TRUE; @@ -83,7 +83,7 @@ float Item_Customize() { if(self.spawnshieldtime) return TRUE; - if(self.weapons != (self.weapons & other.weapons)) + if(!WEPSET_CONTAINS_ALL_EE(other, self)) { self.colormod = '0 0 0'; self.glowmod = self.colormod; @@ -131,7 +131,7 @@ void Item_Show (entity e, float mode) e.spawnshieldtime = 1; } - else if((e.flags & FL_WEAPON) && g_weapon_stay) + else if((e.flags & FL_WEAPON) && !(e.flags & FL_NO_WEAPON_STAY) && g_weapon_stay) { // make the item translucent and not touchable e.model = e.mdl; @@ -168,7 +168,7 @@ void Item_Show (entity e, float mode) e.spawnshieldtime = 1; } - if (e.strength_finished || e.invincible_finished) + if (e.items & (IT_STRENGTH | IT_INVINCIBLE)) e.effects |= EF_ADDITIVE | EF_FULLBRIGHT; if (autocvar_g_nodepthtestitems) e.effects |= EF_NODEPTHTEST; @@ -341,7 +341,7 @@ void Item_RespawnCountdown (void) if(self.count == 1) { string name; - vector rgb; + vector rgb = '1 0 1'; name = string_null; if(g_minstagib) { @@ -373,6 +373,15 @@ void Item_RespawnCountdown (void) case IT_FUEL_REGEN: name = "item-fuelregen"; rgb = '1 0.5 0'; break; case IT_JETPACK: name = "item-jetpack"; rgb = '0.5 0.5 0.5'; break; } + if(self.flags & FL_WEAPON) + { + entity wi = get_weaponinfo(self.weapon); + if(wi) + { + name = wi.model2; + rgb = '1 0 0'; + } + } if(!name) { print("Unknown powerup-marked item is wanting to respawn\n"); @@ -400,7 +409,7 @@ void Item_RespawnCountdown (void) void Item_ScheduleRespawnIn(entity e, float t) { - if(e.flags & FL_POWERUP || e.classname == "item_armor_large" || e.items == IT_HEALTH) + if((e.flags & FL_POWERUP) || WEPSET_CONTAINS_ANY_EA(e, WEPBIT_SUPERWEAPONS) || e.classname == "item_armor_large" || e.items == IT_HEALTH) { e.think = Item_RespawnCountdown; e.nextthink = time + max(0, t - ITEM_RESPAWN_TICKS); @@ -491,7 +500,6 @@ float Item_GiveTo(entity item, entity player) float pickedup; float it; float i; - entity e; // if nothing happens to player, just return without taking the item pickedup = FALSE; @@ -520,10 +528,8 @@ float Item_GiveTo(entity item, entity player) // else if(item.items == IT_CELLS) // AnnounceTo(player, "ammo"); - if (item.weapons & WEPBIT_MINSTANEX) + if (WEPSET_CONTAINS_EW(item, WEP_MINSTANEX)) W_GiveWeapon (player, WEP_MINSTANEX, item.netname); - if (item.ammo_cells) - player.ammo_cells = bound(player.ammo_cells, 999, player.ammo_cells + autocvar_g_minstagib_ammo_drop); player.health = 100; } @@ -571,7 +577,7 @@ float Item_GiveTo(entity item, entity player) if (player.switchweapon == w_getbestweapon(player)) _switchweapon = TRUE; - if not(player.weapons & W_WeaponBit(player.switchweapon)) + if not(WEPSET_CONTAINS_EW(player, player.switchweapon)) _switchweapon = TRUE; pickedup |= Item_GiveAmmoTo(item, player, ammo_fuel, g_pickup_fuel_max, ITEM_MODE_FUEL); @@ -583,14 +589,17 @@ float Item_GiveTo(entity item, entity player) 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)) { - pickedup = TRUE; - for(i = WEP_FIRST; i <= WEP_LAST; ++i) + WEPSET_DECLARE_A(it); + WEPSET_COPY_AE(it, item); + WEPSET_ANDNOT_AE(it, player); + + if (!WEPSET_EMPTY_A(it) || (item.spawnshieldtime && self.pickup_anyway)) { - e = get_weaponinfo(i); - if(it & e.weapons) - W_GiveWeapon (player, e.weapon, item.netname); + pickedup = TRUE; + for(i = WEP_FIRST; i <= WEP_LAST; ++i) + if(WEPSET_CONTAINS_AW(it, i)) + W_GiveWeapon (player, i, item.netname); } } @@ -604,12 +613,17 @@ float Item_GiveTo(entity item, entity player) if (item.strength_finished) { pickedup = TRUE; - player.strength_finished = max(player.strength_finished, time) + autocvar_g_balance_powerup_strength_time; + player.strength_finished = max(player.strength_finished, time) + item.strength_finished; } if (item.invincible_finished) { pickedup = TRUE; - player.invincible_finished = max(player.invincible_finished, time) + autocvar_g_balance_powerup_invincible_time; + player.invincible_finished = max(player.invincible_finished, time) + item.invincible_finished; + } + if (item.superweapons_finished) + { + pickedup = TRUE; + player.superweapons_finished = max(player.superweapons_finished, time) + item.superweapons_finished; } } @@ -621,7 +635,6 @@ float Item_GiveTo(entity item, entity player) 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)); @@ -634,11 +647,15 @@ void Item_Touch (void) entity e, head; // remove the item if it's currnetly in a NODROP brush or hits a NOIMPACT surface (such as sky) - if (((trace_dpstartcontents | trace_dphitcontents) & DPCONTENTS_NODROP) || (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT)) + if(self.classname == "droppedweapon") { - remove(self); - return; + if (ITEM_TOUCH_NEEDKILL()) + { + remove(self); + return; + } } + if (other.classname != "player") return; if (other.deadflag) @@ -648,12 +665,29 @@ void Item_Touch (void) if (self.owner == other) return; + if (self.classname == "droppedweapon") + { + self.strength_finished = max(0, self.strength_finished - time); + self.invincible_finished = max(0, self.invincible_finished - time); + self.superweapons_finished = max(0, self.superweapons_finished - time); + } + if(!Item_GiveTo(self, other)) + { + if (self.classname == "droppedweapon") + { + // undo what we did above + self.strength_finished += time; + self.invincible_finished += time; + self.superweapons_finished += time; + } 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); @@ -680,6 +714,24 @@ void Item_Touch (void) } } +void Item_Reset() +{ + Item_Show(self, !self.state); + setorigin (self, self.origin); + + if(self.classname != "droppedweapon") + { + self.think = SUB_Null; + self.nextthink = 0; + + if(self.waypointsprite_attached) + WaypointSprite_Kill(self.waypointsprite_attached); + + if((self.flags & FL_POWERUP) | WEPSET_CONTAINS_ANY_EA(self, WEPBIT_SUPERWEAPONS)) // do not spawn powerups initially! + Item_ScheduleInitialRespawn(self); + } +} + void Item_FindTeam() { entity head, e; @@ -706,22 +758,10 @@ void Item_FindTeam() head.effects &~= EF_NODRAW; } - if(e.flags & FL_POWERUP) // do not spawn powerups initially! - Item_ScheduleInitialRespawn(e); + Item_Reset(); } } -void Item_Reset() -{ - Item_Show(self, !self.state); - setorigin (self, self.origin); - self.think = SUB_Null; - self.nextthink = 0; - - if(self.flags & FL_POWERUP) // do not spawn powerups initially! - Item_ScheduleInitialRespawn(self); -} - // Savage: used for item garbage-collection // TODO: perhaps nice special effect? void RemoveItem(void) @@ -736,10 +776,10 @@ float generic_pickupevalfunc(entity player, entity item) {return item.bot_pickup float weapon_pickupevalfunc(entity player, entity item) { - float c, i, j, position; + float c, j, position; // See if I have it already - if(player.weapons & item.weapons == item.weapons) + if(!WEPSET_CONTAINS_ALL_EE(player, item)) { // If I can pick it up if(!item.spawnshieldtime) @@ -758,34 +798,27 @@ float weapon_pickupevalfunc(entity player, entity item) // If custom weapon priorities for bots is enabled rate most wanted weapons higher if( bot_custom_weapon && c ) { - for(i = WEP_FIRST; i <= WEP_LAST ; ++i) - { - // Find weapon - if( (get_weaponinfo(i)).weapons & item.weapons != item.weapons ) - continue; - - // Find the highest position on any range - position = -1; - for(j = 0; j < WEP_LAST ; ++j){ - if( - bot_weapons_far[j] == i || - bot_weapons_mid[j] == i || - bot_weapons_close[j] == i - ) - { - position = j; - break; - } - } - - // Rate it - if (position >= 0 ) + // Find the highest position on any range + position = -1; + for(j = 0; j < WEP_LAST ; ++j){ + if( + bot_weapons_far[j] == item.weapon || + bot_weapons_mid[j] == item.weapon || + bot_weapons_close[j] == item.weapon + ) { - position = WEP_LAST - position; - // item.bot_pickupbasevalue is overwritten here - return (BOT_PICKUP_RATING_LOW + ( (BOT_PICKUP_RATING_HIGH - BOT_PICKUP_RATING_LOW) * (position / WEP_LAST ))) * c; + position = j; + break; } } + + // Rate it + if (position >= 0 ) + { + position = WEP_LAST - position; + // item.bot_pickupbasevalue is overwritten here + return (BOT_PICKUP_RATING_LOW + ( (BOT_PICKUP_RATING_HIGH - BOT_PICKUP_RATING_LOW) * (position / WEP_LAST ))) * c; + } } return item.bot_pickupbasevalue * c; @@ -793,7 +826,8 @@ float weapon_pickupevalfunc(entity player, entity item) float commodity_pickupevalfunc(entity player, entity item) { - float c, i, need_shells, need_nails, need_rockets, need_cells; + float c, i; + float need_shells = FALSE, need_nails = FALSE, need_rockets = FALSE, need_cells = FALSE, need_fuel = FALSE; entity wi; c = 0; @@ -802,7 +836,7 @@ float commodity_pickupevalfunc(entity player, entity item) { wi = get_weaponinfo(i); - if not(wi.weapons & player.weapons) + if not(WEPSET_CONTAINS_EW(player, i)) continue; if(wi.items & IT_SHELLS) @@ -813,6 +847,8 @@ float commodity_pickupevalfunc(entity player, entity item) need_rockets = TRUE; else if(wi.items & IT_CELLS) need_cells = TRUE; + else if(wi.items & IT_FUEL) + need_cells = TRUE; } // TODO: figure out if the player even has the weapon this ammo is for? @@ -834,6 +870,10 @@ float commodity_pickupevalfunc(entity player, entity item) if (item.ammo_cells) if (player.ammo_cells < g_pickup_cells_max) c = c + max(0, 1 - player.ammo_cells / g_pickup_cells_max); + if (need_fuel) + if (item.ammo_fuel) + if (player.ammo_fuel < g_pickup_fuel_max) + c = c + max(0, 1 - player.ammo_fuel / g_pickup_fuel_max); if (item.armorvalue) if (player.armorvalue < item.max_armorvalue) c = c + max(0, 1 - player.armorvalue / item.max_armorvalue); @@ -844,25 +884,72 @@ float commodity_pickupevalfunc(entity player, entity item) return item.bot_pickupbasevalue * c; } +void Item_Damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force) +{ + if(ITEM_DAMAGE_NEEDKILL(deathtype)) + RemoveItem(); +} .float is_item; void StartItem (string itemmodel, string pickupsound, float defaultrespawntime, float defaultrespawntimejitter, string itemname, float itemid, float weaponid, float itemflags, float(entity player, entity item) pickupevalfunc, float pickupbasevalue) { startitem_failed = FALSE; + if(self.model == "") + self.model = itemmodel; + if(self.item_pickupsound == "") + self.item_pickupsound = pickupsound; + if(!self.respawntime) // both need to be set + { + self.respawntime = defaultrespawntime; + self.respawntimejitter = defaultrespawntimejitter; + } + self.items = itemid; - self.weapons = weaponid; + self.weapon = weaponid; + + if(weaponid) + WEPSET_COPY_EW(self, weaponid); self.flags = FL_ITEM | itemflags; + if(MUTATOR_CALLHOOK(FilterItem)) // error means we do not want the item + { + startitem_failed = TRUE; + remove(self); + return; + } + // is it a dropped weapon? if (self.classname == "droppedweapon") { self.reset = SUB_Remove; // it's a dropped weapon self.movetype = MOVETYPE_TOSS; + // Savage: remove thrown items after a certain period of time ("garbage collection") self.think = RemoveItem; - self.nextthink = time + 60; + self.nextthink = time + 20; + + self.takedamage = DAMAGE_YES; + self.event_damage = Item_Damage; + + if(self.strength_finished || self.invincible_finished || self.superweapons_finished) + /* + if(self.items == 0) + if(WEPSET_CONTAINS_ALL_AE(WEPBIT_SUPERWEAPONS, self)) // only superweapons + if(self.ammo_nails == 0) + if(self.ammo_cells == 0) + if(self.ammo_rockets == 0) + if(self.ammo_shells == 0) + if(self.ammo_fuel == 0) + if(self.health == 0) + if(self.armorvalue == 0) + */ + { + // if item is worthless after a timer, have it expire then + self.nextthink = max(self.strength_finished, self.invincible_finished, self.superweapons_finished); + } + // don't drop if in a NODROP zone (such as lava) traceline(self.origin, self.origin, MOVE_NORMAL, self); if (trace_dpstartcontents & DPCONTENTS_NODROP) @@ -874,13 +961,6 @@ void StartItem (string itemmodel, string pickupsound, float defaultrespawntime, } else { - if(MUTATOR_CALLHOOK(FilterItem)) // error means we do not want the item - { - startitem_failed = TRUE; - remove(self); - return; - } - if(!have_pickup_item()) { startitem_failed = TRUE; @@ -940,10 +1020,10 @@ void StartItem (string itemmodel, string pickupsound, float defaultrespawntime, self.is_item = TRUE; } - weaponsInMap |= weaponid; + WEPSET_OR_AW(weaponsInMap, weaponid); - precache_model (itemmodel); - precache_sound (pickupsound); + precache_model (self.model); + precache_sound (self.item_pickupsound); precache_sound ("misc/itemrespawncountdown.wav"); if(!g_minstagib && itemid == IT_STRENGTH) @@ -962,14 +1042,7 @@ void StartItem (string itemmodel, string pickupsound, float defaultrespawntime, self.bot_pickup = TRUE; self.bot_pickupevalfunc = pickupevalfunc; self.bot_pickupbasevalue = pickupbasevalue; - self.mdl = itemmodel; - self.item_pickupsound = pickupsound; - // let mappers override respawntime - if(!self.respawntime) // both set - { - self.respawntime = defaultrespawntime; - self.respawntimejitter = defaultrespawntimejitter; - } + self.mdl = self.model; self.netname = itemname; self.touch = Item_Touch; setmodel (self, self.mdl); // precision set below @@ -988,7 +1061,6 @@ void StartItem (string itemmodel, string pickupsound, float defaultrespawntime, self.colormap = 1024; // color shirt=0 pants=0 grey } - Item_Show(self, 1); self.state = 0; if(self.team) { @@ -997,8 +1069,8 @@ void StartItem (string itemmodel, string pickupsound, float defaultrespawntime, self.effects = self.effects | EF_NODRAW; // marker for item team search InitializeEntity(self, Item_FindTeam, INITPRIO_FINDTARGET); } - else if(self.flags & FL_POWERUP) // do not spawn powerups initially! - Item_ScheduleInitialRespawn(self); + else + Item_Reset(); } /* replace items in minstagib @@ -1033,7 +1105,8 @@ void minstagib_items (float itemid) // replace with invis if (itemid == IT_STRENGTH) { - self.strength_finished = 30; + if(!self.strength_finished) + self.strength_finished = autocvar_g_balance_powerup_strength_time; StartItem ("models/items/g_strength.md3", "misc/powerup.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Invisibility", IT_STRENGTH, 0, FL_POWERUP, generic_pickupevalfunc, BOT_PICKUP_RATING_MID); @@ -1049,7 +1122,8 @@ void minstagib_items (float itemid) // replace with speed if (itemid == IT_INVINCIBLE) { - self.invincible_finished = 30; + if(!self.invincible_finished) + self.invincible_finished = autocvar_g_balance_powerup_invincible_time; StartItem ("models/items/g_invincible.md3", "misc/powerup_shield.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Speed", IT_INVINCIBLE, 0, FL_POWERUP, generic_pickupevalfunc, BOT_PICKUP_RATING_MID); @@ -1073,29 +1147,28 @@ void weapon_defaultspawnfunc(float wpn) string s; entity oldself; float i, j; + float f; - // set the respawntime in advance (so replaced weapons can copy it) - - if(!self.respawntime) + if(self.classname != "droppedweapon" && self.classname != "replacedweapon") { e = get_weaponinfo(wpn); - if(e.items == IT_SUPERWEAPON) - { - self.respawntime = g_pickup_respawntime_powerup; - self.respawntimejitter = g_pickup_respawntimejitter_powerup; - } - else + + if(e.spawnflags & WEP_FLAG_MUTATORBLOCKED) { - self.respawntime = g_pickup_respawntime_weapon; - self.respawntimejitter = g_pickup_respawntimejitter_weapon; + print("Attempted to spawn a mutator-blocked weapon; these guns will in the future require a mutator\n"); + /* + objerror("Attempted to spawn a mutator-blocked weapon rejected"); + startitem_failed = TRUE; + return; + */ } - } - if(self.classname != "droppedweapon" && self.classname != "replacedweapon") - { - e = get_weaponinfo(wpn); - s = cvar_string(strcat("g_weaponreplace_", e.netname)); - if(s == "0") + s = W_Apply_Weaponreplace(e.netname); + ret_string = s; + other = e; + MUTATOR_CALLHOOK(SetWeaponreplace); + s = ret_string; + if(s == "") { remove(self); startitem_failed = TRUE; @@ -1128,7 +1201,7 @@ void weapon_defaultspawnfunc(float wpn) } self = oldself; } - if(t >= 1) + if(t >= 1) // always the case! { s = argv(0); wpn = 0; @@ -1156,7 +1229,25 @@ void weapon_defaultspawnfunc(float wpn) e = get_weaponinfo(wpn); - if(e.items && e.items != IT_SUPERWEAPON) + if(!self.respawntime) + { + if(WEPSET_CONTAINS_ANY_EA(e, WEPBIT_SUPERWEAPONS)) + { + self.respawntime = g_pickup_respawntime_superweapon; + self.respawntimejitter = g_pickup_respawntimejitter_superweapon; + } + else + { + self.respawntime = g_pickup_respawntime_weapon; + self.respawntimejitter = g_pickup_respawntimejitter_weapon; + } + } + + if(WEPSET_CONTAINS_ANY_EA(e, WEPBIT_SUPERWEAPONS)) + if(!self.superweapons_finished) + self.superweapons_finished = autocvar_g_balance_superweapons_time; + + if(e.items) { for(i = 0, j = 1; i < 24; ++i, j *= 2) { @@ -1168,16 +1259,27 @@ void weapon_defaultspawnfunc(float wpn) } } } - else - { - self.flags |= FL_NO_WEAPON_STAY; - } + + // pickup anyway + if(g_pickup_weapons_anyway) + self.pickup_anyway = TRUE; + + f = FL_WEAPON; + + // no weapon-stay on superweapons + if(WEPSET_CONTAINS_ANY_EA(e, 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; + + // stupid minstagib hack, don't ask + if(g_minstagib) + if(self.ammo_cells) + self.ammo_cells = autocvar_g_minstagib_ammo_drop; - 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.weapon, f, weapon_pickupevalfunc, e.bot_pickupbasevalue); if (self.modelindex) // don't precache if self was removed weapon_action(e.weapon, WR_PRECACHE); } @@ -1388,7 +1490,8 @@ void spawnfunc_item_strength (void) { minstagib_items(IT_STRENGTH); } else { precache_sound("weapons/strength_fire.wav"); - self.strength_finished = 30; + if(!self.strength_finished) + self.strength_finished = autocvar_g_balance_powerup_strength_time; StartItem ("models/items/g_strength.md3", "misc/powerup.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Strength Powerup", IT_STRENGTH, 0, FL_POWERUP, generic_pickupevalfunc, 100000); } } @@ -1397,7 +1500,8 @@ void spawnfunc_item_invincible (void) { if(g_minstagib) { minstagib_items(IT_INVINCIBLE); } else { - self.invincible_finished = 30; + if(!self.invincible_finished) + self.invincible_finished = autocvar_g_balance_powerup_invincible_time; StartItem ("models/items/g_invincible.md3", "misc/powerup_shield.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Shield", IT_INVINCIBLE, 0, FL_POWERUP, generic_pickupevalfunc, 100000); } } @@ -1450,6 +1554,8 @@ void spawnfunc_target_items (void) self.strength_finished = autocvar_g_balance_powerup_strength_time; if(!self.invincible_finished) self.invincible_finished = autocvar_g_balance_powerup_invincible_time; + if(!self.superweapons_finished) + self.superweapons_finished = autocvar_g_balance_superweapons_time; precache_sound("misc/itempickup.wav"); precache_sound("misc/megahealth.wav"); @@ -1472,22 +1578,25 @@ void spawnfunc_target_items (void) else if(argv(i) == "unlimited_superweapons") self.items |= IT_UNLIMITED_SUPERWEAPONS; else if(argv(i) == "strength") self.items |= IT_STRENGTH; else if(argv(i) == "invincible") self.items |= IT_INVINCIBLE; + else if(argv(i) == "superweapons") self.items |= IT_SUPERWEAPON; else if(argv(i) == "jetpack") self.items |= IT_JETPACK; else if(argv(i) == "fuel_regen") self.items |= IT_FUEL_REGEN; else - for(j = WEP_FIRST; j <= WEP_LAST; ++j) { - e = get_weaponinfo(j); - if(argv(i) == e.netname) + for(j = WEP_FIRST; j <= WEP_LAST; ++j) { - self.weapons |= e.weapons; - if(self.spawnflags == 0 || self.spawnflags == 2) - weapon_action(e.weapon, WR_PRECACHE); - break; + e = get_weaponinfo(j); + if(argv(i) == e.netname) + { + WEPSET_OR_EW(self, j); + if(self.spawnflags == 0 || self.spawnflags == 2) + weapon_action(e.weapon, WR_PRECACHE); + break; + } } + if(j > WEP_LAST) + print("target_items: invalid item ", argv(i), "\n"); } - if(j > WEP_LAST) - print("target_items: invalid item ", argv(i), "\n"); } string itemprefix, valueprefix; @@ -1519,6 +1628,7 @@ void spawnfunc_target_items (void) self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_UNLIMITED_SUPERWEAPONS), "unlimited_superweapons"); self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, self.strength_finished * !!(self.items & IT_STRENGTH), "strength"); self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, self.invincible_finished * !!(self.items & IT_INVINCIBLE), "invincible"); + self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, self.superweapons_finished * !!(self.items & IT_SUPERWEAPON), "superweapons"); self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_JETPACK), "jetpack"); self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_FUEL_REGEN), "fuel_regen"); if(self.ammo_shells != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_shells), "shells"); @@ -1531,8 +1641,8 @@ void spawnfunc_target_items (void) for(j = WEP_FIRST; j <= WEP_LAST; ++j) { e = get_weaponinfo(j); - if(e.weapons) - self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.weapons & e.weapons), e.netname); + if(e.weapon) + self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, WEPSET_CONTAINS_EW(self, j), e.netname); } } self.netname = strzone(self.netname); @@ -1593,6 +1703,36 @@ void spawnfunc_item_jetpack(void) #define OP_PLUS 3 #define OP_MINUS 4 +float GiveWeapon(entity e, float wpn, float op, float val) +{ + float v0, v1; + v0 = WEPSET_CONTAINS_EW(e, wpn); + switch(op) + { + case OP_SET: + if(val > 0) + WEPSET_OR_EW(e, wpn); + else + WEPSET_ANDNOT_EW(e, wpn); + break; + case OP_MIN: + case OP_PLUS: + if(val > 0) + WEPSET_OR_EW(e, wpn); + break; + case OP_MAX: + if(val <= 0) + WEPSET_ANDNOT_EW(e, wpn); + break; + case OP_MINUS: + if(val > 0) + WEPSET_ANDNOT_EW(e, wpn); + break; + } + v1 = WEPSET_CONTAINS_EW(e, wpn); + return (v0 != v1); +} + float GiveBit(entity e, .float fld, float bit, float op, float val) { float v0, v1; @@ -1673,7 +1813,9 @@ void GiveRot(entity e, float v0, float v1, .float rotfield, float rottime, .floa e.regenfield = max(e.regenfield, time + regentime); } +#define PREGIVE_WEAPONS(e) WEPSET_DECLARE_A(save_weapons); WEPSET_COPY_AE(save_weapons, e) #define PREGIVE(e,f) float save_##f; save_##f = (e).f +#define POSTGIVE_WEAPON(e,b,snd_incr,snd_decr) GiveSound((e), WEPSET_CONTAINS_AW(save_weapons, b), WEPSET_CONTAINS_EW(e, b), 0, snd_incr, snd_decr) #define POSTGIVE_BIT(e,f,b,snd_incr,snd_decr) GiveSound((e), save_##f & (b), (e).f & (b), 0, snd_incr, snd_decr) #define POSTGIVE_VALUE(e,f,t,snd_incr,snd_decr) GiveSound((e), save_##f, (e).f, t, snd_incr, snd_decr) #define POSTGIVE_VALUE_ROT(e,f,t,rotfield,rottime,regenfield,regentime,snd_incr,snd_decr) GiveRot((e), save_##f, (e).f, rotfield, rottime, regenfield, regentime); GiveSound((e), save_##f, (e).f, t, snd_incr, snd_decr) @@ -1697,11 +1839,13 @@ float GiveItems(entity e, float beginarg, float endarg) e.strength_finished = max(0, e.strength_finished - time); e.invincible_finished = max(0, e.invincible_finished - time); + e.superweapons_finished = max(0, e.superweapons_finished - time); PREGIVE(e, items); - PREGIVE(e, weapons); + PREGIVE_WEAPONS(e); PREGIVE(e, strength_finished); PREGIVE(e, invincible_finished); + PREGIVE(e, superweapons_finished); PREGIVE(e, ammo_nails); PREGIVE(e, ammo_cells); PREGIVE(e, ammo_shells); @@ -1739,8 +1883,9 @@ float GiveItems(entity e, float beginarg, float endarg) continue; case "ALL": got += GiveBit(e, items, IT_FUEL_REGEN, op, val); - got += GiveValue(e, strength_finished, op, time); - got += GiveValue(e, invincible_finished, op, time); + got += GiveValue(e, strength_finished, op, val); + got += GiveValue(e, invincible_finished, op, val); + got += GiveValue(e, superweapons_finished, op, val); got += GiveBit(e, items, IT_UNLIMITED_AMMO, op, val); case "all": got += GiveBit(e, items, IT_JETPACK, op, val); @@ -1750,8 +1895,9 @@ float GiveItems(entity e, float beginarg, float endarg) for(j = WEP_FIRST; j <= WEP_LAST; ++j) { wi = get_weaponinfo(j); - if(wi.weapons) - got += GiveBit(e, weapons, wi.weapons, op, val); + if(wi.weapon) + if not(wi.spawnflags & WEP_FLAG_MUTATORBLOCKED) + got += GiveWeapon(e, j, op, val); } case "allammo": got += GiveValue(e, ammo_cells, op, val); @@ -1781,6 +1927,9 @@ float GiveItems(entity e, float beginarg, float endarg) case "invincible": got += GiveValue(e, invincible_finished, op, val); break; + case "superweapons": + got += GiveValue(e, superweapons_finished, op, val); + break; case "cells": got += GiveValue(e, ammo_cells, op, val); break; @@ -1809,7 +1958,7 @@ float GiveItems(entity e, float beginarg, float endarg) wi = get_weaponinfo(j); if(cmd == wi.netname) { - got += GiveBit(e, weapons, wi.weapons, op, val); + got += GiveWeapon(e, j, op, val); break; } } @@ -1828,11 +1977,11 @@ float GiveItems(entity e, float beginarg, float endarg) for(j = WEP_FIRST; j <= WEP_LAST; ++j) { wi = get_weaponinfo(j); - if(wi.weapons) + if(wi.weapon) { - POSTGIVE_BIT(e, weapons, wi.weapons, "weapons/weaponpickup.wav", string_null); - if not(save_weapons & wi.weapons) - if(e.weapons & wi.weapons) + POSTGIVE_WEAPON(e, j, "weapons/weaponpickup.wav", string_null); + if not(WEPSET_CONTAINS_AW(save_weapons, j)) + if(WEPSET_CONTAINS_EW(e, j)) weapon_action(wi.weapon, WR_PRECACHE); } } @@ -1846,6 +1995,10 @@ float GiveItems(entity e, float beginarg, float endarg) POSTGIVE_VALUE_ROT(e, armorvalue, 1, pauserotarmor_finished, autocvar_g_balance_pause_armor_rot, pauseregen_finished, autocvar_g_balance_pause_health_regen, "misc/armor25.wav", string_null); POSTGIVE_VALUE_ROT(e, health, 1, pauserothealth_finished, autocvar_g_balance_pause_health_rot, pauseregen_finished, autocvar_g_balance_pause_health_regen, "misc/megahealth.wav", string_null); + if(e.superweapons_finished <= 0) + if(WEPSET_CONTAINS_ANY_EA(self, WEPBIT_SUPERWEAPONS)) + e.superweapons_finished = autocvar_g_balance_superweapons_time; + if (g_minstagib) { e.health = bound(0, e.health, 100); @@ -1860,8 +2013,12 @@ float GiveItems(entity e, float beginarg, float endarg) e.invincible_finished = 0; else e.invincible_finished += time; + if(e.superweapons_finished <= 0) + e.superweapons_finished = 0; + else + e.superweapons_finished += time; - if not(e.weapons & W_WeaponBit(e.switchweapon)) + if not(WEPSET_CONTAINS_EW(e, e.switchweapon)) _switchweapon = TRUE; if(_switchweapon) W_SwitchWeapon_Force(e, w_getbestweapon(e)); diff --git a/qcsrc/server/t_jumppads.qc b/qcsrc/server/t_jumppads.qc index bf17e3faf..eef4d28b8 100644 --- a/qcsrc/server/t_jumppads.qc +++ b/qcsrc/server/t_jumppads.qc @@ -200,6 +200,7 @@ void trigger_push_touch() other.lastteleporttime = time; if (!other.animstate_override) + if (other.deadflag == DEAD_NO) { if (other.crouch) setanim(other, other.anim_duckjump, FALSE, TRUE, TRUE); @@ -285,7 +286,7 @@ void trigger_push_findtarget() else if(n == 1) { // exactly one dest - bots love that - self.enemy = find(e, targetname, self.target); + self.enemy = find(world, targetname, self.target); } else { diff --git a/qcsrc/server/t_plats.qc b/qcsrc/server/t_plats.qc index a556d6d0b..8d81ca263 100644 --- a/qcsrc/server/t_plats.qc +++ b/qcsrc/server/t_plats.qc @@ -57,7 +57,17 @@ void plat_spawn_inside_trigger() tmax_y = tmin_y + 1; } - setsize (trigger, tmin, tmax); + if(tmin_x < tmax_x) + if(tmin_y < tmax_y) + if(tmin_z < tmax_z) + { + setsize (trigger, tmin, tmax); + return; + } + + // otherwise, something is fishy... + remove(trigger); + objerror("plat_spawn_inside_trigger: platform has odd size or lip, can't spawn"); } void plat_hit_top() @@ -235,10 +245,10 @@ void spawnfunc_func_plat() self.pos2 = self.origin; self.pos2_z = self.origin_z - self.height; - plat_spawn_inside_trigger (); // the "start moving" trigger - self.reset = plat_reset; plat_reset(); + + plat_spawn_inside_trigger (); // the "start moving" trigger } @@ -2065,7 +2075,7 @@ void conveyor_think() if(self.state) { - for(e = findradius((self.absmin + self.absmax) * 0.5, vlen(self.absmax - self.absmin) * 0.5); e; e = e.chain) + for(e = findradius((self.absmin + self.absmax) * 0.5, vlen(self.absmax - self.absmin) * 0.5 + 1); e; e = e.chain) if(!e.conveyor.state) if(isPushable(e)) { diff --git a/qcsrc/server/t_quake3.qc b/qcsrc/server/t_quake3.qc index f415e1fd1..82b5f4457 100644 --- a/qcsrc/server/t_quake3.qc +++ b/qcsrc/server/t_quake3.qc @@ -22,9 +22,9 @@ void spawnfunc_ammo_lightning() { spawnfunc_item_cells(); } void spawnfunc_weapon_plasmagun() { spawnfunc_weapon_hagar(); } void spawnfunc_ammo_cells() { spawnfunc_item_rockets(); } -// Rail -> Rifle -void spawnfunc_weapon_railgun() { spawnfunc_weapon_rifle(); } -void spawnfunc_ammo_slugs() { spawnfunc_item_bullets(); } +// Rail -> Nex +void spawnfunc_weapon_railgun() { spawnfunc_weapon_nex(); } +void spawnfunc_ammo_slugs() { spawnfunc_item_cells(); } // BFG -> Crylink void spawnfunc_weapon_bfg() { spawnfunc_weapon_crylink(); } diff --git a/qcsrc/server/teamplay.qc b/qcsrc/server/teamplay.qc index f0ce8fd14..db01a8f58 100644 --- a/qcsrc/server/teamplay.qc +++ b/qcsrc/server/teamplay.qc @@ -71,7 +71,6 @@ void dom_init(); void ctf_init(); void runematch_init(); void tdm_init(); -void nb_init(); void entcs_init(); void LogTeamchange(float player_id, float team_number, float type) @@ -257,13 +256,13 @@ void InitGameplayMode() if(g_nexball) { - fraglimit_override = autocvar_g_nexball_goallimit; - leadlimit_override = autocvar_g_nexball_goalleadlimit; - ActivateTeamplay(); - nb_init(); - have_team_spawns = -1; // request team spawns + fraglimit_override = autocvar_g_nexball_goallimit; + leadlimit_override = autocvar_g_nexball_goalleadlimit; + ActivateTeamplay(); + have_team_spawns = -1; // request team spawns + MUTATOR_ADD(gamemode_nexball); } - + if(g_keepaway) { MUTATOR_ADD(gamemode_keepaway); @@ -463,6 +462,7 @@ void CheckAllowedTeams (entity for_whom) c1 = c2 = c3 = c4 = -1; cb1 = cb2 = cb3 = cb4 = 0; + teament_name = string_null; if(g_onslaught) { // onslaught is special @@ -905,7 +905,7 @@ void SV_ChangeTeam(float _color) scount = c2; else if(steam == 3)//scolor == COLOR_TEAM3 - 1) scount = c3; - else if(steam == 4)//scolor == COLOR_TEAM4 - 1) + else // if(steam == 4)//scolor == COLOR_TEAM4 - 1) scount = c4; if(scount) // started at a valid, nonempty team @@ -980,7 +980,7 @@ void ShufflePlayerOutOfTeam (float source_team) steam = COLOR_TEAM2; else if(source_team == 3) steam = COLOR_TEAM3; - else if(source_team == 4) + else // if(source_team == 4) steam = COLOR_TEAM4; lowest_bot = world; diff --git a/qcsrc/server/tturrets/system/system_main.qc b/qcsrc/server/tturrets/system/system_main.qc index 7247a3a34..c8bbf537c 100644 --- a/qcsrc/server/tturrets/system/system_main.qc +++ b/qcsrc/server/tturrets/system/system_main.qc @@ -726,7 +726,7 @@ entity turret_select_target() m_score = self.turret_score_target(self,e_enemy) * self.target_select_samebias; } else - self.enemy = world; + e_enemy = self.enemy = world; e = findradius(self.origin, self.target_range); diff --git a/qcsrc/server/tturrets/system/system_misc.qc b/qcsrc/server/tturrets/system/system_misc.qc index 1c0a3bad5..5a94b4423 100644 --- a/qcsrc/server/tturrets/system/system_misc.qc +++ b/qcsrc/server/tturrets/system/system_misc.qc @@ -60,7 +60,7 @@ vector shortangle_vxy(vector ang1, vector ang2) vector real_origin(entity ent) { entity e; - vector v; + vector v = ((ent.absmin + ent.absmax) * 0.5); e = ent.tag_entity; while(e) @@ -68,7 +68,7 @@ vector real_origin(entity ent) v = v + ((e.absmin + e.absmax) * 0.5); e = e.tag_entity; } - v = v + ((ent.absmin + ent.absmax) * 0.5); + return v; } diff --git a/qcsrc/server/tturrets/units/unit_hk.qc b/qcsrc/server/tturrets/units/unit_hk.qc index d61289dcb..aa80e0d6b 100644 --- a/qcsrc/server/tturrets/units/unit_hk.qc +++ b/qcsrc/server/tturrets/units/unit_hk.qc @@ -108,6 +108,8 @@ void turret_hk_missile_think() } else { + edist = 0; + ve = '0 0 0'; fe = 0; } diff --git a/qcsrc/server/tturrets/units/unit_tessla.qc b/qcsrc/server/tturrets/units/unit_tessla.qc index 6c2cce6a7..85fb8bb18 100644 --- a/qcsrc/server/tturrets/units/unit_tessla.qc +++ b/qcsrc/server/tturrets/units/unit_tessla.qc @@ -5,7 +5,7 @@ void turret_tesla_fire(); entity toast(entity from, float range, float damage) { entity e; - entity etarget; + entity etarget = world; float d,dd; float r; diff --git a/qcsrc/server/vehicles/racer.qc b/qcsrc/server/vehicles/racer.qc index fa188bbb1..c6523e4b8 100644 --- a/qcsrc/server/vehicles/racer.qc +++ b/qcsrc/server/vehicles/racer.qc @@ -58,6 +58,7 @@ float autocvar_g_vehicle_racer_rocket_locking_time; float autocvar_g_vehicle_racer_rocket_locking_releasetime; float autocvar_g_vehicle_racer_rocket_locked_time; float autocvar_g_vehicle_racer_rocket_locked_maxangle; +float autocvar_g_vehicle_racer_rocket_climbspeed; float autocvar_g_vehicle_racer_respawntime; @@ -72,36 +73,32 @@ vector autocvar_g_vehicle_racer_bouncepain; var vector racer_force_from_tag(string tag_name, float spring_length, float max_power); -void racer_align4point() +void racer_align4point(float _delta) { - vector push_vector, v_add; + vector push_vector; float fl_push, fr_push, bl_push, br_push; - push_vector = racer_force_from_tag("tag_engine_fr", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower); fr_push = force_fromtag_normpower; - //vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier); + //vehicles_sweap_collision(force_fromtag_origin, self.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier); push_vector += racer_force_from_tag("tag_engine_fl", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower); fl_push = force_fromtag_normpower; - //vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier); + //vehicles_sweap_collision(force_fromtag_origin, self.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier); push_vector += racer_force_from_tag("tag_engine_br", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower); br_push = force_fromtag_normpower; - //vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier); + //vehicles_sweap_collision(force_fromtag_origin, self.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier); push_vector += racer_force_from_tag("tag_engine_bl", autocvar_g_vehicle_racer_springlength, autocvar_g_vehicle_racer_hoverpower); bl_push = force_fromtag_normpower; - //vehicles_sweap_collision(force_fromtag_origin, self.velocity, frametime, v_add, autocvar_g_vehicle_racer_collision_multiplier); + //vehicles_sweap_collision(force_fromtag_origin, self.velocity, _delta, v_add, autocvar_g_vehicle_racer_collision_multiplier); - self.velocity += (push_vector * frametime); + self.velocity += push_vector * _delta; // Anti ocilation - if(self.velocity_z > 0) - self.velocity_z *= 1 - (autocvar_g_vehicle_racer_upforcedamper * frametime); - - self.velocity += v_add; - //self.velocity_z -= autocvar_sv_gravity * frametime; + if(self.velocity_z > 0) + self.velocity_z *= 1 - autocvar_g_vehicle_racer_upforcedamper * _delta; push_vector_x = (fl_push - bl_push); push_vector_x += (fr_push - br_push); @@ -112,12 +109,12 @@ void racer_align4point() push_vector_z *= 360; // Apply angle diffrance - self.angles_z += push_vector_z * frametime; - self.angles_x += push_vector_x * frametime; + self.angles_z += push_vector_z * _delta; + self.angles_x += push_vector_x * _delta; // Apply stabilizer - self.angles_x *= 1 - (autocvar_g_vehicle_racer_anglestabilizer * frametime); - self.angles_z *= 1 - (autocvar_g_vehicle_racer_anglestabilizer * frametime); + self.angles_x *= 1 - (autocvar_g_vehicle_racer_anglestabilizer * _delta); + self.angles_z *= 1 - (autocvar_g_vehicle_racer_anglestabilizer * _delta); } void racer_fire_cannon(string tagname) @@ -209,8 +206,14 @@ void racer_rocket_tracker() newvel = oldvel + self.lip; makevectors(vectoangles(olddir)); + float time_to_impact = min(vlen(self.enemy.origin - self.origin) / vlen(self.velocity), 1); + vector predicted_origin = self.enemy.origin + self.enemy.velocity * time_to_impact; + traceline(self.origin, self.origin + v_forward * 64 - '0 0 32', MOVE_NORMAL, self); - newdir = normalize(self.enemy.origin - self.origin); + newdir = normalize(predicted_origin - self.origin); + + //vector + float height_diff = predicted_origin_z - self.origin_z; if(vlen(newdir - v_forward) > autocvar_g_vehicle_racer_rocket_locked_maxangle) { @@ -220,11 +223,12 @@ void racer_rocket_tracker() return; } - if(trace_fraction != 1.0) + if(trace_fraction != 1.0 && trace_ent != self.enemy) newdir_z += 16 * sys_frametime; self.velocity = normalize(olddir + newdir * autocvar_g_vehicle_racer_rocket_turnrate) * newvel; self.velocity_z -= 800 * sys_frametime; + self.velocity_z += max(height_diff, autocvar_g_vehicle_racer_rocket_climbspeed) * sys_frametime ; UpdateCSQCProjectile(self); return; @@ -232,11 +236,8 @@ void racer_rocket_tracker() void racer_fire_rocket(string tagname, entity trg) { - vector v; - entity rocket; - - v = gettaginfo(self, gettagindex(self, tagname)); - rocket = vehicles_projectile("wakizashi_rocket_launch", "weapons/rocket_fire.wav", + vector v = gettaginfo(self, gettagindex(self, tagname)); + entity rocket = rocket = vehicles_projectile("wakizashi_rocket_launch", "weapons/rocket_fire.wav", v, v_forward * autocvar_g_vehicle_racer_rocket_speed, autocvar_g_vehicle_racer_rocket_damage, autocvar_g_vehicle_racer_rocket_radius, autocvar_g_vehicle_racer_rocket_force, 3, DEATH_WAKIROCKET, PROJECTILE_WAKIROCKET, 20, FALSE, FALSE); @@ -265,11 +266,11 @@ float racer_frame() player = self; racer = self.vehicle; self = racer; - + player.BUTTON_ZOOM = player.BUTTON_CROUCH = 0; - + vehicles_painframe(); - + if(racer.deadflag != DEAD_NO) { self = player; @@ -277,7 +278,7 @@ float racer_frame() return 1; } - racer_align4point(); + racer_align4point(frametime); crosshair_trace(player); @@ -299,84 +300,68 @@ float racer_frame() makevectors(racer.angles); racer.angles_x *= -1; - - ftmp = racer.velocity_z; + //ftmp = racer.velocity_z; df = racer.velocity * -autocvar_g_vehicle_racer_friction; - racer.velocity_z = ftmp; + //racer.velocity_z = ftmp; - if(player.movement_x != 0) - { - if(player.movement_x > 0) - df += v_forward * autocvar_g_vehicle_racer_speed_forward; - else if(player.movement_x < 0) - df -= v_forward * autocvar_g_vehicle_racer_speed_forward; - } - - if(player.movement_y != 0) - { - if(player.movement_y < 0) - df -= v_right * autocvar_g_vehicle_racer_speed_strafe; - else if(player.movement_y > 0) - df += v_right * autocvar_g_vehicle_racer_speed_strafe; - } - if(vlen(player.movement) != 0) { + if(player.movement_x) + df += v_forward * ((player.movement_x > 0) ? autocvar_g_vehicle_racer_speed_forward : -autocvar_g_vehicle_racer_speed_forward); + + if(player.movement_y) + df += v_right * ((player.movement_y > 0) ? autocvar_g_vehicle_racer_speed_strafe : -autocvar_g_vehicle_racer_speed_strafe); + if(self.sound_nexttime < time || self.sounds != 1) - { + { self.sounds = 1; self.sound_nexttime = time + 10.922667; //soundlength("vehicles/racer_move.wav"); sound (self, CH_TRIGGER_SINGLE, "vehicles/racer_move.wav", VOL_VEHICLEENGINE, ATTN_NORM); } } else - { + { if(self.sound_nexttime < time || self.sounds != 0) - { + { self.sounds = 0; self.sound_nexttime = time + 11.888604; //soundlength("vehicles/racer_idle.wav"); sound (self, CH_TRIGGER_SINGLE, "vehicles/racer_idle.wav", VOL_VEHICLEENGINE, ATTN_NORM); - } + } } - + // Afterburn if (player.BUTTON_JUMP && racer.vehicle_energy >= (autocvar_g_vehicle_racer_afterburn_cost * frametime)) { if(time - racer.wait > 0.2) - pointparticles(particleeffectnum("wakizashi_booster_smoke"), self.origin, '0 0 0', 1); - + pointparticles(particleeffectnum("wakizashi_booster_smoke"), self.origin, '0 0 0', 1); + racer.wait = time; racer.vehicle_energy -= autocvar_g_vehicle_racer_afterburn_cost * frametime; df += (v_forward * autocvar_g_vehicle_racer_speed_afterburn); - - if(self.invincible_finished < time) - { - traceline(self.origin, self.origin - '0 0 256', MOVE_NORMAL, self); + + if(racer.invincible_finished < time) + { + traceline(racer.origin, racer.origin - '0 0 256', MOVE_NORMAL, self); if(trace_fraction != 1.0) pointparticles(particleeffectnum("smoke_small"), trace_endpos, '0 0 0', 1); - - self.invincible_finished = time + 0.1 + (random() * 0.1); + + racer.invincible_finished = time + 0.1 + (random() * 0.1); } - if(self.strength_finished < time) - { - //self.sounds = 2; - self.strength_finished = time + 10.922667; //soundlength("vehicles/racer_boost.wav"); - sound (self.tur_head, CH_TRIGGER_SINGLE, "vehicles/racer_boost.wav", VOL_VEHICLEENGINE, ATTN_NORM); - } + if(racer.strength_finished < time) + { + racer.strength_finished = time + 10.922667; //soundlength("vehicles/racer_boost.wav"); + sound (racer.tur_head, CH_TRIGGER_SINGLE, "vehicles/racer_boost.wav", VOL_VEHICLEENGINE, ATTN_NORM); + } } else { - self.strength_finished = 0; - sound (self.tur_head, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_VEHICLEENGINE, ATTN_NORM); + racer.strength_finished = 0; + sound (racer.tur_head, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_VEHICLEENGINE, ATTN_NORM); } - - racer.velocity += df * frametime; - - df = (vlen(racer.velocity) * autocvar_g_vehicle_racer_downforce * v_up) * frametime; - racer.velocity = racer.velocity - df; - player.movement = racer.velocity; + df -= v_up * (vlen(racer.velocity) * autocvar_g_vehicle_racer_downforce); + player.movement = racer.velocity += df * frametime; if(player.BUTTON_ATCK) if(time > racer.attack_finished_single) @@ -397,7 +382,6 @@ float racer_frame() racer.cnt = 1; } racer.attack_finished_single = time + autocvar_g_vehicle_racer_cannon_refire; - //self.owner.vehicle_energy = racer.vehicle_energy / autocvar_g_vehicle_racer_energy; } if(autocvar_g_vehicle_racer_rocket_locktarget) @@ -420,16 +404,17 @@ float racer_frame() if(time > racer.delay) if(player.BUTTON_ATCK2) { - self.misc_bulletcounter += 1; + racer.misc_bulletcounter += 1; racer.delay = time + 0.3; - if(self.misc_bulletcounter == 1) - racer_fire_rocket("tag_rocket_r", (self.lock_strength == 1 && self.lock_target) ? self.lock_target : world); - else if(self.misc_bulletcounter == 2) + + if(racer.misc_bulletcounter == 1) + racer_fire_rocket("tag_rocket_r", (racer.lock_strength == 1 && racer.lock_target) ? racer.lock_target : world); + else if(racer.misc_bulletcounter == 2) { - racer_fire_rocket("tag_rocket_l", (self.lock_strength == 1 && self.lock_target) ? self.lock_target : world); - self.lock_strength = 0; - self.lock_target = world; - self.misc_bulletcounter = 0; + racer_fire_rocket("tag_rocket_l", (racer.lock_strength == 1 && racer.lock_target) ? racer.lock_target : world); + racer.lock_strength = 0; + racer.lock_target = world; + racer.misc_bulletcounter = 0; racer.delay = time + autocvar_g_vehicle_racer_rocket_refire; racer.lip = time; @@ -437,23 +422,22 @@ float racer_frame() } player.vehicle_reload1 = bound(0, 100 * ((time - racer.lip) / (racer.delay - racer.lip)), 100); - if(self.vehicle_flags & VHF_SHIELDREGEN) + if(racer.vehicle_flags & VHF_SHIELDREGEN) vehicles_regen(dmg_time, vehicle_shield, autocvar_g_vehicle_racer_shield, autocvar_g_vehicle_racer_shield_regen_pause, autocvar_g_vehicle_racer_shield_regen, frametime); - if(self.vehicle_flags & VHF_HEALTHREGEN) + if(racer.vehicle_flags & VHF_HEALTHREGEN) vehicles_regen(dmg_time, vehicle_health, autocvar_g_vehicle_racer_health, autocvar_g_vehicle_racer_health_regen_pause, autocvar_g_vehicle_racer_health_regen, frametime); - if(self.vehicle_flags & VHF_ENERGYREGEN) + if(racer.vehicle_flags & VHF_ENERGYREGEN) vehicles_regen(wait, vehicle_energy, autocvar_g_vehicle_racer_energy, autocvar_g_vehicle_racer_energy_regen_pause, autocvar_g_vehicle_racer_energy_regen, frametime); VEHICLE_UPDATE_PLAYER(health, racer); VEHICLE_UPDATE_PLAYER(energy, racer); - if(self.vehicle_flags & VHF_HASSHIELD) + if(racer.vehicle_flags & VHF_HASSHIELD) VEHICLE_UPDATE_PLAYER(shield, racer); - player.BUTTON_ATCK = player.BUTTON_ATCK2 = 0; setorigin(player,racer.origin + '0 0 32'); player.velocity = racer.velocity; @@ -464,32 +448,24 @@ float racer_frame() void racer_think() { - /* - float a, b, c;a = autocvar_g_vehicle_racer_anglestabilizer; - b = autocvar_g_vehicle_racer_springlength; - c = autocvar_g_vehicle_racer_hoverpower; - - autocvar_g_vehicle_racer_anglestabilizer = 36; - autocvar_g_vehicle_racer_springlength = 96; - autocvar_g_vehicle_racer_hoverpower = 300; - */ - - racer_align4point(); //time - self.nextthink); - - /* - //if(self.velocity_z > 0) - // self.velocity_z *= 0.95; - - autocvar_g_vehicle_racer_anglestabilizer = a; - autocvar_g_vehicle_racer_springlength = b; - autocvar_g_vehicle_racer_hoverpower = c; - */ - - self.velocity_x *= 0.9; - self.velocity_y *= 0.9; - self.velocity_z *= 0.8; - self.velocity_z += sin(time * 2) * 16; - self.nextthink = time; // + 0.05; + self.nextthink = time; + + float pushdeltatime = time - self.lastpushtime; + if (pushdeltatime > 0.15) pushdeltatime = 0; + self.lastpushtime = time; + if(!pushdeltatime) return; + + tracebox(self.origin, self.mins, self.maxs, self.origin - ('0 0 1' * autocvar_g_vehicle_racer_springlength), MOVE_NORMAL, self); + + vector df = self.velocity * -autocvar_g_vehicle_racer_friction; + df_z += (1 - trace_fraction) * autocvar_g_vehicle_racer_hoverpower + sin(time * 2) * (autocvar_g_vehicle_racer_springlength * 2); + + self.velocity += df * pushdeltatime; + if(self.velocity_z > 0) + self.velocity_z *= 1 - autocvar_g_vehicle_racer_upforcedamper * pushdeltatime; + + self.angles_x *= 1 - (autocvar_g_vehicle_racer_anglestabilizer * pushdeltatime); + self.angles_z *= 1 - (autocvar_g_vehicle_racer_anglestabilizer * pushdeltatime); } void racer_enter() @@ -497,20 +473,22 @@ void racer_enter() self.movetype = MOVETYPE_BOUNCE; self.owner.vehicle_health = (self.vehicle_health / autocvar_g_vehicle_racer_health) * 100; self.owner.vehicle_shield = (self.vehicle_shield / autocvar_g_vehicle_racer_shield) * 100; - + if(self.owner.flagcarried) setorigin(self.owner.flagcarried, '-190 0 96'); + + //targetdrone_spawn(self.origin + '0 0 512' + randomvec() * 256, 1); } void racer_exit(float eject) { vector spot; - + self.think = racer_think; self.nextthink = time; - self.movetype = MOVETYPE_TOSS; + self.movetype = MOVETYPE_BOUNCE; sound (self.tur_head, CH_TRIGGER_SINGLE, "misc/null.wav", VOL_VEHICLEENGINE, ATTN_NORM); - + if not (self.owner) return; @@ -521,16 +499,31 @@ void racer_exit(float eject) spot = vehicles_findgoodexit(spot); setorigin(self.owner , spot); self.owner.velocity = (v_up + v_forward * 0.25) * 750; + self.owner.oldvelocity = self.owner.velocity; } else { - spot = self.origin - v_forward * 200 + '0 0 64'; - spot = vehicles_findgoodexit(spot); + if(vlen(self.velocity) > 2 * autocvar_sv_maxairspeed) + { + self.owner.velocity = normalize(self.velocity) * autocvar_sv_maxairspeed * 2; + self.owner.velocity_z += 200; + spot = self.origin + v_forward * 32 + '0 0 32'; + spot = vehicles_findgoodexit(spot); + } + else + { + self.owner.velocity = self.velocity * 0.5; + self.owner.velocity_z += 10; + spot = self.origin - v_forward * 200 + '0 0 32'; + spot = vehicles_findgoodexit(spot); + } + self.owner.oldvelocity = self.owner.velocity; setorigin(self.owner , spot); } - + antilag_clear(self.owner); self.owner = world; } + void racer_impact() { if(autocvar_g_vehicle_racer_bouncepain_x) @@ -551,7 +544,7 @@ void racer_spawn() setsize(self, RACER_MIN * 0.5, RACER_MAX * 0.5); self.bouncefactor = autocvar_g_vehicle_racer_bouncefactor; - self.bouncestop = autocvar_g_vehicle_racer_bouncestop; + self.bouncestop = autocvar_g_vehicle_racer_bouncestop; self.vehicle_impact = racer_impact; //self.destvec = autocvar_g_vehicle_racer_bouncepain; } @@ -601,8 +594,8 @@ void racer_die() self.wait = time; self.cnt = 1 + random() * 2; self.touch = racer_deadtouch; - - pointparticles(particleeffectnum("explosion_medium"), self.origin, '0 0 0', 1); + + pointparticles(particleeffectnum("explosion_medium"), self.origin, '0 0 0', 1); if(random() < 0.5) self.avelocity_z = 32; @@ -658,7 +651,7 @@ void spawnfunc_vehicle_racer() precache_sound ("weapons/lasergun_fire.wav"); precache_sound ("weapons/rocket_fire.wav"); - + precache_sound ("vehicles/racer_idle.wav"); precache_sound ("vehicles/racer_move.wav"); precache_sound ("vehicles/racer_boost.wav"); @@ -682,7 +675,7 @@ void spawnfunc_vehicle_racer() self.vehicle_flags |= VHF_HEALTHREGEN; self.think = racer_dinit; - + if(g_assault) self.nextthink = time + 0.5; else diff --git a/qcsrc/server/vehicles/raptor.qc b/qcsrc/server/vehicles/raptor.qc index 9e80f1869..ad5252dfd 100644 --- a/qcsrc/server/vehicles/raptor.qc +++ b/qcsrc/server/vehicles/raptor.qc @@ -111,7 +111,7 @@ void raptor_bomb_burst() 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) { @@ -244,14 +244,17 @@ void raptor_exit(float eject) spot = vehicles_findgoodexit(spot); setorigin(self.owner , spot); self.owner.velocity = (v_up + v_forward * 0.25) * 750; + self.owner.oldvelocity = self.owner.velocity; } else { + self.owner.velocity = normalize(self.velocity) * autocvar_sv_maxairspeed; + self.owner.oldvelocity = self.owner.velocity; spot = self.origin - v_forward * 200 + '0 0 64'; spot = vehicles_findgoodexit(spot); setorigin(self.owner , spot); } - + antilag_clear(self.owner); self.owner = world; } @@ -308,7 +311,7 @@ float raptor_takeoff() float raptor_frame() { entity player, raptor; - float ftmp, ftmp2; + float ftmp = 0, ftmp2; vector df; if(intermission_running) diff --git a/qcsrc/server/vehicles/spiderbot.qc b/qcsrc/server/vehicles/spiderbot.qc index f1cb57551..913e3316f 100644 --- a/qcsrc/server/vehicles/spiderbot.qc +++ b/qcsrc/server/vehicles/spiderbot.qc @@ -450,14 +450,17 @@ void spiderbot_exit(float eject) spot = vehicles_findgoodexit(spot); setorigin(self.owner , spot); self.owner.velocity = (v_up + v_forward * 0.25) * 750; + self.owner.oldvelocity = self.owner.velocity; } else { + self.owner.velocity = normalize(self.velocity) * autocvar_sv_maxairspeed; + self.owner.oldvelocity = self.owner.velocity; spot = self.origin - v_forward * 200 + '0 0 64'; spot = vehicles_findgoodexit(spot); setorigin(self.owner , spot); } - + antilag_clear(self.owner); self.owner = world; } void spider_impact() diff --git a/qcsrc/server/vehicles/vehicles.qc b/qcsrc/server/vehicles/vehicles.qc index 8063c2791..bfd13a0e7 100644 --- a/qcsrc/server/vehicles/vehicles.qc +++ b/qcsrc/server/vehicles/vehicles.qc @@ -84,9 +84,9 @@ void SendAuxiliaryXhair2(entity own, vector loc, vector clr, float axh_id) // End AuxiliaryXhair /** - Notifies the client that he enterd a vehicle, and sends + Notifies the client that he enterd a vehicle, and sends realavent data. - + only sends vehicle_id atm (wich is a HUD_* constant, ex. HUD_SPIDERBOT) **/ void CSQCVehicleSetup(entity own, float vehicle_id) @@ -115,6 +115,118 @@ void CSQCVehicleSetup(entity own, float vehicle_id) .float lock_strength; .float lock_time; .float lock_soundtime; +float DAMAGE_TARGETDRONE = 10; + +vector targetdrone_getnewspot() +{ + + vector spot; + float i; + for(i = 0; i < 100; ++i) + { + spot = self.origin + randomvec() * 1024; + tracebox(spot, self.mins, self.maxs, spot, MOVE_NORMAL, self); + if(trace_fraction == 1.0 && trace_startsolid == 0 && trace_allsolid == 0) + return spot; + } + return self.origin; +} +void targetdrone_think(); +void targetdrone_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force); +void targetdrone_renwe() +{ + self.think = targetdrone_think; + self.nextthink = time + 0.1; + setorigin(self, targetdrone_getnewspot()); + self.health = 200; + self.takedamage = DAMAGE_TARGETDRONE; + self.event_damage = targetdrone_damage; + self.solid = SOLID_BBOX; + setmodel(self, "models/runematch/rune.mdl"); + self.effects = EF_LOWPRECISION; + self.scale = 10; + self.movetype = MOVETYPE_BOUNCEMISSILE; + setsize(self, '-100 -100 -100', '100 100 100'); + +} +void targetdrone_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force) +{ + self.health -= damage; + if(self.health <= 0) + { + pointparticles(particleeffectnum("explosion_medium"), self.origin, '0 0 0', 1); + + if(!self.cnt) + remove(self); + else + { + self.think = targetdrone_renwe; + self.nextthink = time + 1 + random() * 2; + self.solid = SOLID_NOT; + setmodel(self, ""); + } + } +} +entity targetdrone_getfear() +{ + entity fear; + float i; + + for(i = 64; i <= 1024; i += 64) + { + fear = findradius(self.origin, i); + while(fear) + { + if(fear.bot_dodge) + return fear; + + fear = fear.chain; + } + } + + return world; +} +void targetdrone_think() +{ + self.nextthink = time + 0.1; + + if(self.enemy) + if(self.enemy.deadflag != DEAD_NO) + self.enemy = targetdrone_getfear(); + + if(!self.enemy) + self.enemy = targetdrone_getfear(); + + vector newdir; + + if(self.enemy) + newdir = steerlib_push(self.enemy.origin) + randomvec() * 0.75; + else + newdir = randomvec() * 0.75; + + newdir = newdir * 0.5 + normalize(self.velocity) * 0.5; + + if(self.enemy) + self.velocity = normalize(newdir) * (500 + (1024 / min(vlen(self.enemy.origin - self.origin), 1024)) * 700); + else + self.velocity = normalize(newdir) * 750; + + tracebox(self.origin, self.mins, self.maxs, self.origin + self.velocity * 2, MOVE_NORMAL, self); + if(trace_fraction != 1.0) + self.velocity = self.velocity * -1; + + //normalize((normalize(self.velocity) * 0.5 + newdir * 0.5)) * 750; +} + +void targetdrone_spawn(vector _where, float _autorenew) +{ + entity drone = spawn(); + setorigin(drone, _where); + drone.think = targetdrone_renwe; + drone.nextthink = time + 0.1; + drone.cnt = _autorenew; +} + void vehicles_locktarget(float incr, float decr, float _lock_time) { if(self.lock_target && self.lock_target.deadflag != DEAD_NO) @@ -132,7 +244,7 @@ void vehicles_locktarget(float incr, float decr, float _lock_time) self.lock_soundtime = time + 0.5; play2(self.owner, "vehicles/locked.wav"); } - + return; } @@ -144,28 +256,30 @@ void vehicles_locktarget(float incr, float decr, float _lock_time) if(trace_ent.deadflag != DEAD_NO) trace_ent = world; - if not (trace_ent.vehicle_flags & VHF_ISVEHICLE || trace_ent.turrcaps_flags & TFL_TURRCAPS_ISTURRET) + if not (trace_ent.vehicle_flags & VHF_ISVEHICLE || + trace_ent.turrcaps_flags & TFL_TURRCAPS_ISTURRET || + trace_ent.takedamage == DAMAGE_TARGETDRONE) trace_ent = world; } if(self.lock_target == world && trace_ent != world) self.lock_target = trace_ent; - - if(self.lock_target && trace_ent == self.lock_target) - { + + if(self.lock_target && trace_ent == self.lock_target) + { if(self.lock_strength != 1 && self.lock_strength + incr >= 1) { play2(self.owner, "vehicles/lock.wav"); self.lock_soundtime = time + 0.8; - } + } else if (self.lock_strength != 1 && self.lock_soundtime < time) - { + { play2(self.owner, "vehicles/locking.wav"); self.lock_soundtime = time + 0.3; } - - } - + + } + // Have a locking target // Trace hit current target if(trace_ent == self.lock_target && trace_ent != world) @@ -237,8 +351,8 @@ void vehicles_projectile_damage(entity inflictor, entity attacker, float damage, { // Ignore damage from oterh projectiles from my owner (dont mess up volly's) if(inflictor.owner == self.owner) - return; - + return; + self.health -= damage; self.velocity += force; if(self.health < 1) @@ -377,21 +491,21 @@ float vehicles_crushable(entity e) } void vehilces_impact(float _minspeed, float _speedfac, float _maxpain) -{ +{ if (trace_dphitq3surfaceflags & Q3SURFACEFLAG_NOIMPACT) return; - + if(self.play_time < time) - { + { float wc = vlen(self.velocity - self.oldvelocity); //dprint("oldvel: ", vtos(self.oldvelocity), "\n"); //dprint("vel: ", vtos(self.velocity), "\n"); if(_minspeed < wc) { - float take = take = min(_speedfac * wc, _maxpain); + float take = min(_speedfac * wc, _maxpain); Damage (self, world, world, take, DEATH_FALL, self.origin, '0 0 0'); self.play_time = time + 0.25; - + //dprint("wc: ", ftos(wc), "\n"); //dprint("take: ", ftos(take), "\n"); } @@ -409,14 +523,14 @@ void vehicles_touch() { if(vlen(self.velocity) != 0) Damage(other, self, self.owner, autocvar_g_vehicles_crush_dmg, DEATH_VHCRUSH, '0 0 0', normalize(other.origin - self.origin) * autocvar_g_vehicles_crush_force); - + return; // Dont do selfdamage when hitting "soft targets". } - + if(self.play_time < time) if(self.vehicle_impact) self.vehicle_impact(); - + return; } @@ -449,7 +563,7 @@ void vehicles_enter() if(self.team) if(self.team != other.team) return; - + RemoveGrapplingHook(other); self.vehicle_ammo1 = 0; @@ -519,20 +633,21 @@ void vehicles_enter() vehicles_clearrturn(); CSQCVehicleSetup(self.owner, self.hud); - + if(other.flagcarried) { if(!autocvar_g_vehicles_allow_flagcarry) DropFlag(other.flagcarried, world, world); else - { + { other.flagcarried.scale = 1; - setattachment(other.flagcarried, self, ""); + setattachment(other.flagcarried, self, ""); setorigin(other, '0 0 96'); } } - + self.vehicle_enter(); + antilag_clear(other); } /** vehicles_findgoodexit @@ -544,17 +659,17 @@ vector vehicles_findgoodexit(vector prefer_spot) { //vector exitspot; float mysize; - + tracebox(self.origin + '0 0 32', PL_MIN, PL_MAX, prefer_spot, MOVE_NORMAL, self.owner); if(trace_fraction == 1.0 && !trace_startsolid && !trace_allsolid) return prefer_spot; - + mysize = vlen(self.maxs - self.mins); float i; vector v, v2; v2 = 0.5 * (self.absmin + self.absmax); for(i = 0; i < 100; ++i) - { + { v = randomvec(); v_z = 0; v = v2 + normalize(v) * mysize; @@ -562,13 +677,13 @@ vector vehicles_findgoodexit(vector prefer_spot) if(trace_fraction == 1.0 && !trace_startsolid && !trace_allsolid) return v; } - + /* exitspot = (self.origin + '0 0 48') + v_forward * mysize; tracebox(self.origin + '0 0 32', PL_MIN, PL_MAX, exitspot, MOVE_NORMAL, self.owner); if(trace_fraction == 1.0 && !trace_startsolid && !trace_allsolid) return exitspot; - + exitspot = (self.origin + '0 0 48') - v_forward * mysize; tracebox(self.origin + '0 0 32', PL_MIN, PL_MAX, exitspot, MOVE_NORMAL, self.owner); if(trace_fraction == 1.0 && !trace_startsolid && !trace_allsolid) @@ -578,13 +693,13 @@ vector vehicles_findgoodexit(vector prefer_spot) tracebox(self.origin + '0 0 32', PL_MIN, PL_MAX, exitspot, MOVE_NORMAL, self.owner); if(trace_fraction == 1.0 && !trace_startsolid && !trace_allsolid) return exitspot; - + exitspot = (self.origin + '0 0 48') - v_right * mysize; tracebox(self.origin + '0 0 32', PL_MIN, PL_MAX, exitspot, MOVE_NORMAL, self.owner); if(trace_fraction == 1.0 && !trace_startsolid && !trace_allsolid) return exitspot; */ - + return self.origin; } @@ -593,14 +708,14 @@ vector vehicles_findgoodexit(vector prefer_spot) custom code goes in self.vehicle_exit **/ void vehicles_exit(float eject) -{ +{ entity oldself; if(self.flags & FL_CLIENT) { oldself = self; self = self.vehicle; } - + self.flags |= FL_NOTARGET; if (self.owner) @@ -628,7 +743,7 @@ void vehicles_exit(float eject) self.owner.hud = HUD_NORMAL; self.owner.switchweapon = self.switchweapon; //self.owner.BUTTON_USE = 0; - + CSQCVehicleSetup(self.owner, HUD_NORMAL); } @@ -645,19 +760,19 @@ void vehicles_exit(float eject) self.team = 0; else self.team = self.tur_head.team; - + if(self.owner.flagcarried) { self.owner.flagcarried.scale = 0.6; - setattachment(self.owner.flagcarried, self.owner, ""); + setattachment(self.owner.flagcarried, self.owner, ""); setorigin(self.owner.flagcarried, FLAG_CARRY_POS); } - + sound (self, CH_TRIGGER_SINGLE, "misc/null.wav", 1, ATTN_NORM); self.vehicle_exit(eject); self.owner = world; vehicles_reset_colors(); - + if(oldself) self = oldself; } @@ -690,25 +805,25 @@ void shieldhit_think() } void vehicles_painframe() -{ +{ if(self.owner.vehicle_health <= 50) if(self.pain_frame < time) - { - float _ftmp; + { + float _ftmp; _ftmp = self.owner.vehicle_health / 50; self.pain_frame = time + 0.1 + (random() * 0.5 * _ftmp); pointparticles(particleeffectnum("smoke_small"), (self.origin + (randomvec() * 80)), '0 0 0', 1); - + if(self.vehicle_flags & VHF_DMGSHAKE) self.velocity += randomvec() * 30; - + if(self.vehicle_flags & VHF_DMGROLL) if(self.vehicle_flags & VHF_DMGHEADROLL) self.tur_head.angles += randomvec(); else self.angles += randomvec(); - - } + + } } void vehicles_damage(entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force) @@ -742,7 +857,7 @@ void vehicles_damage(entity inflictor, entity attacker, float damage, float deat self.vehicle_shieldent.colormod = '2 0 0'; self.vehicle_shield = 0; self.vehicle_shieldent.alpha = 0.75; - + if(sound_allowed(MSG_BROADCAST, attacker)) spamsound (self, CH_PAIN, "onslaught/ons_hit2.wav", VOL_BASE, ATTN_NORM); // FIXME: PLACEHOLDER } @@ -785,11 +900,11 @@ void vehicles_clearrturn() { ret.classname = ""; ret.think = SUB_Remove; - ret.nextthink = time + 0.1; - + ret.nextthink = time + 0.1; + if(ret.waypointsprite_attached) WaypointSprite_Kill(ret.waypointsprite_attached); - + return; } ret = ret.chain; @@ -805,7 +920,7 @@ void vehicles_return() if(self.waypointsprite_attached) WaypointSprite_Kill(self.waypointsprite_attached); - + remove(self); } @@ -813,50 +928,50 @@ void vehicles_showwp_goaway() { if(self.waypointsprite_attached) WaypointSprite_Kill(self.waypointsprite_attached); - + remove(self); - + } void vehicles_showwp() { entity oldself; vector rgb; - + if(self.cnt) - { + { self.think = vehicles_return; self.nextthink = self.cnt; - } + } else { self.think = vehicles_return; self.nextthink = time +1; - + oldself = self; self = spawn(); setmodel(self, "null"); self.team = oldself.enemy.team; self.enemy = oldself.enemy; setorigin(self, oldself.enemy.pos1); - + self.nextthink = time + 5; self.think = vehicles_showwp_goaway; } - + if(teamplay && self.team) rgb = TeamColor(self.team); else rgb = '1 1 1'; WaypointSprite_Spawn("vehicle", 0, 0, self, '0 0 64', world, 0, self, waypointsprite_attached, TRUE, RADARICON_POWERUP, rgb); if(self.waypointsprite_attached) - { - WaypointSprite_UpdateRule(self.waypointsprite_attached, self.enemy.team, SPRITERULE_DEFAULT); + { + WaypointSprite_UpdateRule(self.waypointsprite_attached, self.enemy.team, SPRITERULE_DEFAULT); if(oldself == world) - WaypointSprite_UpdateBuildFinished(self.waypointsprite_attached, self.nextthink); + WaypointSprite_UpdateBuildFinished(self.waypointsprite_attached, self.nextthink); WaypointSprite_Ping(self.waypointsprite_attached); - } - + } + if(oldself != world) self = oldself; } @@ -864,28 +979,28 @@ void vehicles_showwp() void vehicles_setreturn() { entity ret; - + vehicles_clearrturn(); ret = spawn(); ret.classname = "vehicle_return"; - ret.enemy = self; + ret.enemy = self; ret.team = self.team; ret.think = vehicles_showwp; - + if(self.deadflag != DEAD_NO) { ret.cnt = time + self.vehicle_respawntime; - ret.nextthink = min(time + self.vehicle_respawntime, time + self.vehicle_respawntime - 5); - } + ret.nextthink = min(time + self.vehicle_respawntime, time + self.vehicle_respawntime - 5); + } else { - ret.nextthink = min(time + self.vehicle_respawntime, time + self.vehicle_respawntime - 1); + ret.nextthink = min(time + self.vehicle_respawntime, time + self.vehicle_respawntime - 1); } - + setmodel(ret, "null"); setorigin(ret, self.pos1 + '0 0 96'); - + } void vehicles_configcheck(string configname, float check_cvar) @@ -983,9 +1098,9 @@ float vehicle_initialize(string net_name, if(self.team && !teamplay) self.team = 0; - + self.vehicle_flags |= VHF_ISVEHICLE; - + setmodel(self, bodymodel); self.vehicle_viewport = spawn(); @@ -1004,8 +1119,8 @@ float vehicle_initialize(string net_name, self.PlayerPhysplug = physproc; self.event_damage = vehicles_damage; self.touch = vehicles_touch; - self.think = vehicles_spawn; - self.nextthink = time; + self.think = vehicles_spawn; + self.nextthink = time; self.vehicle_respawntime = _respawntime; self.vehicle_spawn = spawnproc; @@ -1044,7 +1159,7 @@ float vehicle_initialize(string net_name, self.pos1 = self.origin; self.pos2 = self.angles; self.tur_head.team = self.team; - + return TRUE; } diff --git a/qcsrc/server/w_common.qc b/qcsrc/server/w_common.qc index a05c17bd4..a2f23956e 100644 --- a/qcsrc/server/w_common.qc +++ b/qcsrc/server/w_common.qc @@ -6,7 +6,7 @@ void W_GiveWeapon (entity e, float wep, string name) if (!wep) return; - e.weapons = e.weapons | W_WeaponBit(wep); + WEPSET_OR_EW(e, wep); oldself = self; self = e; @@ -38,6 +38,8 @@ void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, f entity pseudoprojectile; float f, ffs; + pseudoprojectile = world; + railgun_start = start; railgun_end = end; @@ -66,6 +68,9 @@ void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, f 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; @@ -173,8 +178,8 @@ void W_BallisticBullet_Hit (void) 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) { @@ -232,37 +237,64 @@ void W_BallisticBullet_LeaveSolid_think() { 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); } -float W_BallisticBullet_LeaveSolid(entity e, vector vel, float constant) +float W_BallisticBullet_LeaveSolid(float eff) { // move the entity along its velocity until it's out of solid, then let it resume - + vector vel = self.velocity; float dt, dst, velfactor, v0, vs; float maxdist; float E0_m, Es_m; + float constant = self.dmg_radius * (other.ballistics_density ? other.ballistics_density : 1); // outside the world? forget it if(self.origin_x > world.maxs_x || self.origin_y > world.maxs_y || self.origin_z > world.maxs_z || self.origin_x < world.mins_x || self.origin_y < world.mins_y || self.origin_z < world.mins_z) return 0; + // special case for zero density and zero bullet constant: + + if(self.dmg_radius == 0) + { + if(other.ballistics_density < 0) + constant = 0; // infinite travel distance + else + return 0; // no penetration + } + else + { + if(other.ballistics_density < 0) + constant = 0; // infinite travel distance + else if(other.ballistics_density == 0) + constant = self.dmg_radius; + else + constant = self.dmg_radius * other.ballistics_density; + } + // E(s) = E0 - constant * s, constant = area of bullet circle * material constant / mass v0 = vlen(vel); E0_m = 0.5 * v0 * v0; - maxdist = E0_m / constant; - // maxdist = 0.5 * v0 * v0 / constant - // dprint("max dist = ", ftos(maxdist), "\n"); - if(maxdist <= autocvar_g_ballistics_mindistance) - return 0; + if(constant) + { + maxdist = E0_m / constant; + // maxdist = 0.5 * v0 * v0 / constant + // dprint("max dist = ", ftos(maxdist), "\n"); - traceline_inverted (self.origin, self.origin + normalize(vel) * maxdist, MOVE_NORMAL, self); + if(maxdist <= autocvar_g_ballistics_mindistance) + return 0; + } + else + { + maxdist = vlen(other.maxs - other.mins) + 1; // any distance, as long as we leave the entity + } + traceline_inverted (self.origin, self.origin + normalize(vel) * maxdist, MOVE_NORMAL, self, TRUE); if(trace_fraction == 1) // 1: we never got out of solid return 0; @@ -295,6 +327,13 @@ float W_BallisticBullet_LeaveSolid(entity e, vector vel, float constant) self.flags |= FL_ONGROUND; // prevent moving self.W_BallisticBullet_LeaveSolid_velocity = vel; + if(eff >= 0) + if(vlen(trace_endpos - self.origin) > 4) + { + endzcurveparticles(); + trailparticles(self, eff, self.origin, trace_endpos); + } + return 1; } @@ -308,6 +347,12 @@ void W_BallisticBullet_Touch (void) PROJECTILE_TOUCH; W_BallisticBullet_Hit (); + if(self.dmg_radius < 0) // these NEVER penetrate solid + { + remove(self); + return; + } + // if we hit "weapclip", bail out // // rationale of this check: @@ -328,12 +373,8 @@ void W_BallisticBullet_Touch (void) return; } - density = other.ballistics_density; - if(density == 0) - density = 1; - // go through solid! - if(!W_BallisticBullet_LeaveSolid(self, self.velocity, self.dmg_radius * density)) + if(!W_BallisticBullet_LeaveSolid(-1)) { remove(self); return; @@ -381,7 +422,12 @@ void fireBallisticBullet(vector start, vector dir, float spread, float pSpeed, f proj.nextthink = time + lifetime; // min(pLifetime, vlen(world.maxs - world.mins) / pSpeed); W_SetupProjectileVelocityEx(proj, dir, v_up, pSpeed, 0, 0, spread, antilagging); proj.angles = vectoangles(proj.velocity); - proj.dmg_radius = autocvar_g_ballistics_materialconstant / bulletconstant; + if(bulletconstant > 0) + proj.dmg_radius = autocvar_g_ballistics_materialconstant / bulletconstant; + else if(bulletconstant == 0) + proj.dmg_radius = 0; + else + proj.dmg_radius = -1; // so: bulletconstant = bullet mass / area of bullet circle setorigin(proj, start); proj.flags = FL_PROJECTILE; @@ -465,6 +511,9 @@ void fireBallisticBullet(vector start, vector dir, float spread, float pSpeed, f W_BallisticBullet_Hit(); } + if(proj.dmg_radius < 0) // these NEVER penetrate solid + break; + // if we hit "weapclip", bail out // // rationale of this check: @@ -482,15 +531,13 @@ void fireBallisticBullet(vector start, vector dir, float spread, float pSpeed, f if not(trace_dphitcontents & DPCONTENTS_OPAQUE) break; - density = other.ballistics_density; - if(density == 0) - density = 1; - // go through solid! - if(!W_BallisticBullet_LeaveSolid(self, self.velocity, self.dmg_radius * density)) + if(!W_BallisticBullet_LeaveSolid((other && (other.solid != SOLID_BSP)) ? eff : -1)) break; W_BallisticBullet_LeaveSolid_think(); + + self.projectiledeathtype |= HITTYPE_BOUNCE; } frametime = savetime; self = oldself; @@ -526,10 +573,10 @@ void fireBullet (vector start, vector dir, float spread, float damage, float for 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); } @@ -582,9 +629,13 @@ void W_PrepareExplosionByDamage(entity attacker, void() explode) { self.takedamage = DAMAGE_NO; self.event_damage = SUB_Null; - self.owner = attacker; - self.realowner = attacker; - + + if((attacker.flags & FL_CLIENT) && !autocvar_g_projectiles_keep_owner) + { + self.owner = attacker; + self.realowner = attacker; + } + // do not explode NOW but in the NEXT FRAME! // because recursive calls to RadiusDamage are not allowed self.nextthink = time; diff --git a/qcsrc/server/w_crylink.qc b/qcsrc/server/w_crylink.qc index 0b3118bb6..e748987cb 100644 --- a/qcsrc/server/w_crylink.qc +++ b/qcsrc/server/w_crylink.qc @@ -133,6 +133,7 @@ vector W_Crylink_LinkJoin(entity e, float jspeed, float jtime) p.velocity = WarpZone_RefSys_TransformVelocity(e, p, avg_velocity); UpdateCSQCProjectile(p); } + targ_origin = avg_origin + 1000000000 * normalize(avg_velocity); // HUUUUUUGE } else { @@ -335,8 +336,8 @@ void W_Crylink_Attack (void) shots = autocvar_g_balance_crylink_primary_shots; pointparticles(particleeffectnum("crylink_muzzleflash"), w_shotorg, w_shotdir * 1000, shots); - proj = world; - while (counter < shots) + proj = prevproj = firstproj = world; + for(counter = 0; counter < shots; ++counter) { proj = spawn (); proj.reset = W_Crylink_Reset; @@ -412,8 +413,6 @@ void W_Crylink_Attack (void) CSQCProjectile(proj, TRUE, (proj.cnt ? PROJECTILE_CRYLINK_BOUNCING : PROJECTILE_CRYLINK), TRUE); other = proj; MUTATOR_CALLHOOK(EditProjectile); - - counter = counter + 1; } if(autocvar_g_balance_crylink_primary_joinspread != 0 || autocvar_g_balance_crylink_primary_jointime != 0) { @@ -440,8 +439,8 @@ void W_Crylink_Attack2 (void) shots = autocvar_g_balance_crylink_secondary_shots; pointparticles(particleeffectnum("crylink_muzzleflash"), w_shotorg, w_shotdir * 1000, shots); - proj = world; - while (counter < shots) + proj = prevproj = firstproj = world; + for(counter = 0; counter < shots; ++counter) { proj = spawn (); proj.reset = W_Crylink_Reset; @@ -505,8 +504,6 @@ void W_Crylink_Attack2 (void) CSQCProjectile(proj, TRUE, (proj.cnt ? PROJECTILE_CRYLINK_BOUNCING : PROJECTILE_CRYLINK), TRUE); other = proj; MUTATOR_CALLHOOK(EditProjectile); - - counter = counter + 1; } if(autocvar_g_balance_crylink_secondary_joinspread != 0 || autocvar_g_balance_crylink_secondary_jointime != 0) { diff --git a/qcsrc/server/w_fireball.qc b/qcsrc/server/w_fireball.qc index 3cc484da9..1c950aca4 100644 --- a/qcsrc/server/w_fireball.qc +++ b/qcsrc/server/w_fireball.qc @@ -1,5 +1,5 @@ #ifdef REGISTER_WEAPON -REGISTER_WEAPON(FIREBALL, w_fireball, IT_FUEL, 9, WEP_FLAG_RELOADABLE | 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 @@ -198,8 +198,6 @@ void W_Fireball_Attack1_Frame1() 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); @@ -249,8 +247,6 @@ void W_Fireball_Attack2() 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) { @@ -306,7 +302,7 @@ void spawnfunc_weapon_fireball (void) float w_fireball(float req) { - float ammo_amount; + //float ammo_amount; if (req == WR_AIM) { self.BUTTON_ATCK = FALSE; @@ -330,9 +326,7 @@ float w_fireball(float req) } 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)) @@ -364,32 +358,20 @@ float w_fireball(float req) 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 diff --git a/qcsrc/server/w_hagar.qc b/qcsrc/server/w_hagar.qc index 76103f347..f3a200f1c 100644 --- a/qcsrc/server/w_hagar.qc +++ b/qcsrc/server/w_hagar.qc @@ -174,7 +174,7 @@ void W_Hagar_Attack2_Load_Release (void) shots = self.hagar_load; missile = world; - while (counter < shots) + for(counter = 0; counter < shots; ++counter) { missile = spawn (); missile.owner = missile.realowner = self; @@ -223,8 +223,6 @@ void W_Hagar_Attack2_Load_Release (void) CSQCProjectile(missile, TRUE, PROJECTILE_HAGAR, TRUE); other = missile; MUTATOR_CALLHOOK(EditProjectile); - - counter = counter + 1; } weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_hagar_secondary_load_animtime, w_ready); diff --git a/qcsrc/server/w_hlac.qc b/qcsrc/server/w_hlac.qc index 2eb2918ed..62be05f0d 100644 --- a/qcsrc/server/w_hlac.qc +++ b/qcsrc/server/w_hlac.qc @@ -1,5 +1,5 @@ #ifdef REGISTER_WEAPON -REGISTER_WEAPON(HLAC, w_hlac, IT_CELLS, 6, WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "hlac", "hlac", _("Heavy Laser Assault Cannon")) +REGISTER_WEAPON(HLAC, w_hlac, IT_CELLS, 6, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "hlac", "hlac", _("Heavy Laser Assault Cannon")) #else #ifdef SVQC diff --git a/qcsrc/server/w_minelayer.qc b/qcsrc/server/w_minelayer.qc index 3ec50da50..5bf98d752 100644 --- a/qcsrc/server/w_minelayer.qc +++ b/qcsrc/server/w_minelayer.qc @@ -1,5 +1,5 @@ #ifdef REGISTER_WEAPON -REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 4, WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "minelayer", "minelayer", _("Mine Layer")) +REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 4, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "minelayer", "minelayer", _("Mine Layer")) #else #ifdef SVQC void W_Mine_Think (void); @@ -149,7 +149,7 @@ void W_Mine_ProximityExplode () float W_Mine_Count(entity e) { - float minecount; + float minecount = 0; entity mine; for(mine = world; (mine = find(mine, classname, "mine")); ) if(mine.realowner == e) minecount += 1; @@ -325,12 +325,10 @@ void W_Mine_Attack (void) self.minelayer_mines = W_Mine_Count(self); } -void spawnfunc_weapon_minelayer (void); // defined in t_items.qc - float W_PlacedMines(float detonate) { entity mine; - float minfound; + float minfound = 0; for(mine = world; (mine = find(mine, classname, "mine")); ) if(mine.realowner == self) { diff --git a/qcsrc/server/w_minstanex.qc b/qcsrc/server/w_minstanex.qc index 3fb480df4..1f1137e4b 100644 --- a/qcsrc/server/w_minstanex.qc +++ b/qcsrc/server/w_minstanex.qc @@ -1,8 +1,9 @@ #ifdef REGISTER_WEAPON -REGISTER_WEAPON(MINSTANEX, w_minstanex, IT_CELLS, 7, WEP_FLAG_HIDDEN | WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_TYPE_HITSCAN, BOT_PICKUP_RATING_HIGH, "minstanex", "minstanex", _("MinstaNex")) +REGISTER_WEAPON(MINSTANEX, w_minstanex, IT_CELLS, 7, WEP_FLAG_RELOADABLE | WEP_FLAG_CANCLIMB | WEP_FLAG_SUPERWEAPON | WEP_TYPE_HITSCAN, BOT_PICKUP_RATING_HIGH, "minstanex", "minstanex", _("MinstaNex")) #else #ifdef SVQC .float minstanex_lasthit; +.float jump_interval; void W_MinstaNex_Attack (void) { @@ -14,7 +15,9 @@ void W_MinstaNex_Attack (void) yoda = 0; damage_goodhits = 0; headshot = 0; + damage_headshotbonus = -1; // no extra damage, just count FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, 10000, 800, 0, 0, 0, 0, WEP_MINSTANEX); + damage_headshotbonus = 0; if(g_minstagib) { @@ -76,10 +79,6 @@ void W_MinstaNex_Attack (void) 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 @@ -89,22 +88,25 @@ void W_MinstaNex_Attack (void) .float minstagib_nextthink; .float minstagib_needammo; -void minstagib_stop_countdown(void) +void minstagib_stop_countdown(entity e) { - if (self.minstagib_needammo) - { - self.health = 100; - Send_CSQC_Centerprint_Generic_Expire(self, CPID_MINSTA_FINDAMMO); - } - self.minstagib_needammo = FALSE; + if (!e.minstagib_needammo) + return; + Send_CSQC_Centerprint_Generic_Expire(e, CPID_MINSTA_FINDAMMO); + e.minstagib_needammo = FALSE; } void minstagib_ammocheck(void) { if (time < self.minstagib_nextthink) return; - if (self.deadflag || gameover || self.ammo_cells > 0 || (self.items & IT_UNLIMITED_WEAPON_AMMO)) - minstagib_stop_countdown(); + if (self.deadflag || gameover) + minstagib_stop_countdown(self); + else if (self.ammo_cells > 0 || (self.items & IT_UNLIMITED_WEAPON_AMMO)) + { + minstagib_stop_countdown(self); + self.health = 100; + } else { self.minstagib_needammo = TRUE; @@ -207,8 +209,12 @@ float w_minstanex(float req) } else if (self.BUTTON_ATCK2) { - if (weapon_prepareattack(1, autocvar_g_balance_minstanex_laser_refire)) + if (self.jump_interval <= time) + if (weapon_prepareattack(1, -1)) { + // handle refire manually, so that primary and secondary can be fired without conflictions (important for minstagib) + self.jump_interval = time + autocvar_g_balance_minstanex_laser_refire * W_WeaponRateFactor(); + // decrease ammo for the laser? if(autocvar_g_balance_minstanex_laser_ammo) W_DecreaseAmmo(ammo_cells, autocvar_g_balance_minstanex_laser_ammo, autocvar_g_balance_minstanex_reload_ammo); diff --git a/qcsrc/server/w_nex.qc b/qcsrc/server/w_nex.qc index cdcabc866..51afdd00f 100644 --- a/qcsrc/server/w_nex.qc +++ b/qcsrc/server/w_nex.qc @@ -71,10 +71,6 @@ void W_Nex_Attack (float issecondary) //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); } diff --git a/qcsrc/server/w_porto.qc b/qcsrc/server/w_porto.qc index fb8e427cc..3134a8bb3 100644 --- a/qcsrc/server/w_porto.qc +++ b/qcsrc/server/w_porto.qc @@ -1,5 +1,5 @@ #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; @@ -29,10 +29,14 @@ void W_Porto_Fail (float failhard) } // 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 && !WEPSET_CONTAINS_EW(self.realowner, WEP_PORTO)) { setsize (self, '-16 -16 0', '16 16 32'); setorigin(self, self.origin + trace_plane_normal); @@ -77,6 +81,7 @@ void W_Porto_Touch (void) vector norm; // do not use PROJECTILE_TOUCH here + // FIXME but DO handle warpzones! if(other.classname == "portal") return; // handled by the portal @@ -109,6 +114,42 @@ void W_Porto_Touch (void) { 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) { @@ -126,6 +167,7 @@ void W_Porto_Touch (void) { sound(self, CH_SHOTS, "porto/unsupported.wav", VOL_BASE, ATTN_NORM); trace_plane_normal = norm; + Portal_ClearAll_PortalsOnly(self.realowner); W_Porto_Fail(0); } } @@ -143,23 +185,23 @@ void W_Porto_Touch (void) 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); W_SetupShot (self, FALSE, 4, "porto/fire.wav", CH_WEAPON_A, 0); // always shoot from the eye w_shotdir = v_forward; @@ -168,6 +210,7 @@ void W_Porto_Attack (void) //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"; @@ -180,13 +223,27 @@ void W_Porto_Attack (void) 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; @@ -199,7 +256,10 @@ void W_Porto_Attack (void) 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); } @@ -219,41 +279,64 @@ float w_porto(float req) { 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); + } } - } - v_angle_save = self.v_angle; - if(self.porto_v_angle_held) - makevectors(self.porto_v_angle); // override the previously set angles + else + { + if(self.BUTTON_ATCK2) + { + self.porto_v_angle = self.v_angle; + self.porto_v_angle_held = 1; - 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); + ClientData_Touch(self); + } + } + 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); + } } } else if (req == WR_PRECACHE) diff --git a/qcsrc/server/w_rifle.qc b/qcsrc/server/w_rifle.qc index 89cb37257..1c5f766d7 100644 --- a/qcsrc/server/w_rifle.qc +++ b/qcsrc/server/w_rifle.qc @@ -1,5 +1,5 @@ #ifdef REGISTER_WEAPON -REGISTER_WEAPON(RIFLE, w_rifle, IT_NAILS, 7, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN, BOT_PICKUP_RATING_MID, "campingrifle", "rifle", _("Rifle")) +REGISTER_WEAPON(RIFLE, w_rifle, IT_NAILS, 7, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_HITSCAN, BOT_PICKUP_RATING_MID, "campingrifle", "rifle", _("Rifle")) #else #ifdef SVQC diff --git a/qcsrc/server/w_rocketlauncher.qc b/qcsrc/server/w_rocketlauncher.qc index 723389e71..42ae90d74 100644 --- a/qcsrc/server/w_rocketlauncher.qc +++ b/qcsrc/server/w_rocketlauncher.qc @@ -63,58 +63,6 @@ void W_Rocket_DoRemoteExplode () remove (self); } -entity FindLaserTarget(entity e, float dist_variance, float dot_variance) -{ - entity head, selected; - vector dir; - float dist, maxdist,// bestdist, - dot,// bestdot, - points, bestpoints; - //bestdist = 9999; - //bestdot = -2; - bestpoints = 0; - maxdist = 800; - selected = world; - - makevectors(e.angles); - - head = find(world, classname, "laser_target"); - while(head) - { - points = 0; - dir = normalize(head.origin - self.origin); - dot = dir * v_forward; - dist = vlen(head.origin - self.origin); - if(dist > maxdist) - dist = maxdist; - - // gain points for being in front - points = points + ((dot+1)*0.5) * 500 - * (1 + crandom()*dot_variance); - // gain points for being close away - points = points + (1 - dist/maxdist) * 1000 - * (1 + crandom()*dot_variance); - - traceline(e.origin, head.origin, TRUE, self); - if(trace_fraction < 1) - { - points = 0; - } - - if(points > bestpoints)//random() > 0.5)// - { - bestpoints = points; - selected = head; - } - - head = find(head, classname, "laser_target"); - } - - //bprint(selected.realowner.netname); - //bprint("\n"); - return selected; -} - void W_Rocket_RemoteExplode() { if(self.realowner.deadflag == DEAD_NO) @@ -134,6 +82,8 @@ vector rocket_steerto(vector thisdir, vector goaldir, float maxturn_cos) { if(thisdir * goaldir > maxturn_cos) return goaldir; + if(thisdir * goaldir < -0.9998) // less than 1 degree and opposite + return thisdir; // refuse to guide (better than letting a numerical error happen) float f, m2; vector v; // solve: @@ -151,6 +101,15 @@ vector rocket_steerto(vector thisdir, vector goaldir, float maxturn_cos) v = solve_quadratic(m2 - f * f, 2 * f * (m2 - 1), m2 - 1); return normalize(thisdir + goaldir * v_y); // the larger solution! } +// assume thisdir == -goaldir: +// f == -1 +// v = solve_qadratic(m2 - 1, -2 * (m2 - 1), m2 - 1) +// (m2 - 1) x^2 - 2 * (m2 - 1) * x + (m2 - 1) = 0 +// x^2 - 2 * x + 1 = 0 +// (x - 1)^2 = 0 +// x = 1 +// normalize(thisdir + goaldir) +// normalize(0) void W_Rocket_Think (void) { diff --git a/qcsrc/server/w_seeker.qc b/qcsrc/server/w_seeker.qc index c4c08bb51..f5a3e3b16 100644 --- a/qcsrc/server/w_seeker.qc +++ b/qcsrc/server/w_seeker.qc @@ -1,5 +1,5 @@ #ifdef REGISTER_WEAPON -REGISTER_WEAPON(SEEKER, w_seeker, IT_ROCKETS, 8, WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "seeker", "seeker", _("T.A.G. Seeker")) +REGISTER_WEAPON(SEEKER, w_seeker, IT_ROCKETS, 8, WEP_FLAG_MUTATORBLOCKED | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "seeker", "seeker", _("T.A.G. Seeker")) #else #ifdef SVQC //.float proxytime; = autoswitch @@ -78,6 +78,8 @@ void Seeker_Missile_Think() newdir = normalize(olddir + desireddir * turnrate); // take the average of the 2 directions; not the best method but simple & easy self.velocity = newdir * spd; // make me fly in the new direction at my flight speed } + else + dist = 0; // Proxy if (autocvar_g_balance_seeker_missile_proxy) @@ -308,6 +310,7 @@ void Seeker_Attack() { entity tracker, closest_target; + closest_target = world; for(tracker = world; (tracker = find(tracker, classname, "tag_tracker")); ) if (tracker.realowner == self) { if (closest_target) @@ -393,7 +396,7 @@ void Seeker_Tag_Explode () { //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); } @@ -421,7 +424,7 @@ void Seeker_Tag_Touch() 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) { diff --git a/qcsrc/server/w_tuba.qc b/qcsrc/server/w_tuba.qc index a02061e8b..f19a50208 100644 --- a/qcsrc/server/w_tuba.qc +++ b/qcsrc/server/w_tuba.qc @@ -160,6 +160,7 @@ float Tuba_GetNote(entity pl, float hittype) case 2: note = -5; break; // G case 3: note = -4; break; // G# case 4: note = +5; break; // e# + default: case 5: note = 0; break; // c case 6: note = +2; break; // d case 7: note = +3; break; // eb diff --git a/qcsrc/warpzonelib/client.qc b/qcsrc/warpzonelib/client.qc index a44b37974..6f7561234 100644 --- a/qcsrc/warpzonelib/client.qc +++ b/qcsrc/warpzonelib/client.qc @@ -1,11 +1,16 @@ void WarpZone_Fade_PreDraw() { - if(self.warpzone_fadestart) - { - vector org; - org = getpropertyvec(VF_ORIGIN); + vector org; + org = getpropertyvec(VF_ORIGIN); + if( +#ifdef COMPAT_XON060_DONTCRASH_CHECKPVS + cvar_string("g_xonoticversion") != "0.5.0" && + cvar_string("g_xonoticversion") != "0.6.0" && +#endif + !checkpvs(org, self)) // this makes sense as long as we don't support recursive warpzones + self.alpha = 0; + else if(self.warpzone_fadestart) self.alpha = bound(0, (self.warpzone_fadeend - vlen(org - self.origin - 0.5 * (self.mins + self.maxs))) / (self.warpzone_fadeend - self.warpzone_fadestart), 1); - } else self.alpha = 1; //print(sprintf("%v <-> %v\n", view_origin, self.origin + 0.5 * (self.mins + self.maxs))); @@ -79,10 +84,7 @@ void WarpZone_Read(float isnew) // how to draw // engine currently wants this - if(self.warpzone_fadestart) - self.predraw = WarpZone_Fade_PreDraw; - else - self.drawmask = MASK_NORMAL; + self.predraw = WarpZone_Fade_PreDraw; } void WarpZone_Camera_Read(float isnew) @@ -139,10 +141,7 @@ void WarpZone_Camera_Read(float isnew) // how to draw // engine currently wants this - if(self.warpzone_fadestart) - self.predraw = WarpZone_Fade_PreDraw; - else - self.drawmask = MASK_NORMAL; + self.predraw = WarpZone_Fade_PreDraw; } void CL_RotateMoves(vector ang) = #638; diff --git a/qcsrc/warpzonelib/common.qc b/qcsrc/warpzonelib/common.qc index f09f25bdc..7bbebdc9c 100644 --- a/qcsrc/warpzonelib/common.qc +++ b/qcsrc/warpzonelib/common.qc @@ -334,6 +334,7 @@ void WarpZone_TraceToss_ThroughZone(entity e, entity forent, entity zone, WarpZo o0 = e.origin; v0 = e.velocity; + g = cvar("sv_gravity") * e.gravity; WarpZone_trace_forent = forent; WarpZone_trace_firstzone = world; @@ -376,7 +377,6 @@ void WarpZone_TraceToss_ThroughZone(entity e, entity forent, entity zone, WarpZo e.velocity = WarpZone_TransformVelocity(wz, e.velocity); } WarpZone_MakeAllSolid(); - g = cvar("sv_gravity") * e.gravity; i = 16; for(;;) { diff --git a/qcsrc/warpzonelib/server.qc b/qcsrc/warpzonelib/server.qc index 6c27842ef..9b94640b5 100644 --- a/qcsrc/warpzonelib/server.qc +++ b/qcsrc/warpzonelib/server.qc @@ -1,4 +1,6 @@ -#define REMOVEHACK +#ifdef WARPZONELIB_KEEPDEBUG +#define WARPZONELIB_REMOVEHACK +#endif // for think function .vector warpzone_save_origin; @@ -257,7 +259,7 @@ float WarpZone_Send(entity to, float sendflags) float WarpZone_Camera_Send(entity to, float sendflags) { - float f; + float f = 0; WriteByte(MSG_ENTITY, ENT_CLIENT_WARPZONE_CAMERA); if(self.warpzone_fadestart) @@ -300,6 +302,7 @@ float WarpZone_Camera_Send(entity to, float sendflags) return TRUE; } +#ifdef WARPZONELIB_KEEPDEBUG float WarpZone_CheckProjectileImpact(entity player) { vector o0, v0; @@ -317,7 +320,7 @@ float WarpZone_CheckProjectileImpact(entity player) if(!wz) return 0; -#ifdef REMOVEHACK +#ifdef WARPZONELIB_REMOVEHACK print("impactfilter found something - and it no longer gets handled correctly - please tell divVerent whether anything behaves broken now\n"); #else print("impactfilter found something - and it even gets handled correctly - please tell divVerent that this code apparently gets triggered again\n"); @@ -326,7 +329,7 @@ float WarpZone_CheckProjectileImpact(entity player) print("Origin: ", vtos(player.origin), "\n"); print("Velocity: ", vtos(player.velocity), "\n"); -#ifdef REMOVEHACK +#ifdef WARPZONELIB_REMOVEHACK return 0; #else // retry previous move @@ -365,16 +368,23 @@ float WarpZone_CheckProjectileImpact(entity player) return +1; #endif } +#endif + float WarpZone_Projectile_Touch() { - float f; if(other.classname == "trigger_warpzone") return TRUE; // no further impacts if we teleported this frame! + // this is because even if we did teleport, the engine still may raise + // touch events for the previous location + // engine now aborts moves on teleport, so this SHOULD not happen any more + // but if this is called from TouchAreaGrid of the projectile moving, + // then this won't do if(time == self.warpzone_teleport_time) return TRUE; +#ifdef WARPZONELIB_KEEPDEBUG // this SEEMS to not happen at the moment, but if it did, it would be more reliable { float save_dpstartcontents; @@ -403,6 +413,7 @@ float WarpZone_Projectile_Touch() save_ent = trace_ent; save_inopen = trace_inopen; save_inwater = trace_inwater; + float f; if((f = WarpZone_CheckProjectileImpact(self)) != 0) return (f > 0); trace_dpstartcontents = save_dpstartcontents; @@ -419,6 +430,7 @@ float WarpZone_Projectile_Touch() trace_inopen = save_inopen; trace_inwater = save_inwater; } +#endif if(WarpZone_Projectile_Touch_ImpactFilter_Callback()) return TRUE; diff --git a/scripts/mnex.shader b/scripts/mnex.shader index 718c93ed4..da5850644 100644 --- a/scripts/mnex.shader +++ b/scripts/mnex.shader @@ -2,6 +2,7 @@ MNex-Diffuse { dpglossexponentmod 64 dpreflectcube env/exomorph/exomorph + dpoffsetmapping - 0.125 match8 128 { map models/weapons/mnex.tga rgbgen lightingDiffuse diff --git a/scripts/ok_player.shader b/scripts/ok_player.shader new file mode 100644 index 000000000..2d488562f --- /dev/null +++ b/scripts/ok_player.shader @@ -0,0 +1,9 @@ +okplayer +{ + dpglossexponentmod 8 + dpreflectcube env/exomorph/exomorph + { + map models/ok_player/okplayer.tga + rgbgen lightingDiffuse + } +} diff --git a/scripts/okweapons.shader b/scripts/okweapons.shader new file mode 100644 index 000000000..8873bf2ff --- /dev/null +++ b/scripts/okweapons.shader @@ -0,0 +1,31 @@ +minsta +{ + dpglossexponentmod 64 + dpreflectcube env/exomorph/exomorph + { + map models/weapons/okweapons.tga + rgbgen lightingDiffuse + } +} + +okrocketthrust +{ + deformVertexes autosprite2 + cull none + { + map models/weapons/okrocketthrust.tga + tcmod page 4 4 0.01 + blendfunc add + } +} + +okrocketthrust2 +{ + deformVertexes autosprite + { + map models/weapons/okrocketthrust.tga + tcmod page 4 4 0.01 + blendfunc add + } + +} diff --git a/scripts/weapons.shader b/scripts/weapons.shader index 1243955c8..9749b51cc 100644 --- a/scripts/weapons.shader +++ b/scripts/weapons.shader @@ -9,6 +9,7 @@ electro nexgun { dpreflectcube cubemaps/default/sky + dpoffsetmapping - 0.3 match8 64 { map textures/nexgun.tga rgbgen lightingDiffuse @@ -62,11 +63,11 @@ rl rgbgen lightingDiffuse } } -laser +models/weapons/laser { dpreflectcube cubemaps/default/sky { - map textures/laser.tga + map models/weapons/laser.tga rgbgen lightingDiffuse } } diff --git a/sound/overkill/grenadebip.ogg b/sound/overkill/grenadebip.ogg new file mode 100644 index 000000000..54cdea4a5 Binary files /dev/null and b/sound/overkill/grenadebip.ogg differ diff --git a/sound/player/robot/coms/attack.ogg b/sound/player/robot/coms/attack.ogg new file mode 100644 index 000000000..6523c3efc Binary files /dev/null and b/sound/player/robot/coms/attack.ogg differ diff --git a/sound/player/robot/coms/attackinfive.ogg b/sound/player/robot/coms/attackinfive.ogg new file mode 100644 index 000000000..e0095d01a Binary files /dev/null and b/sound/player/robot/coms/attackinfive.ogg differ diff --git a/sound/player/robot/coms/coverme.ogg b/sound/player/robot/coms/coverme.ogg new file mode 100644 index 000000000..16d5716c3 Binary files /dev/null and b/sound/player/robot/coms/coverme.ogg differ diff --git a/sound/player/robot/coms/defend.ogg b/sound/player/robot/coms/defend.ogg new file mode 100644 index 000000000..9f221bb22 Binary files /dev/null and b/sound/player/robot/coms/defend.ogg differ diff --git a/sound/player/robot/coms/freelance1.ogg b/sound/player/robot/coms/freelance1.ogg new file mode 100644 index 000000000..602a44399 Binary files /dev/null and b/sound/player/robot/coms/freelance1.ogg differ diff --git a/sound/player/robot/coms/freelance2.ogg b/sound/player/robot/coms/freelance2.ogg new file mode 100644 index 000000000..f197e72bb Binary files /dev/null and b/sound/player/robot/coms/freelance2.ogg differ diff --git a/sound/player/robot/coms/incoming.ogg b/sound/player/robot/coms/incoming.ogg new file mode 100644 index 000000000..ab44b4509 Binary files /dev/null and b/sound/player/robot/coms/incoming.ogg differ diff --git a/sound/player/robot/coms/meet.ogg b/sound/player/robot/coms/meet.ogg new file mode 100644 index 000000000..971a3116f Binary files /dev/null and b/sound/player/robot/coms/meet.ogg differ diff --git a/sound/player/robot/coms/needhelp1.ogg b/sound/player/robot/coms/needhelp1.ogg new file mode 100644 index 000000000..bb71c34ea Binary files /dev/null and b/sound/player/robot/coms/needhelp1.ogg differ diff --git a/sound/player/robot/coms/needhelp2.ogg b/sound/player/robot/coms/needhelp2.ogg new file mode 100644 index 000000000..3ac2191a7 Binary files /dev/null and b/sound/player/robot/coms/needhelp2.ogg differ diff --git a/sound/player/robot/coms/seenflag.ogg b/sound/player/robot/coms/seenflag.ogg new file mode 100644 index 000000000..13b3e3de7 Binary files /dev/null and b/sound/player/robot/coms/seenflag.ogg differ diff --git a/sound/player/robot/coms/taunt1.ogg b/sound/player/robot/coms/taunt1.ogg new file mode 100644 index 000000000..25dccee20 Binary files /dev/null and b/sound/player/robot/coms/taunt1.ogg differ diff --git a/sound/player/robot/coms/taunt2.ogg b/sound/player/robot/coms/taunt2.ogg new file mode 100644 index 000000000..624d56124 Binary files /dev/null and b/sound/player/robot/coms/taunt2.ogg differ diff --git a/sound/player/robot/coms/taunt3.ogg b/sound/player/robot/coms/taunt3.ogg new file mode 100644 index 000000000..12f4aa24b Binary files /dev/null and b/sound/player/robot/coms/taunt3.ogg differ diff --git a/sound/player/robot/coms/teamshoot1.ogg b/sound/player/robot/coms/teamshoot1.ogg new file mode 100644 index 000000000..3e152f45d Binary files /dev/null and b/sound/player/robot/coms/teamshoot1.ogg differ diff --git a/sound/player/robot/coms/teamshoot2.ogg b/sound/player/robot/coms/teamshoot2.ogg new file mode 100644 index 000000000..773518834 Binary files /dev/null and b/sound/player/robot/coms/teamshoot2.ogg differ diff --git a/sound/player/robot/coms/teamshoot3.ogg b/sound/player/robot/coms/teamshoot3.ogg new file mode 100644 index 000000000..8ecffab7e Binary files /dev/null and b/sound/player/robot/coms/teamshoot3.ogg differ diff --git a/sound/player/robot/player/death1.ogg b/sound/player/robot/player/death1.ogg new file mode 100644 index 000000000..f95bb6834 Binary files /dev/null and b/sound/player/robot/player/death1.ogg differ diff --git a/sound/player/robot/player/death2.ogg b/sound/player/robot/player/death2.ogg new file mode 100644 index 000000000..6c5d6418f Binary files /dev/null and b/sound/player/robot/player/death2.ogg differ diff --git a/sound/player/robot/player/death3.ogg b/sound/player/robot/player/death3.ogg new file mode 100644 index 000000000..db108b8f4 Binary files /dev/null and b/sound/player/robot/player/death3.ogg differ diff --git a/sound/player/robot/player/drown.ogg b/sound/player/robot/player/drown.ogg new file mode 100644 index 000000000..76e648804 Binary files /dev/null and b/sound/player/robot/player/drown.ogg differ diff --git a/sound/player/robot/player/fall.ogg b/sound/player/robot/player/fall.ogg new file mode 100644 index 000000000..6120628e9 Binary files /dev/null and b/sound/player/robot/player/fall.ogg differ diff --git a/sound/player/robot/player/falling.ogg b/sound/player/robot/player/falling.ogg new file mode 100644 index 000000000..b86257a49 Binary files /dev/null and b/sound/player/robot/player/falling.ogg differ diff --git a/sound/player/robot/player/gasp.ogg b/sound/player/robot/player/gasp.ogg new file mode 100644 index 000000000..e5d848aaf Binary files /dev/null and b/sound/player/robot/player/gasp.ogg differ diff --git a/sound/player/robot/player/jump.ogg b/sound/player/robot/player/jump.ogg new file mode 100644 index 000000000..5b04c29a4 Binary files /dev/null and b/sound/player/robot/player/jump.ogg differ diff --git a/sound/player/robot/player/pain100.ogg b/sound/player/robot/player/pain100.ogg new file mode 100644 index 000000000..b6e799ac8 Binary files /dev/null and b/sound/player/robot/player/pain100.ogg differ diff --git a/sound/player/robot/player/pain25.ogg b/sound/player/robot/player/pain25.ogg new file mode 100644 index 000000000..0a1878ff7 Binary files /dev/null and b/sound/player/robot/player/pain25.ogg differ diff --git a/sound/player/robot/player/pain50.ogg b/sound/player/robot/player/pain50.ogg new file mode 100644 index 000000000..677fc4b18 Binary files /dev/null and b/sound/player/robot/player/pain50.ogg differ diff --git a/sound/player/robot/player/pain75.ogg b/sound/player/robot/player/pain75.ogg new file mode 100644 index 000000000..66d0311b3 Binary files /dev/null and b/sound/player/robot/player/pain75.ogg differ diff --git a/sound/weapons/weaponpickup_new_toys.ogg b/sound/weapons/weaponpickup_new_toys.ogg new file mode 100644 index 000000000..34660eef0 Binary files /dev/null and b/sound/weapons/weaponpickup_new_toys.ogg differ diff --git a/textures/laser.tga b/textures/laser.tga deleted file mode 100644 index c0f2bc78c..000000000 Binary files a/textures/laser.tga and /dev/null differ diff --git a/textures/laser_bump.tga b/textures/laser_bump.tga deleted file mode 100644 index 2180e6ec8..000000000 Binary files a/textures/laser_bump.tga and /dev/null differ diff --git a/textures/laser_gloss.tga b/textures/laser_gloss.tga deleted file mode 100644 index fc548404b..000000000 Binary files a/textures/laser_gloss.tga and /dev/null differ diff --git a/textures/laser_glow.tga b/textures/laser_glow.tga deleted file mode 100644 index 90e32e723..000000000 Binary files a/textures/laser_glow.tga and /dev/null differ diff --git a/textures/laser_shirt.tga b/textures/laser_shirt.tga deleted file mode 100644 index 279c0e7fb..000000000 Binary files a/textures/laser_shirt.tga and /dev/null differ diff --git a/tooltips.db b/tooltips.db index 5e2a0e83b..1301bda97 100644 --- a/tooltips.db +++ b/tooltips.db @@ -100,6 +100,7 @@ \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) @@ -121,7 +122,7 @@ \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) @@ -129,7 +130,6 @@ \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) @@ -147,8 +147,7 @@ \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\- diff --git a/tooltips.db.de b/tooltips.db.de index 08a30a97b..ed455da10 100644 --- a/tooltips.db.de +++ b/tooltips.db.de @@ -2,80 +2,80 @@ \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\- @@ -88,78 +88,78 @@ \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\- @@ -171,39 +171,39 @@ \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\- @@ -211,16 +211,17 @@ \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 diff --git a/tooltips.db.es b/tooltips.db.es index 21bc586bc..17c8939df 100644 --- a/tooltips.db.es +++ b/tooltips.db.es @@ -125,7 +125,7 @@ \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) diff --git a/tooltips.db.fr b/tooltips.db.fr index e365df9ba..34f067806 100644 --- a/tooltips.db.fr +++ b/tooltips.db.fr @@ -28,6 +28,7 @@ \sv_vote_simple_majority_factor\À partir de 51% de oui seulement, un vote est gagné \XonoticMultiplayerDialog/Advanced settings...\Paramètres du serveur avancés \XonoticMultiplayerDialog/Mutators...\Spéciales et arènes d'une seule arme +\g_dodging\Enable dodging \g_cloaked\Tous les joueurs sont presque invisibles \g_footsteps\Activer les bruitages de pas \g_midair\Il faut que votre adversaire soit en l'air pour lui faire mal @@ -62,12 +63,10 @@ \cl_gunalign\Position de l'arme à l'écran, reconnection au serveur nécessaire pour prendre effet \crosshair_per_weapon\Set a different crosshair for each weapon, good if you play without weapon models -\crosshair_color_override\Also set the color of the crosshair depending on the weapon you are currently holding +\crosshair_color_per_weapon\Set the color of the crosshair depending on the weapon you are currently holding \crosshair_size\Ajuster la taille du viseur \crosshair_color_alpha\Ajuster l'opacité du viseur -\crosshair_color_red\Couleur: intensité du rouge dans le viseur -\crosshair_color_green\Couleur: intensité du vert dans le viseur -\crosshair_color_blue\Couleur: intensité du bleu dans le viseur +\crosshair_color\Ajuster le couleur du viseur \sbar_hudselector\Utiliser l'ancienne interface HUD \XonoticMultiplayerDialog/Waypoints setup...\- \_cl_name\Pseudonyme utilisé pour vous reconnaître dans le jeu @@ -95,14 +94,13 @@ \m_pitch\Inverser la souris sur l'axe vertical (mode jeu d'avion) \vid_dgamouse\Utiliser une souris DGA \con_closeontoggleconsole\Autoriser la fermeture de console avec la touche d'ouverture de console (sinon, Shift+Échap) -\sbar_showbinds\Afficher les actions possibles avec des touches/commandes -\cl_showpressedkeys\Afficher les touches qu'un joueur est en train d'appuyer \XonoticSettingsDialog/Vidéo\Video settings \vid_width\Résolution de l'écran \vid_bitsperpixel\Profondeur des couleurs: 16 bits est plus rapide, mais 32 bits est de meilleure qualité (recommandé) \vid_fullscreen\Activer le mode plein écran (par défaut: activé) \vid_vsync\Activer la syncronisation verticale pour éviter des problèmes d'affichage, limite le nombre maximum d'images par seconde (par défaut: désactivé) +\gl_texture_anisotropy\Qualité du filtrage anistrope (par défaut: 1x) \r_glsl\Activer les Shaders OpenGL 2.0 pour des effets de lumière améliorés \gl_vbo\Utiliser les VBOs pour stocker les modèles 3D statiques dans la mémoire pour une meilleure performance (par défaut: Points et Triangles) \r_depthfirst\Éviter des problèmes de profondeur de rendu en faisant un rendu de profondeur de la carte/joueurs avant le rendu "standard" (par défaut: désactivé) @@ -124,7 +122,7 @@ \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) @@ -132,7 +130,6 @@ \cl_gentle\Remplacer les effets gore par des effets moins violents (par défaut: désactivé) \cl_nogibs\Réduire le nombre de Gibs ou les désactiver totalement (par défaut: beaucoup) \v_kicktime\Faire trembler la vue en recevant des dégâts (par défaut: 0) -\gl_texture_anisotropy\Qualité du filtrage anistrope (par défaut: 1x) \r_glsl_deluxemapping\Utiliser les effets lumineux avancés (par défaut: activé) \r_shadow_gloss\Utiliser le reflet des textures (par défaut: activé) \gl_flashblend\Enable faster but uglier dynamic lights by rendering bright coronas instead of real dynamic lights (default: disabled) @@ -150,8 +147,7 @@ \r_coronas_occlusionquery\Prendre en compte la visibilité pour les effets "Brillance Lumière" (par défaut: activé) \r_bloom\Activer un effet d'éblouissement plus beau, mais gourmand (par défaut: désactivé) \r_hdr\Activer un effet d'ébloissement encore plus beau, mais encore plus gourmand (par défaut: désactivé) -\r_motionblur\Intensité du flou de mouvement - 0.5 est recommandé -\r_damageblur\Intensité du flou en recevant des dégâts - 0.4 est recommandé +\r_motionblur\Intensité du flou de mouvement - 0.4 est recommandé \XonoticSettingsDialog/Audio\Audio settings \mastervolume\- @@ -178,7 +174,7 @@ \XonoticSettingsDialog/Réseau\Paramètres du jeu en réseau \cl_movement\Activer la prédiction des mouvements du joueur pour éviter les saccades lors de parties en réseau \cl_nolerp\Algorithme pour éviter les saccades lors de parties en réseau -\shownetgraph\Show a +\shownetgraph\Show a graph of packet sizes and other information \_cl_rate\Specify your network speed with this slider \cl_netfps\Nombre maximum de paquets à envoyer au server chaque seconde \cl_curl_maxdownloads\Nombre maximum de téléchargements simultanés @@ -186,32 +182,17 @@ \cl_port\Forcer le client à passer par le port défini (UDP) s'il n'est pas 0 \XonoticSettingsDialog/Autres\Autres paramètres +\menu_tooltips\Menu tooltips: disabled, standard or advanced (also shows cvar or console command bound to the menu item) \showtime\Montrer l'heure, utile pour les captures d'écran \showdate\Montrer la date, utile pour les captures d'écran \showfps\Montrer le nombre d'Images Par Seconde rendues (Frames Per Second = FPS) -\cl_showspeed\Montrer la vitesse du joueur -\cl_showspeed_unit\Séléctionner l'unité de mesure de la vitesse (qu/s = in/s) -\cl_showacceleration\Montrer l'accélération du joueur -\cl_showacceleration_scale\Éxagérer l'accéléromètre avec ce facteur pour qu'il soit plus visible \XonoticSettingsDialog/Advanced settings...\Paramètres avancés pour configuer le jeu dans ses moindres détails \g_friendlyfire\Pourcentage de dégâts infligés aux équipiers si vous les touchez \g_mirrordamage\Pourcentage de dégâts infligés aux équipiers qui vous sera renvoyé \g_tdm_teams_override\Écraser le nombre d'équipes défini par la carte -\cl_teamradar_position\- -\cl_teamradar_size\- -\cl_teamradar_zoommode\- -\cl_teamradar_rotation\- -\cl_teamradar_scale\- -\cl_teamradar_foreground_alpha\- -\cl_teamradar_background_alpha\Opacité de l'arrière-plan du radar \viewsize\Enable/Désactiver l'arrière plan de l'interface -\sbar_alpha_bg\Opacité de l'arrière plan de l'interface -\sbar_color_bg_r\Intensité du rouge dans l'arrière-plan de l'interface -\sbar_color_bg_g\Intensité du vert dans l'arrière-plan de l'interface -\sbar_color_bg_b\Intensité du bleu dans l'arrière-plan de l'interface -\sbar_color_bg_team\Saturation de la couleur d'équipe avec l'arrière-plan de l'interface \cl_hidewaypoints\Montrer/Cacher les Waypoints (flèches 3D) \g_waypointsprite_scale\Ajuster la taille des Waypoints \g_waypointsprite_alpha\Ajuster l'opacité des Waypoints diff --git a/tooltips.db.hu b/tooltips.db.hu index dffb1853c..81347c757 100644 --- a/tooltips.db.hu +++ b/tooltips.db.hu @@ -1,78 +1,269 @@ -0 +0 +//FŐMENÜ \XonoticSingleplayerDialog\Egyjátékos mód vagy azonnali játék gépi vezérlésű botok ellen +\XonoticMultiplayerDialog\Játék interneten keresztül, helyi hálózaton, demók megtekintése, vagy a karaktered beállításainak finomítása +\XonoticSettingsDialog\A játék beállításainak megváltoztatása: billentyűzetkiosztás, képernyőfelbontás, vizuális effektek, audió, stb. - -\XonoticMultiplayerDialog\Meccsek neten, a barátaid elleni helyi hálózaton, demó nézés, vagy a karaktered beállításainak finomítása +//TÖBBJÁTÉKOS MENÜ SZERVEREK FÜL \XonoticMultiplayerDialog/Szerverek keresése a játékhoz -\menu_slist_showempty\Üres szerverek mutatása -\menu_slist_showfull\Teli szerverek is mutatása, amelyeken nincs már szabad férőhely -\net_slist_pause\Megállítja a szerver lista frissítését, hogy a szerverek ne 'ugráljanak össze-vissza' a listában -\XonoticMultiplayerDialog/Adatok...\Több adat az éppen kiválasztott szerverről -\XonoticMultiplayerDialog/Könyvjelzők\Az éppen kiválasztott szerver megjelölése, hogy a jövőben könnyebben megtalálható legyen +\menu_slist_showempty\Üres szerverek mutatása +\menu_slist_showfull\Teli szerverek mutatása, amelyeken nincs már szabad férőhely +\net_slist_pause\Megállítja a szerver lista frissítését, hogy a szerverek ne "ugráljanak össze-vissza" a listában +\XonoticMultiplayerDialog/Szerverek\Internetes és helyi hálózaton indított szerverek böngészése \XonoticMultiplayerDialog/Létrehozás\Saját játékszerver indítása -\XonoticMultiplayerDialog/Demók\Demók böngészése és megtekintése -\XonoticMultiplayerDialog/Játékos beállítások\Játékoskarakter testreszabása +\XonoticMultiplayerDialog/Törlés\A szűkítési paraméterek törlése +\XonoticMultiplayerDialog/Csatlakozok!\Csatlakozás a kiválasztott szerverhez. Sok sikert és jó szórakozást! +\XonoticMultiplayerDialog/Könyvjelző\Az éppen kiválasztott szerver megjelölése, hogy a jövőben könnyebben megtaláld +\XonoticMultiplayerDialog/További infó\Még több információ megjelenítése az éppen kiválasztott szerverről -\XonoticTeamSelectDialog/A 'legjobb' csapathoz csatlakozás (auto-választás)\Önműködő csapatválasztás (ajánlott) -\XonoticTeamSelectDialog/piros\Csatlakozás a vörös csapathoz -\XonoticTeamSelectDialog/kék\Csatlakozás a kék csapathoz -\XonoticTeamSelectDialog/sárga\Csatlakozás a sárga csapathoz -\XonoticTeamSelectDialog/rózsaszín\Csatlakozás a rózsaszín csapathoz - -\timelimit_override\Időhatár percben, aminek elérése után vége a meccsnek +//TÖBBJÁTÉKOS MENÜ LÉTREHOZÁS FÜL +\timelimit_override\Időhatár percekben mérve, aminek elérése után vége a meccsnek \fraglimit_override\Gyilokok száma, amit a meccs vége előtt el kell érni -\menu_maxplayers\A játékosok és botok maximális összszáma, ahányan egyszerre a szerverre csatlakozhatnak +\menu_maxplayers\A játékosok és botok maximális összlétszáma, ahányan egyszerre a szerverre csatlakozhatnak \bot_number\Botok száma a szervereden \skill\A botok ügyességi szintjének meghatározása -\g_maplist_votable\Pályaválasztásnál megjelenő lehetőségek száma egy meccs után -\sv_vote_simple_majority_factor\Egyszerű többség nyerjen egy szavazásban -\XonoticMultiplayerDialog/Haladó beállítások...\Haladó szerverbeállítások +\XonoticMultiplayerDialog/Az összes\Minden pálya kiválasztása +\XonoticMultiplayerDialog/Egyik sem\Egyik pálya sincs kiválasztva + +//TÖBBJÁTÉKOS MENÜ LÉTREHOZÁS FÜL MÓDOSÍTÓK ABLAK \XonoticMultiplayerDialog/Módosítók...\Módosítók és fegyverarénák \g_dodging\El tudsz szökkenni jobbra-balra a lövések elől \g_cloaked\Minden játékos majdnem láthatatlan -\g_footsteps\Lépészaj engedélyezése +\g_footsteps\Enable footstep sounds \g_midair\Csak addig tudod az ellenséged megsebezni, amíg az levegőben tartózkodik \g_vampire\Annyi pont adódik életerődhöz, amennyi sebzést a másiknak okozol \g_bloodloss\Életerőpont, ami alatt a játékos elkábul a vérveszteségtől \sv_gravity\A tárgyak lassabban esnek a földre, kisebb érték alacsonyabb gravitációt jelent \g_grappling_hook\A játékosok arzenáljában a vonóhorog is szerepelni fog \g_jetpack\A játékosok hátán sugárhajtóműves hátizsák van +\g_invincible_projectiles\A már kilőtt lövedékeket (pl. rakéta, gránát) nem lehet elpusztítani +\g_rocket_flying\Rakétarepülés engedélyezése. Tartsd lenyomva a másodlagos tüzelés gombot, és lőj magad alá a rakétavetővel! \g_pinata\A játékosok eldobnak minden fegyvert, amit birtokoltak a haláluk előtt \g_weapon_stay\A fegyverek a helyükön maradnak, még azután is, hogy valaki felvette őket -\g_weaponarena\ A kiválasztott fegyver aréna minden játékosnak ugyanazt a fegyvert biztosítja korlátlan lőszerrel, és letiltja minden más fegyver felvételét +\g_weaponarena\A kiválasztott fegyver aréna minden játékosnak ugyanazt a fegyvert biztosítja korlátlan lőszerrel, és letiltja minden más fegyver felvételét \menu_weaponarena_with_laser\A lézer is engedélyezett a fegyver arénában \g_minstagib\A játékosok egy Minstanex-et kapnak, ami egy azonnal ölő mesterlövész fegyver. Ha a játékos kifogy a lőszerből, 10 másodperce van muníciót találni, vagy meghal. A másodlagos tűz mód a lézer, amely nem okoz kárt, de jól jön trükkös ugrások végrehajtásánál \g_nix\Xonotic felvehető fegyverek nélkül – Mindenki ugyanazzal a fegyverrel játszik. Kis idő után visszaszámlálás indul, amely végén mindenki fegyvert vált \g_nix_with_laser\Mindig legyen a lézer a Nix mellett kiegészítésül -\XonoticMultiplayerDialog/Mind jelölve\Minden pálya kiválasztása -\XonoticMultiplayerDialog/Egyet se jelölj be\Egyik pálya sincs kiválasztva +//TÖBBJÁTÉKOS MENÜ LÉTREHOZÁS FÜL HALADÓ BEÁLLÍTÁSOK ABLAK +\XonoticMultiplayerDialog/Haladó beállítások...\Haladó szerverbeállítások +\sv_spectate\A csak nézőként csatlakozó játékosok engedélyezése +\g_spawnshieldtime\A Védelmező megjenésének ideje +\slowmo\A játék sebessége. A nagyobb értékek gyorsabb játékot eredményeznek. +\g_friendlyfire\Sérülés viszonylagos mértéke, amit a csapattársadnak okozol +\g_friendlyfire_virtual\A csapattárs csak vizuálisan szenvedjen el sérülést a sebzésedtől, de életerőpontot ne veszítsen +\g_mirrordamage\Általad okozott csapatsérülés viszonylagos mértéke, amit te szenvedsz el büntetésből, mert a csapattársad ellen fordultál +\g_mirrordamage_virtual\Csak vizuálisan szenvedj el sérülést azért, mert a csapattársad ellen fordultál +\g_tdm_teams_override\Csapatjátékban felülbírálja a csapatok számának alapbeállítását +\g_maplist_votable\A meccs utáni pályaválasztásnál megjelenő szvazati lehetőségek száma +\sv_vote_simple_majority_factor\Egyszerű többség nyerjen egy szavazásban + +//TÖBBJÁTÉKOS MENÜ DEMÓK FÜL +\XonoticMultiplayerDialog/Demók\Demók böngészése és megtekintése +\cl_autodemo\Visszajátszható ún. 'demó' felvételek készítése automatikusan az aktuális játékodról. +\XonoticMultiplayerDialog/Időmérés\Leméri, hogy a számítógéped milyen gyorsan képes futtatni a kiválasztott demót. +\XonoticMultiplayerDialog/Visszajátszás\A kiválasztott demó felvétel lejátszása. + +//TÖBBJÁTÉKOS MENÜ JÁTÉKOS BEÁLLÍTÁSOK FÜL +\_cl_name\A név, amivel szerepelsz a játékban. Ha engedélyezted a statisztikák gyűjtését és elküldését, akkor a http://stats.xonotic.org -on ezen a néven fogsz szerepelni az adatbázisban +\_cl_color\A játékoskaraktered elsődleges és másodlagos színei. +\XonoticMultiplayerDialog/Játékos beállítások\Játékosmodell, célkereszt, HUD, és egyéb játékosorientált beállítások +\crosshair_enabled\A célkereszt letiltása vagy engedélyezése. A célkereszt változhat fegyverenként egy előre megadott készletből, vagy engedélyezd az "Egyéni célkereszt" opciót, és válassz egy célkeresztet az alábbi listából! +\crosshair\Válassz a listából egy egyéni célkeresztet! +\crosshair_per_weapon\Különböző célkeresztek beállítása az éppen kézben tartott fegyverhez; hasznos lehet fegyvermodell nélküli játék során +\crosshair_color_per_weapon\A célkereszt színének változtatása az éppen kézben tartott fegyvertől függően +\crosshair_color_by_health\A célkereszt színének változtatás az életerőd függvényében +\crosshair_size\A csúszkával a célkereszt méretét tudod beállítani +\crosshair_alpha\A csúszkával a célkereszt átlátszóságát tudod beállítani +\crosshair_color\A célkereszt színének megváltoztatása -\XonoticMultiplayerDialog/Timedemo\Leméri, hogy a számítógéped milyen gyorsan képes futtatni a kiválasztott demót. +//TÖBBJÁTÉKOS MENÜ JÁTÉKOS BEÁLLÍTÁSOK FÜL CÉLKERESZT ABLAK +\crosshair_dot\A célkereszt közepén elhelyezkedő pont engedélyezése +\crosshair_dot_size\A csúszkával a célkereszt közepén elhelyezkedő pont méretét tudod beállítani +\crosshair_dot_alpha\A csúszkával a célkereszt közepén elhelyezkedő pont átlátszóságát tudod beállítani. Az érték növelésével az átlátszóság csökken. +\crosshair_dot_color_custom\A célkereszt közepén elhelyezkedő pont színének beállítása. Egyéni szín beállításához használd az "Egyéni" opciót, majd válassz a palettáról egy színt! +\crosshair_effect_scalefade\A célkereszt animációi kifejezettebbek és jobban láthatóak lesznek. +\crosshair_ring\A célkereszt körül egy gyűrű jelenik meg, amely az épp kézben tartott fegyver állapotáról ad információt (pl. Nex töltöttségi szintje, Gépfegyver tárban lévő töltényei stb.) +\crosshair_hittest\A találatellenőrzés megjelenítése a célkereszten. Nincs: a találat lehetősége nincs hatással a célkeresztre; Valós célzás: elmossa a célkeresztet, mikor nem a falat találod el; Ellenségek: Fel is nagyítja a célkeresztet, mikor egy ellenfelet találsz el +\crosshair_hittest_blur\A célkereszt elmosása, ha a lövés elakadna a falban (nagyon hasznos fedezék mögül tüzelés esetén) +\crosshair_hitindication\A célkereszt egy pillanatra megnő sikeres találat esetén +\crosshair_pickup\A célkereszt egy pillanatra megnő tárgyak (életerő, muníció, fegyverek, zászló stb.) felvétele esetén -\fov\A látószög fokban mérve 60-tól 130-ig, alapérték 90 -\cl_bobcycle\A megjelenített kép biccentése járás közben. +//TÖBBJÁTÉKOS MENÜ JÁTÉKOS BEÁLLÍTÁSOK FÜL JÁTÉKOSMODELL ABLAK +\cl_deathglow\A csúszkával a holttestek elhalványulásának idejét tudod beállítani másodpercben mérve +\cl_nogibs\A csúszkával a felrobbantott ellendelek húscafatainak mennyiségének tudod beállítani (alapértelmezett: sok) +\cl_playerdetailreduction\A csúszkával játékoskarakterek kinézetének butítását tudod beállítani. A magasabb értékek grafikailag roszabb minőségű, de gyorsabban leképezhető modelleket eredményeznek +\cl_forceplayermodels\Az összes játékos ugyan azzal a modellel fog megjelenni a képernyődön mint te magad, attól függetlenül, hogy ők mit állítanak be maguknak. Hasznos lehet azoknak, akik versenyszerűen játszanak, és a "megaerebus" modellt választják. +\cl_forcelplayercolors\Az összes játékos ugyan azzal az elsődleges és másodlagos színnel fog megjelenni a te képernyődön mint te magad, attól függetlenül, hogy ők mit állítanak be maguknak. + + +//TÖBBJÁTÉKOS MENÜ JÁTÉKOS BEÁLLÍTÁSOK FÜL NÉZET ABLAK +\XonoticTeamSelectDialog/További célkereszt beállítások\További lehetőségek a célkereszt testreszabására, pl. középső pont, gyűrű, találatjelzési viselkedés stb. +\fov\A látószög fokokban mérve 60-tól 130-ig, az alapérték 90 fok +\cl_reticle\A távcső használatas során távcsőkeret rajzolása a képernyőre, illetve ennek letiltása \cl_zoomfactor\A nagyítási szorzó a ráközelítés gomb megnyomása esetén -\cl_zoomsensitivity\Mennyire változtatja a nagyítás az egér érzékenységet, 0-tól (kisebb érzékenység) 1-ig (nem változik az érzékenység) \cl_zoomspeed\Milyen gyorsan hajtsa végre a távcső a nagyítást. Tiltás esetén a nagyítás azonnal végbemegy -\XonoticMultiplayerDialog/Fegyver beállítások...\A legkedveltebb fegyver, önműködő fegyverváltás és fegyvermodell pozíciójának beállításai +\cl_zoomsensitivity\Nagyítás során az egér érzékenységének változtatása a könnyebb célzás érdekében, 0-tól (kisebb érzékenység) 1-ig (nem változik az érzékenység) +\cl_velocityzoom_type\A távcső használata során a nagyítási és kicsinyítési animáció sebességének finomítása +\cl_velocityzoom\Az animálás simításának mértéke +\cl_clippedspectating\Nézőként csatlakozva ezen opció bekapcsolásával átjárhatsz a falakon, ellenkező esetben csak a pálya valós, fizikai határain belül tudsz mozogni +\chase_active\Az első személy nézet bekapcsolása esetén a képernyőn a saját szemszögödből látod a történéseket, mintha te magad is ott lennél. Harmadik személy nézet esetén a játékoskarakteredet felülről, a háta mögül követed. +\cl_bobfall\Ha bekapcsolod ezt az opciót, az ugrások utáni földre érkezéskor a képernyő finoman rugózik +\cl_smoothviewheight\Ha bekapcsolod ezt az opciót, leguggolás során a nézőpont változása finoman történik +\v_idlescale\Ha bekapcsolod ezt az opciót, egy helyben való ácsorgás során a képernyő ingadozik, mintha finoman jobbra-balra tekintgetnél +\cl_bob\A képernyő biccentése járás közben +\chase_back\A csúszkával a kamera hátrafelé való távolságát tudod beállítani harmadik személy nézet esetén +\chase_up\A csúszkával a kamera felfelé való távolságát tudod beállítani harmadik személy nézet esetén -\cl_weaponpriority_useforcycling\A fenti lista használata, amikor az egérgörgővel lépkedsz a fegyverek között -\cl_autoswitch\Önmagától átvált az újonnan felvett fegyverekre, ha azok jobbak az addig használtnál -\r_drawviewmodel\Fegyvermodell kirajzolása -\cl_gunalign\Fegyvermodell helyzete; játék közben újracsatlakozás szükséges az adott szerverhez +//TÖBBJÁTÉKOS MENÜ JÁTÉKOS BEÁLLÍTÁSOK FÜL FEGYVER BEÁLLÍTÁSOK ABLAK +\XonoticMultiplayerDialog/Fegyver beállítások\A legkedveltebb fegyver, önműködő fegyverváltás és fegyvermodell pozíciójának beállításai +\cl_weaponpriority_useforcycling\A bal oldali lista használata, amikor az előző fegyver/következő fegyver gombokkal váltasz a fegyverek között +\cl_autoswitch\A játék önmagától átvált az újonnan felvett fegyverre, ha az jobb az addig kézben tartottnál az elsőbbségi lista szerint +\r_drawviewmodel\Az éppen kézben tartott fegyver megjelenítése +\cl_gunalign\Fegyvermodell helyzete. FIGYELEM! Ha játék közben vagy, újra kell csatlakoznod a szerverhez (helyi játék esetén újra kell indítanod azt), hogy a változtatás életbe lépjen! +\cl_followmodel\A fegyver mozgatása a tekinteteddel együtt, ahogy nézelődsz +\cl_bobmodel\A fegyver finom fel-le mozgatása futás során, mintha valóban a kezedben lenne +\cl_viewmodel_scale\A kirajzolt fegyvermodell mérete -\crosshair_per_weapon\Különböző célkeresztek beállítása az éppen kézben tartott fegyverhez; hasznos lehet fegyvermodell nélküli játék során -\crosshair_color_per_weapon\A célkereszt színének változtatása az éppen kézben tartott fegyvertől függően -\crosshair_size\ A célkereszt méretének megváltoztatása -\crosshair_alpha\A célkereszt átlátszóságának megváltoztatása -\crosshair_color\A célkereszt színének megváltoztatása -\sbar_hudselector\A régi HUD elrendezés használata -\XonoticMultiplayerDialog/Irányjelzők beállításai...\- -\_cl_name\A név, amivel szerepelsz a játékban +//TÖBBJÁTÉKOS MENÜ JÁTÉKOS BEÁLLÍTÁSOK FÜL HUD BEÁLLÍTÁSOK ABLAK +\hud_damage\Véres foltok rajzolása a képernyőre sérülés esetén. A csúszkával a vérfoltok mennyiségét tudod szabályozni (0 - letiltva) +\hud_damage_factor\A csúszkával a sérülés esetén a képernyőre rajzolt vérfoltok átlátszóságát tudod szabályozni. Az érték növelésével a foltok egyre kevésbé lesznek átláthatóak +\hud_damage_fade_rate\A csúszkával a sérülés esetén a képernyőre rajzolt vérfoltok elhalványulásának sebességét tudod szabályozni. Az érték növelésével a foltok gyorsabban eltűnnek a látómeződből +\cl_hidewaypoints\Különböző játéktípusok során iránypontok rajzolása a képernyőre, amik segítenek a tájékozódásban (pl. bázisok, generátorok, uralmi pontok helyzete stb.) +\g_waypointsprite_scale\A csúszkával az iránypontok méretét tudod szabályozni. A nagyobb értékek nagyobb feliratokat eredményeznek +\g_waypointsprite_alpha\A csúszkával az iránypontok átlátszóságát tudod szabályozni. Az érték növelésével az iránypontok egyre kevésbé lesznek átláthatóak +\g_waypointsprite_edgeoffset_bottom\A csúszkával az iránypontoknak a képernyő széleitől mért távolságát tudod szabályozni. Az érték növelésével az iránypontok távolabb kerülnek a képernyő széleitől. +\hud_shownames\A látómeződben tartózkodó játékosok nevének mutatása +\hud_shownames_crosshairdistance\Csak azon játékosok nevének mutatása, akit épp célba vettél +\hud_shownames_status\Csapatjátékokban a csapattársaid neve alatt az életerejük és páncélzatuk állapota is jelenjen meg + +//BEÁLLÍTÁSOK ABLAK BEMENET FÜL +\XonoticSettingsDialog/Bemenet\Billentyűzetkiosztás, egér és botkormány beállítások +\con_closeontoggleconsole\A konzol egy különleges interfész, amelynek segítségél különböző parancsokat tudsz adni a játéknak (a parancsok listáját megtalálhatod az Egyéb -> Haladó beállítások alatt). Ennek az opciónak a bekapcsolásával a konzolnyitó billentyűvel be is tudod zárni a konzolt. A konzolnyitó billentyű (BACKQUOTE) sajnos nem létezik magyar billentyűzeten, ezért ha ilyet használsz, először meg kell változtatnod a billentyű hozzárendelést a bal oldali listában (Kliens: belépés a konzolba), vagy használd a SHIFT+ESC kombinációt. +\cl_movement_track_canjump\Ha lenyomva tartod mozgás közben az ugrás billentyűt, földet érés után automatikusan újra ugrik a karaktered +\joy_enable\Ha botkormányt vagy kontrollert szeretnél használni a játék irányításához, kapcsold be ezt az opciót +\sensitivity\Ezzel a csúszkával az egér érzékenységét tudod szabályozni. A magasabb értékek érzékenyebb egeret eredményeznek +\m_filter\Simítja az egérmozgást, de így célzás pontossága némiképp csökkenhet +\m_pitch\Fordított egérmozgás az Y-tengely (fel-le) mentén +\menu_mouse_speed\Egér sebessége a menüben, nincs hatással a játékbeli célzásra +\m_accelerate\Amikor gyorsan húzod az egeret, a játék rásegít egy kicsit, de a lassú egérmozgások sebességét nem változtatja +\vid_dgamouse\Segíti a DGA egér bemenet használatát + +//BEÁLLÍTÁSOK ABLAK VIDEÓ FÜL +\XonoticSettingsDialog/Videó\Videó beállítások: képernyő felbontás, színmélység, fényerő, kontraszt, stb. +\_menu_vid_width\A csúszkával a képernyő felbontását tudod megváltoztatni. TIPP: Ha több monitorod van, és a kép az összes monitorra szét van feszítve, akkor az Egyéb -> Haladó beállításokban keresd ki a listából a "vid_netwmfullscreen" változót, és állítsd át az értékét "1"-re! Ez megoldja problémát, de ebben az esetben csak a képernyőd natív felbontását tudod csak használni! +\menu_vid_scale\A csúszkával a menü és más feliratok betűméretét tudod beállítni +\vid_bitsperpixel\Színmélyég BPP-ben (bits per pixel). Az ajánlott színmélyég 32bit +\vid_fullscreen\Teljes képernyős mód engedélyezése (alapértelmezett: engedélyezve) +\vid_vsync\A függőleges szinkronizáció engedélyezése, a megjelenített kép szétesésének megakadályozására. A másodpercenként leképzett képkockák számát (FPS) a képernyő frissítési frekvenciájához igazítja (alapértelmezett: kikapcsolva) +\gl_texture_anisotropy\Az anizotrópikus szűrés használatával a megjelenített textúrák távolságtól függetlenül is élesek maradnak, így javul a képminőség. FIGYELEM! Jelentősen csökkenheti a teljesítményt gyengébb számítógépeken (alapérték: 1x) +\vid_samples\Az élsimítás engedélyezésével a leképzett 3D-s tárgyak széleinek "csipkézettsége" csökken. FIGYELEM! Jelentősen csökkenheti a teljesítményt gyengébb számítógépeken (alapértelmezett: letiltva) +\r_viewfbo\A jó minőségű Framebuffer használatával tovább javíthatod "Ragyogás" és a "Mozgási elmosódás" effektek minőségét. Az opció engedélyezése az Élsimítás tiltásával jár. +\r_depthfirst\Leképzés előtt egy távolságteszt történik, és az aktuális leképzés a közelebbi eseményekkel, tárgyakkal kezdődik. Ez vonatkozhat csak a világ geometriájára, illetve a modellekre is (alapértelmezett: letiltva) +\gl_vbo\A gyorsabb leképzés érdekében a megjelenítendő statikus geometria a videó memóriában ún. Vertex Buffer Objectként kerül tárolásra (alapértelmezett: Csúcspontok és háromszögek, kompatibilis) +\v_brightness\A képernyő fényereje, a fekete szín fényességének változtatásával (alapérték: 0) +\v_contrast\A csúszkával a képernyő kontrasztját tud szabályozni, azaz a fehér szín fényességét (alapérték: 1) +\v_gamma\Fordított gamma korrekciós érték, egy fényességi hatás , ami nem befolyásolja a fehéret vagy feketét (alapérték: 1) +\v_contrastboost\A csúszkával a sötét területek kontrasztját tudod növelni (alapérték: 1) +\r_glsl_saturation\Színtelítettség beállítása (0 = szürke, 1 = normál, 2 = túltelített ), GLSL színkezelés szükséges (alapérték: 1) +\r_ambient\Környezeti világítás, a túl magasra beállítás a kép fakóságát eredményezheti (alapérték: 4) +\r_hdr_scenebrightness\Általános világosság (alapérték: 1) +\gl_finish\A processzor megvárja amíg a videókártya befejezi a képkockát leképzését, ez segíthet egyes gépeken jelentkező furcsa bemeneti és videó késés problémák kiküszöbölésében (alapértelmezett: letiltva) +\r_glsl\Az OpenGL 2.0 pixel shaderek használatának engedélyezése (alapértelmezett: engedélyezve) +\v_glslgamma\A GLSL alkalmazása a gamma korrekcióhoz, Megjegyzendő, hogy jelentősen csökkenheti a teljesítményt (alapértelmezett: letiltva) +\v_psycho\Ilyet lehet az, ha LSD hatása alatt játszol. FIGYELEM! Epilepsziások számára nagyon nem ajánlott! +\r_trippy\A képernyő ide-oda hullámzik, mintha részeg lennél, mint a csap. +\v_flipped\A teljes képernyő vízszintes tükrözése, "szegény ember bal kezes módja". (alapértelmezett: ki) + +//BEÁLLÍTÁSOK ABLAK HATÁSOK FÜL +\XonoticSettingsDialog/Effektek\Különböző grafikai effektek beállításai: geometriai részletesség, textúra élesség, fények, árnyékolás, tükröződés, utófeldolgozás stb. +\r_subdivisions_tolerance\A csúszkával az ívelt geometria finomságát, részletességét tudod szabályozni (alapértelmezett: normál) +\gl_picmip\A csúszkával a textúrák élességét tudod beállítani. Kisebb érték hatásosan csökkenti a textúra memória használatot, de a textúrák megjelenése csúnyább, homályosabb lesz. (alapértelmezett: jó) +\r_texture_dds_load\Veszteségmentes DDS textúrák használata TGA helyett, ha lehetséges +\mod_q3bsp_nolightmaps\Nagy részletességű fénytérképek használata a statikus árnyékok leképzéséhez, ami szépen néz ki, de kissé megemeli a szükséges videó memória mennyiségét (alapértelmezett: engedélyezve) +\r_glsl_deluxemapping\Képpontokkénti megvilágítás és árnyékolás használata a statikus fényekhez. A textúrák nagy része így olyan lesz, mintha valós felületük lenne. (alapértelmezett: engedélyezve) +\r_shadow_gloss\A felületek felszínén megcsillanó fény engedélyezése. (alapértelmezett: engedélyezve) +\cl_particles_quality\A különböző effektek (robbanások, becsapódások) által létrehozott effekt-részecskék számának szorzója. A kisebb értékek kevesebb részecske megjelenítését eredményezik, ami gyengébb gépeken növelheti a teljesítményt. (alapérték: 1.0) +\r_drawparticles_drawdistance\A különböző effektek (robbanások, becsapódások) által létrehozott effekt-részecskék maximális megjelenítési távolsága (azaz ettől az értéktől messzebb már nem jelennek meg). (alapérték: 1000) +\cl_damageeffect\A csúszkával a fegyverek típusától függően a sebzési effektek megjelenítését (pl. vérzés, kis lángnyelvek, elektromos kisülések stb.) szabályozhatod a játékos karaktereken (teljesen letilhatod, csak a játékosok testrészein jelenjenek meg, ahol a becsapódás történt, vagy minden modellen). +\cl_decals\Becsapódási nyomok (égési és robbanási nyomok, vérfoltok) engedélyzése és tiltása (alapértelmezett: engedélyezve) +\cl_decals_models\Becsapódási nyomok, (égési nyomok, vérfoltok) engedélyzése és tiltása a játékos karakterek testén is +\r_drawdecals_drawdistance\A becsapódási nyomok maximális megjelenítési távolsága (azaz ettől az értéktől messzebb már nem jelennek meg) (alapérték: 300) +\cl_decals_time\A becsapódási nyomok eltűnésének kezdetének időtartama másodpercben mérve (alapérték: 2) +\r_coronas\Fényudvarok megjelenítése bizonyos effektek körül. (alapértelmezett: engedélyezve) +\r_coronas_occlusionquery\A fényudvarok elhalványítása láthatóságuk szerint (alapértelmezett: engedélyezve) +\gl_flashblend\Gyors, de nagyon csúnya dinamikus fényekeffektek megjelenítése a valós dinamikus világítás helyett. Csak nagyon gyenge számítógépek esetén ajánlott (alapértelmezett: letiltva) +\r_shadow_realtime_dlight\Dinamikus fényeffektek engedélyezése, mint pl. robbanások és rakéták fényei (alapértelmezett: engedélyezve) +\r_shadow_realtime_dlight_shadows\A dinamikus fényeffektek árnyékokat is vetnek (alapértelmezett: letiltva) +\r_shadow_realtime_world\Teljesen valós idejű és dinamikus megvilágítások engedélyezése azokon a pályákon, amik támogatják. FIGYELEM! Az opció bekapcsolása jelentősen ronthatja a grafikai teljesítményt, az opció bekapcsolása csak nagyon erős számítógéppel rendelkezők számára ajánlott! (alapértelmezett: letiltva) +\r_shadow_realtime_world_shadows\A teljesen valós idejű és dinamikus fények árnyékokat is vetnek. FIGYELEM! Az opció bekapcsolása jelentősen ronthatja a grafikai teljesítményt, az opció bekapcsolása csak nagyon erős számítógéppel rendelkezők számára ajánlott! (alapértelmezett: letiltva) +\r_shadow_usenormalmap\A dinamikus fényeffektek által vetett árnyékok megjelenítése a textúrákon (alapértelmezett: engedélyezve) +\r_shadow_shadowmapping\A dinamikus fényeffektek által vetett árnyékok simítása, finomítása. Az opció használatához engedélyezned kell a Vertex Buffer Objectek használatát (Videó fül). +\r_glsl_offsetmapping\A texúrák kidomborításának engedélyezése, mintha valódi felületük lenne (alapértelmezett: letiltva) +\r_glsl_offsetmapping_reliefmapping\Még jobb minőségű, finomabb Offset mapping. FIGYELEM! Az opció bekapcsolása jelentősen ronthatja a grafikai teljesítményt, az opció bekapcsolása csak nagyon erős számítógéppel rendelkezők számára ajánlott! (alapértelmezett: letiltva) +\r_bloom\A fényes testek felületén végigfutó halvány, derengő ragyogás engedélyezése FIGYELEM! Az opció bekapcsolása jelentősen ronthatja a grafikai teljesítményt, az opció bekapcsolása csak nagyon erős számítógéppel rendelkezők számára ajánlott! (alapértelmezett: letiltva). +\r_water\Valós idejű tükröződések, portálok és fénytörések engedélyzése. FIGYELEM! Az opció bekapcsolása jelentősen ronthatja a grafikai teljesítményt, az opció bekapcsolása csak nagyon erős számítógéppel rendelkezők számára ajánlott! (alapértelmezett: letiltva) +\r_water_resolutionmultiplier\Tükröződések/A csúszkával a valós idejű tükröződési effektek minőségét tudod szabályozni. (alapértelmezett: jó) +\r_motionblur\A csúszkával a mozgási elmosódás intenzivitását tudod szabályozni. Az ajánlott érték 0.4 +\hud_postprocessing_maxbluralpha\Extra képernyő effektek engedélyezése, mint pl. víz alatti hullámok, Sebzésnövelő használata során extra kontrasztos látómező stb. + +//BEÁLLÍTÁSOK ABLAK HANG FÜL +\XonoticSettingsDialog/Hang\Hang beállítások: sávok és csatornák hangerejének beállítása, figyelmeztető hangok, gúnyolódások stb. +\mastervolume\A csúszkával a játék általános hangerejét állíthatod be +\bgmvolume\A csúszkával a játék háttérzenéjének hangerejét állíthatod be +\snd_staticvolume\A csúszkával a pályák háttérzajainak (gépek motorhangjai, lámpák zümmögése, dörgés stb.) hangerejét állíthatod +\snd_channel0volume\A csúszkával a játék során hallható információs hangok (figyelmeztetések, visszaszámlálások stb.) +\snd_channel3volume\A csúszkával a játék során a felvett tárgyak effektjeinek hangerejét állíthatod be +\snd_channel6volume\A csúszkával a játékosok fájdalmas nyögéseinek és sikolyainak hangerejét állíthatod be +\snd_channel7volume\A csúszkával a játékosok egyéb hangjainak hangerejét állíthatod be +\snd_channel4volume\A csúszkával a robbanások, becsapódások hangerejét állíthatod be +\snd_channel2volume\A csúszkával a játékosok gúnyolódásainak és egyéb üzeneteinek hangerejét állíthatod be +\snd_channel1volume\A csúszkával a fegyverek elsülésének hangerejét állíthatod be +\snd_mutewhenidle\A játék teljes némítása, ha pl. ALT-TAB-bal átváltasz egy másik programra, minimalizálod, stb. +\snd_speed\Hang kimenet frekvenciája +\snd_channels\A hang kimenet csatornáinak száma +\snd_swapstereo\A jobb és bal hangcsatornák felcserélése +\snd_spatialization_control\A jobb és bal hangcsatornák enyhe összemosása, a sztereó szétválasztás csökkentésére fejhallgatókban +\cl_autotaunt\Ha megölsz valakit, kigúnyolod egy mindenki álltal hallható hangüzenetben. A csúszkával ezeknek a beszólásoknak a gyakoriságát változtathatod +\cl_sound_maptime_warning\Figyelmeztető hang, ami a meccsből hátralévő percekről tájékoztat +\cl_hitsound\Találatjelző hang adása, ha sikeresen eltaláltad az ellenségedet +\menu_sounds\Menühangok engedélyezése, ha valamire rákattintasz, vagy az opciók felett mozgatod az egeret +\con_chatsound\Pittyenések szöveges csevely üzenetek esetén +\cl_announcer_maptime\Figyelmeztető hangok lejátszása az adott játékból hátralévő időről. Ez történhet az utolsó egy percben, csak akkor, ha még 5 perc van hátra, vagy mindkét esetben + +//BEÁLLÍTÁSOK ABLAK FELHASZNÁLÓ FÜL +\XonoticSettingsDialog/Felhasználó\Menü felületek, nyelvezet beállítása, statisztika stb. +\XonoticSettingsDialog/Nyelv beállítása\A játék fordításának és nyelvezetének beállítása. A gombra kattintva a játék menüje újraindul a listában kiválasztott fordítással +\cl_gentle\A véres és erőszakos grafikai tartalmak cserélése színes mintákká, "gyerek barát mód" (alapértelmezett: letiltva) +\cl_allow_uidtracking\Játékos statisztikák gyűjtésének és elküldésének engedélyezése, mint pl. tüzelési pontosság, gyilokok száma, összegyűjtött pontok, stb. A statisztikák bármikor megtekinthetők a http://stats.xonotic.org weboldalon +\cl_allow_uid2name\Az opció engedélyezésével a http://stats.xonotic.org weboldalon a nickneved is szerepelni fog, így könnyebben megtalálhatod magad + +//BEÁLLÍTÁSOK ABLAK EGYÉB FÜL +\XonoticSettingsDialog/Egyéb\Hálózati beállítások, FPS limit, haladó beállítások stb. +\_cl_rate\A csúszkával a hálózati kapcsolatod sebessége és típusát tudod meghatározni +\cl_netfps\A csúszkával a szerver felé küldött adatcsomagok másodpercenkénti számát tudod beállítani. Magasabb érték finomabb mozgást eredményezhet. +\cl_port\Az adott UDP port használata az alapértelmezett helyett +\shownetgraph\Csomagméret és egyéb információk grafikonjának kirajzolása játék közben a képernyő jobb alsó sarkába +\cl_movement\Kliensoldali mozgásbecslés engedélyezése. Ez az opció rossz minőségű, vagy lassú kapcsolat esetén segíthet a késés (lag) okozta mozgási problémák javításában +\cl_movement_errorcompensation\Összeveti a szerver és a kliens adatait a mozgásról, tovább finomítva és pontosítva azt +\cl_curl_maxdownloads\A csúszkával az egyszerre futó HTTP/FTP letöltések (pályák, modellek stb.) maximális számát tudod beállítani +\cl_curl_maxspeed\A csúszkával a maximális letöltési sebességet tudod beállítani +\cl_maxfps\A csúszkával a maximális képfrissítési (képkocka per másodperc, FPS) sebességet tudod beállítani. +\cl_minfps\A csúszkával a minimális képfrissítési (képkocka per másodperc, FPS) sebességet tudod beállítani. Ha a gép teljesítménye nem bírja, akkor a játék automatikusan visszavesz egyes grafikai elemek minőségéből, hogy a kívánt minimális értéket tartani tudja +\showfps\A másodpercenként megjelenített képkockák (FPS) számának kijelzése a képernyő jobb alsó sarkában +\menu_tooltips\A csúszkával a menüopciók tippjeinek részletesség tudod beállítani. Letilthatod az összes tippet, iletve a "Részletes" választása esetén a tippek mellett az adott változó is megjelenik +\showtime\Az aktuális időt kijelzése a képernyő jobb alsó sarkában +\showdate\Az aktuális dátum kijelzése a képernyő jobb alsó sarkában +\developer\Fejlesztők számára fenntartott menü opció, rendszerüzenetek és egyéb információk kijelzésére, RENDES JÁTÉK ESETÉN BEKAPCSOLÁSA NEM AJÁNLOTT. Hasznos lehet ellenben hibakeresés és bejelentés során. +\XonoticSettingsDialog/Haladó beállítások...\Haladó beállítások, ahol finomíthatod a játék minden egyes változóját. Ha nem értesz hozzá, inkább ne piszkáld... + +\XonoticTeamSelectDialog/Csatlakozás a 'legjobb' csapathoz (auto-választás)\Automatikus csapatválasztás a játék állásának és játékosok számának függvényében (ajánlott) +\XonoticTeamSelectDialog/Vörös\Csatlakozás a Vörös csapathoz +\XonoticTeamSelectDialog/Kék\Csatlakozás a Kék csapathoz +\XonoticTeamSelectDialog/Sárga\Csatlakozás a Sárga csapathoz +\XonoticTeamSelectDialog/Rózsaszín\Csatlakozás a Rózsaszín csapathoz -\XonoticSettingsDialog\A beállítások megváltoztatása -\XonoticCreditsDialog\A Xonotic készítőinek és segítségnyújtóinak listája \XonoticTeamSelectDialog\- \XonoticMutatorsDialog\- \XonoticMapInfoDialog\- @@ -83,121 +274,20 @@ \XonoticServerInfoDialog\- \XonoticCvarsDialog\- +\XonoticCreditsDialog\A Xonotic készítőinek és segítségnyújtóinak listája \XonoticQuitDialog\Kilépés a játékból \XonoticQuitDialog/Igen\Vissza a munkához... \XonoticQuitDialog/Nem\A mészárlás folytatódik! -\XonoticSettingsDialog/Bemenet\Bemenet szabályozása -\sensitivity\Egér sebesség többszörözése -\menu_mouse_speed\Egér sebessége a menüben, nincs hatással a játékbeli célzásra -\m_filter\Elsimítja az egérmozgást, de a célzás érzékenység némiképp csökken -\m_pitch\Fordított egérmozgás az Y-tengely mentén -\vid_dgamouse\Segíti a DGA egér bemenet használatát -\con_closeontoggleconsole\Lehetővé teszi, hogy a konzolnyitó billentyű, a következő megnyomásra visszazárja azt - -\XonoticSettingsDialog/Kép\Kép beállítások -\vid_width\Képernyő felbontás -\vid_bitsperpixel\Hány bit per pixel(BPP)-el jelenítse meg a képet, 32 az ajánlott -\vid_fullscreen\Teljes képernyős mód engedélyezése (alapértelmezett: engedélyezve) -\vid_vsync\A függőleges szinkronizáció engedélyezése, hogy megelőzze a kép szétesését, a másodpercenkénti képkockák számát a képernyő frissítési rátához igazítja (alapértelmezett: letiltva) -\r_glsl\Az OpenGL 2.0 pixel árnyalók alkalmazása a világításhoz (alapértelmezett: engedélyezve) -\gl_vbo\A statikus geometriákhoz Vertex Buffer Object-eket használ a videómemóriában a gyorsabb számítás érdekében (alapértelmezett: Csúcspontok és háromszögek) -\r_depthfirst\Eltávolítja a kép csak a távolban tartozó részeit, mielőtt a normál számítás kezdődne (alapértelmezett: letiltva) -\gl_texturecompression\Textúrák tömörítése, hogy a videokártyán található memóriából kevesebbet használjon (alapértelmezett: nem) -\gl_finish\A CPU megvárja amíg a GPU befejezi a képkockát leképzését, ez segít egyes gépeken jelentkező furcsa bemeneti és videó késés elkerülésében (alapértelmezett: letiltva) -\v_brightness\A fekete fényessége (alapérték: 0) -\v_contrast\A fehér fényessége (alapérték: 1) -\v_gamma\Fordított gamma korrekciós érték, egy fényességi hatás , ami nem befolyásolja a fehéret vagy feketét (alapérték: 1.125) -\v_contrastboost\Milyen mértékben erősítse a sötét területek kontrasztját (alapérték: 1) -\r_glsl_saturation\Színtelítettség beállítása (0 = szürke, 1 = normál, 2 = túltelített ), GLSL színkezelés szükséges (alapérték: 1) -\v_glslgamma\A GLSL alkalmazása a gamma korrekcióhoz, Megjegyzendő, hogy jelentősen csökkenheti a teljesítményt (alapértelmezett: letiltva) -\r_ambient\Környezeti világítás, ha túl magasra van állítva a térkép fakónak és laposnak tűnhet (alapérték: 4) -\r_hdr_scenebrightness\Általános számítási világosság (alapérték: 1) -\vid_samples\Élsimítás engedélyezés, 3D-s tárgyak szélének csipkézettségét csökkenti. Megjegyzendő, hogy jelentősen csökkenheti a teljesítményt (alapértelmezett: letiltva) -\v_flipped\Szegény ember bal kezes módja (alapértelmezett: ki) - -**** -\XonoticSettingsDialog/Hatások\Hatások beállítása -\r_subdivisions_tolerance\Az ívek finomságának változtatása a pályán (alapértelmezett: normál) -\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) -\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) -\cl_decals_time\A foltok eltűnésének kezdetének időtartama másodpercben (alapérték: 2) -\cl_gentle\Kicseréli a vért és húscafatokat olyan tartalomra, ami nem tartalmaz vérontást (alapértelmezett: letiltva) -\cl_nogibs\A húscafatok mennyiségének csökkentése vagy teljesen eltávolítása (alapértelmezett: sok) -\v_kicktime\Mennyi ideig legyen a kép kiütve a sérülés után (alapérték: 0) -\gl_texture_anisotropy\Anizotropikus szűrés minősége (alapérték: 1x) -\r_glsl_deluxemapping\Képpontokkénti világítás hatások használata (alapértelmezett: engedélyezve) -\r_shadow_gloss\Csillogás a textúrákon, amik támogatják azt (alapértelmezett: engedélyezve) -\gl_flashblend\A gyorsabb, de csúnyább dinamikus fények engedélyezése a világos fénykörök számításához, a valós dinamikus világítás helyett (alapértelmezett: letiltva) -\r_shadow_realtime_dlight\A dinamikus világítások engedélyezése, mint robbanások és rakéták fényei (alapértelmezett: engedélyezve) -\r_shadow_realtime_dlight_shadows\Árnyékok számítása a dinamikus fényekből (alapértelmezett: letiltva) -\r_shadow_realtime_world\A teljes valósidejű világ világítások engedélyezése azokon a térképeken, amik támogatják Megjegyzendő, hogy jelentősen csökkenheti a teljesítményt (alapértelmezett: letiltva) -\r_shadow_realtime_world_shadows\A valósidejű világ fényekhez tartozó árnyékok engedélyezése (alapértelmezett: letiltva) -\r_shadow_usenormalmap\Irányított árnyékok használatának engedélye a textúrákon (alapértelmezett: engedélyezve) -\r_showsurfaces\Textúra összetettség letiltása nagyon lassú gépeken. Ez egy nagy gyorsulást hozz a teljesítményben, de nagyon csúnyán néz ki. (alapértelmezett: letiltva) -\r_glsl_offsetmapping\Offset mapping hatás , ami rücskössé teszi a textúrák megjelenését, mintha kiállna a 2D-s felületből (alapértelmezett: letiltva) -\r_glsl_offsetmapping_reliefmapping\Magasabb minőségű offset mapping, ami szintén óriási hatása van a teljesítményre (alapértelmezett: letiltva) -\r_water\Tükröződések és fénytörések minősége, óriási hatással van a teljesítményre azokon a pályákon, ahol vannak tükröződő felületek (alapértelmezett: letiltva) -\r_water_resolutionmultiplier\Tükröződések/fénytörések felbontása (alapértelmezett: jó) -\r_coronas\A fényudvar engedélyezése bizonyos világítás körül. (alapértelmezett: engedélyezve) -\r_coronas_occlusionquery\A fényudvar elhalványodik a láthatósága szerint (alapértelmezett: engedélyezve) -\r_bloom\A bloom hatás engedélyezése, aminél a nagyon világos pixelek növelik a szomszédaik világosságát is. Nagy hatással van a teljesítményre. (alapértelmezett: letiltva) -\r_hdr\A bloom magas minőségű verziója, ami óriási hatással van a teljesítményre. (alapértelmezett: letiltva) -\r_motionblur\Mozgási elmosódás nagysága - ajánlott értéke 0.5 -\r_damageblur\Mozgási elmosódás mértéke sérülés esetén – ajánlott értéke 0.4 - -**** -\XonoticSettingsDialog/Hang\Hang beállítás -\mastervolume\- -\bgmvolume\- -\snd_staticvolume\- -\snd_channel0volume\- -\snd_channel3volume\- -\snd_channel6volume\- -\snd_channel7volume\- -\snd_channel4volume\- -\snd_channel2volume\- -\snd_channel1volume\- -\snd_speed\Hang kimenet frekvenciája -\snd_channels\A hang kimenet csatornáinak száma -\snd_swapstereo\Jobb/bal csatorna felcserélése -\snd_spatialization_control\Közelítés engedélyezése (kissé összemossa a jobb és bal csatornát, hogy csökkentse a sztereó szétválasztást a fejhallgatókban) +//SEHOL SE HASZNÁLT, DE MÉG JÓL JÖHET KÉSŐBB \cl_voice_directional\Irányított hangok engedélyezése \cl_voice_directional_taunt_attenuation\A távolság, ahonnan a gúnyolódás még hallható -\cl_autotaunt\Az ellenség mindig gúnyolódik, ha legyüröd -\cl_sound_maptime_warning\Kihirdető hang, ami a meccsből hátralévő percekről tájékoztat -\cl_hitsound\Egy találatjelző hang, ha sikeres lövés vittél be az ellenségre -\menu_sounds\Hang lejátszás, ha klikkelsz vagy a menüpontok fölött siklasz +\viewsize\HUD hátterének engedélyezése/letiltása +\r_hdr\A bloom magas minőségű verziója, ami óriási hatással van a teljesítményre. (alapértelmezett: letiltva) +\r_damageblur\Mozgási elmosódás mértéke sérülés esetén – ajánlott értéke 0.4 +\r_showsurfaces\Textúra összetettség letiltása nagyon lassú gépeken. Ez egy nagy gyorsulást hozz a teljesítményben, de nagyon csúnyán néz ki. (alapértelmezett: letiltva) +\r_picmipworld\Ha ha be van állítva, csak a modellek textúra minősége csökken (alapértelmezett: engedélyezve) +\gl_texturecompression\Textúrák tömörítése, hogy a videokártyán található memóriából kevesebbet használjon (alapértelmezett: nem) -\XonoticSettingsDialog/Hálózat\Hálózat beállítások -\cl_movement\Kliensoldali mozgás jóslás engedélyezés +\v_kicktime\Mennyi ideig legyen a kép kiütve a sérülés után (alapérték: 0) \cl_nolerp\Engedélyezi a hálózat frissítés simítását -\shownetgraph\Csomagméret és egyéb információk grafikonjának kirajzolása -\_cl_rate\A hálózat sebessége határozható meg ezzel a csúszkával -\cl_netfps\A szervernek küldött bemeneti csomagot másodpercenkénti száma -\cl_curl_maxdownloads\Az egyszerre futó HTTP/FTP letöltések maximális száma -\cl_curl_maxspeed\Maximum letöltési sebesség -\cl_port\Kényszeríti a klienst, hogy a választott portot használja, amíg nem 0 az érték - -\XonoticSettingsDialog/Egyéb\Egyéb beállítások -\showtime\Az aktuális időt mutatja, kép mentésekor hasznos -\showdate\Az aktuális dátumot mutatja, kép mentésekor hasznos -\showfps\A másodpercenként megjelenített képkockák száma - -\XonoticSettingsDialog/Haladó beállítások...\Haladó beállítások, ahol finomíthatod a játék minden egyes változóját -\g_friendlyfire\Sérülés százaléka, amit a csapattársadnak okozol -\g_mirrordamage\Általad okozott csapatsérülés százaléka, amit te szenvedsz el -\g_tdm_teams_override\Csapatjátékban felülbírálja a csapatok számának alapbeállítását - -\viewsize\HUD háttér engedélyezés/letiltás -\cl_hidewaypoints\Különböző játéktípus specifikus iránypontok mutatása -\g_waypointsprite_scale\Az iránypontok szorzódásának mértéke -\g_waypointsprite_alpha\Az iránypontok átlátszóságának ellenőrzése -\cl_shownames\Az éppen célba vett játékos nevének mutatása - -\crosshair_hittest\Nincs: a találat nincs hatással a célkeresztre; Valós célzás: elmossa a célkeresztet, mikor nem a falat találod el; Ellenségek: Fel is nagyítja a célkeresztet, mikor egy ellenfelet találsz el diff --git a/tooltips.db.it b/tooltips.db.it index e8ec95a98..180076f77 100644 --- a/tooltips.db.it +++ b/tooltips.db.it @@ -100,6 +100,7 @@ \vid_bitsperpixel\Bit per pixel (BPP) per il rendering, 32 è raccomandato \vid_fullscreen\Abilita modalità a tutto schermo (predefinito: abilitato) \vid_vsync\Abilita la sincronizzazione verticale per prevenire la lacrimazione (tearing), imposta il limite massimo di fps alla velocità di aggiornamento dello schermo (predefinito: disabilitato) +\gl_texture_anisotropy\Qualità del filtro anisotropico (predefinito: 1x) \r_glsl\Abilita i pixel shader OpenGL 2.0 per l'illuminazione (predefinito: abilitato) \gl_vbo\Fai uso dei Vertex Buffer Objects per salvare nella memoria grafica la geometria statica per un rendering più veloce (predefinito: Vertici e Triangoli) \r_depthfirst\Elimina eccesso di disegno (overdraw) eseguendo il rendering della sola profondità della scena prima di iniziare il rendering "standard" (predefinito: disabilitato) @@ -121,7 +122,7 @@ \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) @@ -129,7 +130,6 @@ \cl_gentle\Sostituisci il sangue e i gib con contenuti che non hanno alcun effetto di sangue (predefinito: disabilitato) \cl_nogibs\Riduci il numero di gib o rimuovili completamente (predefinito: parecchi) \v_kicktime\Quanto dura un colpo alla visuale per il danno (predefinito: 0) -\gl_texture_anisotropy\Qualità del filtro anisotropico (predefinito: 1x) \r_glsl_deluxemapping\Usa gli effetti di illuminazione pixel per pixel (predefinito: abilitati) \r_shadow_gloss\Abilita l'uso della lucentezza delle mappe sulle texture che la supportano (predefinito: abilitati) \gl_flashblend\Abilita luci dinamiche più veloci ma meno gradevoli tramite il rendering di corone luminose invece di luci dinamiche reali (predefinito: disabilitato) @@ -147,8 +147,7 @@ \r_coronas_occlusionquery\Dissolvi corone rispetto a visibilità (predefinito: abilitato) \r_bloom\Abilita effetti bloom, che illuminano i pixel più vicini a pixel molto luminosi. Hanno un grosso impatto sulle performance. (predefinito: disabilitato) \r_hdr\Versione a più alta qualità dei bloom, che hanno un enorme impatto sulle performance. (predefinito: disabilitato) -\r_motionblur\Forza della sfocatura da movimento - raccomandato a 0.5 -\r_damageblur\Ammontare della sfocatura da movimento quando si è colpiti - raccomandato a 0.4 +\r_motionblur\Intensità della sfocatura da movimento - raccomandato a 0.4 \XonoticSettingsDialog/Audio\Impostazioni audio \mastervolume\- @@ -198,4 +197,4 @@ \g_waypointsprite_alpha\Controlla la trasparenza dei waypoint \cl_shownames\Mostra il nome del giocatore a cui stai mirando -\crosshair_hittest\Nessuno: non fare il test di colpire per il mirino; TrueAim: sfoca il mirino quando non colpiresti il muro; Nemici: allarga anche il mirino quando colpiresti un nemico +\crosshair_hittest\Nessuno: non fare test di colpo a segno per il mirino; VeraMira: sfoca il mirino quando non colpiresti il muro; Nemici: allarga anche il mirino quando colpiresti un nemico diff --git a/tooltips.db.ru b/tooltips.db.ru index f8e286210..9a6d72fbc 100644 --- a/tooltips.db.ru +++ b/tooltips.db.ru @@ -28,6 +28,7 @@ \sv_vote_simple_majority_factor\Простое большинство выигрывает голосование \XonoticMultiplayerDialog/Advanced settings...\Дополнительные серверные настройки \XonoticMultiplayerDialog/Mutators...\Мутаторы и арены оружий +\g_dodging\Enable dodging \g_cloaked\Все игроки почти невидимы \g_footsteps\Включить звуки шагов \g_midair\Только находящиеся в воздухе получают повреждения @@ -62,12 +63,10 @@ \cl_gunalign\Position of the weapon model; requires reconnect \crosshair_per_weapon\Set a different crosshair for each weapon, good if you play without weapon models -\crosshair_color_override\Also set the color of the crosshair depending on the weapon you are currently holding +\crosshair_color_per_weapon\Set the color of the crosshair depending on the weapon you are currently holding \crosshair_size\Настроить размер перекрестья \crosshair_color_alpha\Настроить прозрачность перекрестья -\crosshair_color_red\Красная составляющая цвета перекрестья -\crosshair_color_green\Зелёная составляющая цвета перекрестья -\crosshair_color_blue\Синяя составляющая цвета перекрестья +\crosshair_color\Adjust the crosshair color \sbar_hudselector\Use the old HUD layout \XonoticMultiplayerDialog/Waypoints setup...\- \_cl_name\Имя, под которым вы появитесь в игре @@ -95,14 +94,13 @@ \m_pitch\Обратить движения мыши по вертикальной оси \vid_dgamouse\Использовать DGA ввод для мыши \con_closeontoggleconsole\Использовать привязку для открытия консоли также и для её сокрытия -\sbar_showbinds\Отображать действия / привязанные клавиши в строках, показываемых во время игры -\cl_showpressedkeys\Показывать, какие кнопки движений нажимает игрок \XonoticSettingsDialog/Изображение\Настройки изображения \vid_width\Разрешение экрана \vid_bitsperpixel\Сколько бит на точку использовать для вывода, советуется 32 \vid_fullscreen\Включить полноэкранный режим (по умолчанию: включено) \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) @@ -124,7 +122,7 @@ \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) @@ -132,7 +130,6 @@ \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) @@ -150,8 +147,7 @@ \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/Звук\Настройки звука \mastervolume\- @@ -186,32 +182,17 @@ \cl_port\Force client to use chosen port unless it is set to 0 \XonoticSettingsDialog/Разное\Разные настройки +\menu_tooltips\Menu tooltips: disabled, standard or advanced (also shows cvar or console command bound to the menu item) \showtime\Показывать текущее время, полезно на снимках экранов \showdate\Показывать текущую дату, полезно на снимках экранов \showfps\Show your rendered frames per second -\cl_showspeed\Показывать скорость игрока -\cl_showspeed_unit\Выбор единиц измерения спидометра. qu/s = quake units/second = дюйм/секунду -\cl_showacceleration\Показывать ускорение игрока -\cl_showacceleration_scale\Excaggerate the accelerometer by this scale multiplier \XonoticSettingsDialog/Advanced settings...\Продвинутые настройки, в которых можно подстроить каждую переменную игры \g_friendlyfire\Доля урона, получаемого союзниками от союзников \g_mirrordamage\Доля урона, наносимого союзнику, которая будет отражена на себя \g_tdm_teams_override\Заменить значение по умолчанию количества команд в командных играх -\cl_teamradar_position\- -\cl_teamradar_size\- -\cl_teamradar_zoommode\- -\cl_teamradar_rotation\- -\cl_teamradar_scale\- -\cl_teamradar_foreground_alpha\- -\cl_teamradar_background_alpha\Значение прозрачности фона радара \viewsize\Включить/выключить фон HUD -\sbar_alpha_bg\Значение прозрачности фона HUD -\sbar_color_bg_r\Красная составляющая цвета фона HUD -\sbar_color_bg_g\Зелёная составляющая цвета фона HUD -\sbar_color_bg_b\Синяя составляющая цвета фона HUD -\sbar_color_bg_team\Насыщенность командного цвета фона HUD \cl_hidewaypoints\Показывать различные отметки, определяемые видом игры \g_waypointsprite_scale\Множитель размера отметок \g_waypointsprite_alpha\Управление прозрачностью отметок diff --git a/tooltips.db.uk b/tooltips.db.uk index 97dec8cba..31695a631 100644 --- a/tooltips.db.uk +++ b/tooltips.db.uk @@ -100,6 +100,7 @@ \vid_bitsperpixel\Скільки використовувати бітів на піксель (BPP), рекомендується 32 \vid_fullscreen\На повний екран (за замовчуванням: увімкнуто) \vid_vsync\Вмикає вертикальну синхронізацію щоб запобігти розривам зображення, ваші FPS не будуть підніматися вище швидкості оновлення монітору (за замовчуванням: увімкнуто) +\gl_texture_anisotropy\Якість анізотропної фільтрації (за замовчуванням: 1x) \r_glsl\Вмикає піксельні шейдери OpenGL 2.0 для освітлення (за замовчуванням: увімкнуто) \gl_vbo\Використовувати Vertex Buffer Objects щоб зберігати нерухому геометрію у відеопам'яті для прискорення рендеренгу (за замовчуванням: вершини та трикутники) \r_depthfirst\Прибирає перекриття одних пікселів іншими створюючи спочатку версію сцени з лише глибиною (за замовчуванням: вимкнуто) @@ -121,7 +122,7 @@ \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) @@ -129,7 +130,6 @@ \cl_gentle\Замінити шматки тіла та кров не жорстокими елементами (за замовчуванням: вимкнуто) \cl_nogibs\Зменшити кількість шматків тіла, або відключити їх зовсім (за замовчуванням: багато) \v_kicktime\Як довго триватиме поштовх від ураження (за замовчуванням: 0) -\gl_texture_anisotropy\Якість анізотропної фільтрації (за замовчуванням: 1x) \r_glsl_deluxemapping\Використовувати попіксельні ефекти освітлення (за замовчуванням: увімкнуто) \r_shadow_gloss\Вмикає використання мап блиску на текстурах, які їх підтримують (за замовчуванням: увімкнуто) \gl_flashblend\Вмикає швидкіше, але не таке гарне динамічне освітлення за допомогою яскравих корон, а не справжніх динамічних вогнів (за замовчуванням: вимкнуто) @@ -147,8 +147,7 @@ \r_coronas_occlusionquery\Прибирати корони відповідно з видимістю (за замовчуванням: увімкнуто) \r_bloom\Увімкнути ефект bloom, який освітлює ближні пікселі дуже яскравих пікселів. Має сильний вплив на продуктивність (за замовчуванням: вимкнуто) \r_hdr\Якісніша версія ефекту bloom, сильно впливає на продуктивність (за замовчуванням: вимкнуто) -\r_motionblur\Сила ефекту motion blur - рекомендується 0.5 -\r_damageblur\Кількість motion blur під час поранення - рекомендується 0.4 +\r_motionblur\Сила ефекту motion blur - рекомендується 0.4 \XonoticSettingsDialog/Звук\Налаштування аудіо \mastervolume\- @@ -183,6 +182,7 @@ \cl_port\Змушувати клієнта використовувати обраний порт, але тільки якщо значення не 0 \XonoticSettingsDialog/Різне\Різні налаштування +\menu_tooltips\Menu tooltips: disabled, standard or advanced (also shows cvar or console command bound to the menu item) \showtime\Показувати поточний час, корисно для скриншотів \showdate\Показувати поточну дату, корисно для скриншотів \showfps\Показувати лічильник кадрів за секунду diff --git a/vehicle_racer.cfg b/vehicle_racer.cfg index 33fb4140b..a3aa34de8 100644 --- a/vehicle_racer.cfg +++ b/vehicle_racer.cfg @@ -4,57 +4,58 @@ set g_vehicle_racer_health 190 set g_vehicle_racer_health_regen 0 set g_vehicle_racer_health_regen_pause 0 -set g_vehicle_racer_shield 75 -set g_vehicle_racer_shield_regen 25 +set g_vehicle_racer_shield 70 +set g_vehicle_racer_shield_regen 30 set g_vehicle_racer_shield_regen_pause 1 -set g_vehicle_racer_energy 125 +set g_vehicle_racer_energy 100 set g_vehicle_racer_energy_regen 40 set g_vehicle_racer_energy_regen_pause 1 -set g_vehicle_racer_speed_stop 2000 -set g_vehicle_racer_speed_forward 800 +set g_vehicle_racer_speed_stop 2500 +set g_vehicle_racer_speed_forward 500 set g_vehicle_racer_speed_strafe 500 -set g_vehicle_racer_speed_afterburn 2000 -set g_vehicle_racer_friction 0.4 -set g_vehicle_racer_afterburn_cost 60 // energy consumed per second +set g_vehicle_racer_speed_afterburn 3000 +set g_vehicle_racer_friction 0.3 +set g_vehicle_racer_afterburn_cost 50 // energy consumed per second set g_vehicle_racer_hovertype 0 // 0 = hover, != 0 = maglev -set g_vehicle_racer_hoverpower 5000 // NOTE!! x 4 (4 engines) +set g_vehicle_racer_hoverpower 7500 // NOTE!! x 4 (4 engines) set g_vehicle_racer_upforcedamper 10 set g_vehicle_racer_downforce 0.01 -set g_vehicle_racer_springlength 65 +set g_vehicle_racer_springlength 70 set g_vehicle_racer_collision_multiplier 0.05 set g_vehicle_racer_anglestabilizer 1.75 set g_vehicle_racer_turnspeed 200 set g_vehicle_racer_pitchspeed 100 -set g_vehicle_racer_maxpitch 25 -set g_vehicle_racer_turnroll 32 +set g_vehicle_racer_maxpitch 20 +set g_vehicle_racer_turnroll 16 set g_vehicle_racer_cannon_speed 9000 -set g_vehicle_racer_cannon_damage 20 +set g_vehicle_racer_cannon_damage 25 set g_vehicle_racer_cannon_radius 100 set g_vehicle_racer_cannon_refire 0.1 -set g_vehicle_racer_cannon_cost 4 +set g_vehicle_racer_cannon_cost 10 set g_vehicle_racer_cannon_spread 0.0125 set g_vehicle_racer_cannon_force 50 set g_vehicle_racer_rocket_speed 1000 set g_vehicle_racer_rocket_accel 1400 -set g_vehicle_racer_rocket_turnrate 0.17 -set g_vehicle_racer_rocket_damage 160 +set g_vehicle_racer_rocket_turnrate 0.1 +set g_vehicle_racer_rocket_damage 165 set g_vehicle_racer_rocket_force 350 set g_vehicle_racer_rocket_radius 125 set g_vehicle_racer_rocket_refire 6 set g_vehicle_racer_rocket_cost 0 +set g_vehicle_racer_rocket_climbspeed 1750 set g_vehicle_racer_rocket_locktarget 1 set g_vehicle_racer_rocket_locking_time 0.4 -set g_vehicle_racer_rocket_locking_releasetime 1.6 +set g_vehicle_racer_rocket_locking_releasetime 1.5 set g_vehicle_racer_rocket_locked_time 5 -set g_vehicle_racer_rocket_locked_maxangle 1.46 +set g_vehicle_racer_rocket_locked_maxangle 1.75 set g_vehicle_racer_blowup_radius 250 set g_vehicle_racer_blowup_coredamage 250 @@ -63,6 +64,6 @@ set g_vehicle_racer_blowup_forceintensity 250 set g_vehicle_racer_bouncefactor 0.25 // Factor of old velocity to keep after colission set g_vehicle_racer_bouncestop 0 // if != 0, New veloctiy after bounce = 0 if new velocity < this -set g_vehicle_racer_bouncepain "35 2 250" // "minspeed_for_pain speedchange_to_pain_factor max_damage" +set g_vehicle_racer_bouncepain "60 0.75 300" // "minspeed_for_pain speedchange_to_pain_factor max_damage" set g_vehicle_racer_mass 900 diff --git a/xonotic-credits.txt b/xonotic-credits.txt index 2e60c679f..9129bfc46 100644 --- a/xonotic-credits.txt +++ b/xonotic-credits.txt @@ -98,6 +98,7 @@ MirceaKitsune *Russian Lord Canistra Nikoli +Sergej "Clearness High" Lutsyk *Spanish Rodrigo Mouton Laudin @@ -120,12 +121,14 @@ chooksta cortez Cuinn "Cuinnton" Herrick Florian Paul "lda17h" Schmidt +Jope “Sless” Withers kojn Kristian "morfar" Johansson kuniuthefrogg magorian Maik "SavageX" Merten Marvin "Mirio" Beck +Mepper Mick Rippon MrBougo parasti diff --git a/xonotic-credits.txt.fr b/xonotic-credits.txt.fr index ec2d299a8..f33540890 100644 --- a/xonotic-credits.txt.fr +++ b/xonotic-credits.txt.fr @@ -4,9 +4,9 @@ Rudolf "divVerent" Polzer Tyler "-z-" Mulligan Merlijn Hofstra morphed -mand1nga -tZork - +Samual "Ares" Lenks +Saulo "mand1nga" Gil +Jakob "tZork" Markström Gröhn **Dévlopeurs secondaires @@ -24,15 +24,22 @@ morphed LJFHutch Pearce "theShadow" Michal +*Animation (FIXME) +Sahil "DiaboliK" Singhal +nifrek + *Création des cartes FruitieX MirceaKitsune +Jakob "tZork" Markström Gröhn Ruszkai "C.Brutail" Ákos *Musique / Sons mand1nga Merlijn Hofstra remaxim +Stephan +Independent.nu *Améliorations du moteur et QA Rudolf "divVerent" Polzer @@ -40,7 +47,7 @@ Rudolf "divVerent" Polzer *Code source du jeu Rudolf "divVerent" Polzer FruitieX -tZork +Jakob "tZork" Markström Gröhn *Marketing / Management du Projet Tyler "-z-" Mulligan @@ -57,6 +64,10 @@ by Forest "LordHavoc" Hale **Traducteurs +*Dutch (FIXME) +Alexander "freefang" van Dam +PinkRobot + *Allemand Rudolf "divVerent" Polzer @@ -65,6 +76,14 @@ Henry "Exitium" Sanmark *Français Calinou +Maxime "Taximus" Paradis + +*Greek (FIXME) +Γιάννης Α. + +*Hungarian (FIXME) +xaN1C4n3 +Ruszkai "C.Brutail" Ákos *Italien Antonio "terencehill" Piu @@ -79,20 +98,48 @@ MirceaKitsune *Russe Lord Canistra Nikoli +Sergej "Clearness High" Lutsyk + +*Spanish (FIXME) +Rodrigo Mouton Laudin + +*Swedish (FIXME) +marcus256 + +*Ukrainian (FIXME) +Vasyl "Harmata" Melnyk **Contribueurs actifs +Akari +Ant "Antibody" Zucaro Antonio "terencehill" Piu +atheros Ben "MooKow" Banker +blkrbt Calinou chooksta +cortez Cuinn "Cuinnton" Herrick -Kristian "morfar" Johansson +Florian Paul "lda17h" Schmidt +Jope “Sless” Withers kojn +Kristian "morfar" Johansson +kuniuthefrogg +magorian Maik "SavageX" Merten +Marvin "Mirio" Beck +Mepper +Mick Rippon MrBougo -Samual Lenks +parasti +Paul Scott +PlasmaSheep +Przemysław "atheros" Grzywacz +{SC0RP} - Ian "ID" Dorrell Severin "sev" Meyer +SoulKeeper_p Stephan "esteel" Stahl +The player with the unnecessarily long name Wolfgang "Blub\0" Bumiller **Anciens contribueurs @@ -101,7 +148,6 @@ Amos "torus" Dudley Andreas "Black" Kirsch Attila "WW3" Houtkooper BigMac -blkrbt Braden "meoblast001" Walters Brain Younds Chris "amethyst7" Matz @@ -152,7 +198,6 @@ Rick "Rat" Kelley Robert "ai" Kuroto Ronan Sajt -Severin "sev" Meyer Shaggy Shank Simon O'Callaghan @@ -162,7 +207,6 @@ Spirit Steve Vermeulen Supajoe Tei -terencehill Tomaz Ulrich Galbraith Vortex diff --git a/xonotic-credits.txt.hu b/xonotic-credits.txt.hu index faf205bce..0fe635221 100644 --- a/xonotic-credits.txt.hu +++ b/xonotic-credits.txt.hu @@ -39,6 +39,7 @@ mand1nga Merlijn Hofstra remaxim Stephan +Independent.nu *Játék motor kiegészitések Rudolf "divVerent" Polzer @@ -61,9 +62,15 @@ Merlijn Hofstra DarkPlaces by Forest "LordHavoc" Hale - **Fordítók +*Holland +Alexander "freefang" van Dam +PinkRobot + +*Német +Rudolf "divVerent" Polzer + *Finn Henry "Exitium" Sanmark @@ -71,37 +78,37 @@ Henry "Exitium" Sanmark Calinou Maxime "Taximus" Paradis -*Holland -Alexander "freefang" van Dam -PinkRobot +*Greek (FIXME) +Γιάννης Α. *Magyar xaN1C4n3 Ruszkai "C.Brutail" Ákos -*Német -Rudolf "divVerent" Polzer - *Olasz Antonio "terencehill" Piu Felice "MaidenBeast" Sallustio -*Orosz -Lord Canistra -Nikoli - *Portugál Ricardo "Hellgardia" Silva *Román MirceaKitsune +*Orosz +Lord Canistra +Nikoli +Sergej "Clearness High" Lutsyk + *Spanyol Rodrigo Mouton Laudin *Svéd marcus256 +*Ukrainian (FIXME) +Vasyl "Harmata" Melnyk + **További aktív résztvevők Akari Ant "Antibody" Zucaro @@ -114,12 +121,14 @@ chooksta cortez Cuinn "Cuinnton" Herrick Florian Paul "lda17h" Schmidt +Jope “Sless” Withers kojn Kristian "morfar" Johansson kuniuthefrogg magorian Maik "SavageX" Merten Marvin "Mirio" Beck +Mepper Mick Rippon MrBougo parasti diff --git a/xonotic-credits.txt.it b/xonotic-credits.txt.it index f0ace0681..e64a30a76 100644 --- a/xonotic-credits.txt.it +++ b/xonotic-credits.txt.it @@ -4,7 +4,8 @@ Rudolf "divVerent" Polzer Tyler "-z-" Mulligan Merlijn Hofstra morphed -mand1nga +Samual "Ares" Lenks +Saulo "mand1nga" Gil Jakob "tZork" Markström Gröhn **Coordinatori @@ -31,12 +32,14 @@ nifrek FruitieX MirceaKitsune Jakob "tZork" Markström Gröhn +Ruszkai "C.Brutail" Ákos *Musiche / Effetti sonori mand1nga Merlijn Hofstra remaxim Stephan +Independent.nu *Aggiunte al codice del motore e QA Rudolf "divVerent" Polzer @@ -49,6 +52,7 @@ Jakob "tZork" Markström Gröhn *Marketing / Pubbliche Relazioni Tyler "-z-" Mulligan mand1nga +Ruszkai "C.Brutail" Ákos *Aspetti legali Rudolf "divVerent" Polzer @@ -60,6 +64,10 @@ by Forest "LordHavoc" Hale **Traduttori +*Dutch +Alexander "freefang" van Dam +PinkRobot + *Tedesco Rudolf "divVerent" Polzer @@ -68,6 +76,14 @@ Henry "Exitium" Sanmark *Francese Calinou +Maxime "Taximus" Paradis + +*Greco +Γιάννης Α. + +*Ungherese +xaN1C4n3 +Ruszkai "C.Brutail" Ákos *Italiano Antonio "terencehill" Piu @@ -82,27 +98,49 @@ MirceaKitsune *Russo Lord Canistra Nikoli +Sergej "Clearness High" Lutsyk + +*Spagnolo +Rodrigo Mouton Laudin -**Contributori attivi +*Svedese +marcus256 + +*Ucraino +Vasyl "Harmata" Melnyk + +**Altri contributori attivi +Akari Ant "Antibody" Zucaro Antonio "terencehill" Piu +atheros Ben "MooKow" Banker blkrbt Calinou chooksta +cortez Cuinn "Cuinnton" Herrick Florian Paul "lda17h" Schmidt -Kristian "morfar" Johansson +Jope “Sless” Withers kojn +Kristian "morfar" Johansson +kuniuthefrogg +magorian Maik "SavageX" Merten +Marvin "Mirio" Beck +Mepper +Mick Rippon MrBougo +parasti +Paul Scott +PlasmaSheep Przemysław "atheros" Grzywacz -Ruszkai "C.Brutail" Ákos -Samual Lenks +{SC0RP} - Ian "ID" Dorrell Severin "sev" Meyer +SoulKeeper_p Stephan "esteel" Stahl +The player with the unnecessarily long name Wolfgang "Blub\0" Bumiller -SoulKeeper_p **Contributori passati Alexander "motorsep" Zubov diff --git a/xonotic-credits.txt.uk b/xonotic-credits.txt.uk index 1b3351d4f..dee9e99d7 100644 --- a/xonotic-credits.txt.uk +++ b/xonotic-credits.txt.uk @@ -39,6 +39,7 @@ mand1nga Merlijn Hofstra remaxim Stephan +Independent.nu *Додатки до коду рушія та контроль якості Rudolf "divVerent" Polzer @@ -77,8 +78,12 @@ Henry "Exitium" Sanmark Calinou Maxime "Taximus" Paradis +*Greek (FIXME) +Γιάννης Α. + *Угорська мова xaN1C4n3 +Ruszkai "C.Brutail" Ákos *Італійська мова Antonio "terencehill" Piu @@ -93,6 +98,7 @@ MirceaKitsune *Російська мова Lord Canistra Nikoli +Сергій "Clearness High" Луцик *Іспанська мова Rodrigo Mouton Laudin @@ -115,12 +121,14 @@ chooksta cortez Cuinn "Cuinnton" Herrick Florian Paul "lda17h" Schmidt +Jope “Sless” Withers kojn Kristian "morfar" Johansson kuniuthefrogg magorian Maik "SavageX" Merten Marvin "Mirio" Beck +Mepper Mick Rippon MrBougo parasti