X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fcrosshairbutton.c;h=7fe3a600f2e57d49338a1f7b3ac358fa9f09590e;hp=434a7bc87fabe63b7ac17a9846f44a6772d4a3e3;hb=0f0e69c6625fc4db17559e2e47f2fdaed8298076;hpb=26c8963b7747f4c53fc541df0dd71b7024d1d496 diff --git a/qcsrc/menu/xonotic/crosshairbutton.c b/qcsrc/menu/xonotic/crosshairbutton.c index 434a7bc87..7fe3a600f 100644 --- a/qcsrc/menu/xonotic/crosshairbutton.c +++ b/qcsrc/menu/xonotic/crosshairbutton.c @@ -34,7 +34,7 @@ void XonoticCrosshairButton_configureXonoticCrosshairButton(entity me, float the me.configureRadioButton(me, string_null, me.fontSize, me.image, theGroup, 0); me.srcMulti = 1; if(me.cvarValueFloat == -1) - me.src3 = strzone(strcat("/gfx/crosshair", cvar("crosshair"))); + me.src3 = strzone(strcat("/gfx/crosshair", cvar_string("crosshair"))); else me.src3 = strzone(strcat("/gfx/crosshair", ftos(me.cvarValueFloat))); me.src4 = "/gfx/crosshairdot"; @@ -50,14 +50,14 @@ void XonoticCrosshairButton_setChecked(entity me, float val) } void XonoticCrosshairButton_loadCvars(entity me) { - if not(me.cvarName) + if (!me.cvarName) return; me.checked = (cvar(me.cvarName) == me.cvarValueFloat); } void XonoticCrosshairButton_saveCvars(entity me) { - if not(me.cvarName) + if (!me.cvarName) return; if(me.checked) @@ -69,12 +69,20 @@ void XonoticCrosshairButton_draw(entity me) vector sz, rgb; float a; - rgb = stov(cvar_string("crosshair_color")); - a = cvar("crosshair_alpha"); - if(!me.checked && !me.focused && me.cvarValueFloat != -1) + if(me.cvarValueFloat == -1) + { + rgb = stov(cvar_string("crosshair_color")); + a = cvar("crosshair_alpha"); + } + else if(me.checked || me.focused) + { + a = 1; + rgb = '1 1 1'; + } + else { - a *= me.disabledAlpha; + a = me.disabledAlpha; rgb = '1 1 1'; } @@ -90,24 +98,31 @@ void XonoticCrosshairButton_draw(entity me) SUPER(XonoticCrosshairButton).draw(me); sz = draw_PictureSize(me.src3); - sz = globalToBoxSize(sz, draw_scale); + sz = globalToBoxSize(sz, me.size); if(me.cvarValueFloat == -1) { - sz = (6 * '1 1 0' + sz * cvar("crosshair_size")) * 0.08; // (6 * '1 1 0' + ...) * 0.08 here to make visible size changes happen also at bigger sizes + sz = sz * cvar("crosshair_size"); // (6 * '1 1 0' + ...) * 0.08 here to make visible size changes happen also at bigger sizes + /* if(sz_x > 0.95) sz = sz * (0.95 / sz_x); if(sz_y > 0.95) sz = sz * (0.95 / sz_y); + */ } else // show the crosshair picker at full size - sz = '0.95 0.95 0'; + { + sz = sz * (0.95 / sz_x); + if(sz_y > 0.95) + sz = sz * (0.95 / sz_y); + } 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