From: terencehill Date: Wed, 27 Oct 2010 20:05:50 +0000 (+0200) Subject: Do not execute the TrueAim code if the crosshair doesn't get drawn. X-Git-Tag: xonotic-v0.1.0preview~207^2~3 X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=02990abeb6b6bba0059e812a1b78e67f6febffba;hp=9d4da85fc585e2f1840ac233e4d8b7ab0dcf60f1;ds=sidebyside Do not execute the TrueAim code if the crosshair doesn't get drawn. Fix big and misaligned crosshair when setting crosshair_size to 0. Fix wrong cvar name. However, more appropriate names for the cvars crosshair_color_alpha and crosshair__color_alpha would be crosshair_alpha and crosshair__alpha --- diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index b89fdda7ea..929c93994d 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -91,7 +91,7 @@ seta crosshair 3 seta crosshair_color_red 0.6 seta crosshair_color_green 0.8 seta crosshair_color_blue 1 -seta crosshair_alpha 1 +seta crosshair_color_alpha 1 seta crosshair_size 0.35 seta crosshair_dot 1 seta crosshair_dot_alpha 1 diff --git a/qcsrc/client/View.qc b/qcsrc/client/View.qc index 25bde8975c..0381845ffd 100644 --- a/qcsrc/client/View.qc +++ b/qcsrc/client/View.qc @@ -698,6 +698,18 @@ void CSQC_UpdateView(float w, float h) // crosshair goes VERY LAST if(!scoreboard_active && !camera_active && intermission != 2) { + string wcross_style; + float wcross_alpha, wcross_resolution; + wcross_style = cvar_string("crosshair"); + if (wcross_style == "0") + return; + wcross_resolution = cvar("crosshair_size"); + if (wcross_resolution == 0) + return; + wcross_alpha = cvar("crosshair_color_alpha"); + if (wcross_alpha == 0) + return; + // TrueAim check float shottype; float bullets, ring_scale; @@ -723,24 +735,26 @@ void CSQC_UpdateView(float w, float h) else shottype = SHOTTYPE_HITWORLD; - string wcross_style; - wcross_style = cvar_string("crosshair"); - if (wcross_style != "0") { vector wcross_color, wcross_size; string wcross_wep, wcross_name; - float wcross_alpha, wcross_scale, wcross_blur, wcross_resolution; + float wcross_scale, wcross_blur; wcross_color_x = cvar("crosshair_color_red"); wcross_color_y = cvar("crosshair_color_green"); wcross_color_z = cvar("crosshair_color_blue"); - wcross_alpha = cvar("crosshair_color_alpha"); - wcross_resolution = cvar("crosshair_size"); if (cvar("crosshair_per_weapon")) { e = get_weaponinfo(activeweapon); if (e && e.netname != "") { wcross_wep = e.netname; + wcross_resolution *= cvar(strcat("crosshair_", wcross_wep, "_size")); + if (wcross_resolution == 0) + return; + wcross_alpha *= cvar(strcat("crosshair_", wcross_wep, "_color_alpha")); + if (wcross_alpha == 0) + return; + wcross_style = cvar_string(strcat("crosshair_", wcross_wep)); if(wcross_style == "") wcross_style = e.netname; @@ -751,9 +765,6 @@ void CSQC_UpdateView(float w, float h) wcross_color_y = cvar(strcat("crosshair_", wcross_wep, "_color_green")); wcross_color_z = cvar(strcat("crosshair_", wcross_wep, "_color_blue")); } - - wcross_alpha *= cvar(strcat("crosshair_", wcross_wep, "_color_alpha")); - wcross_resolution *= cvar(strcat("crosshair_", wcross_wep, "_size")); } } @@ -771,7 +782,7 @@ void CSQC_UpdateView(float w, float h) if(shottype == SHOTTYPE_HITENEMY) wcross_scale *= cvar("crosshair_hittest"); // is not queried if hittest is 0 - if(shottype == SHOTTYPE_HITTEAM) + else if(shottype == SHOTTYPE_HITTEAM) wcross_scale /= cvar("crosshair_hittest"); // is not queried if hittest is 0 f = cvar("crosshair_effect_speed");