X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;ds=sidebyside;f=qcsrc%2Fmenu%2Fxonotic%2Fcrosshairbutton.c;h=0b501f5b642dfa181ff11d6b164ba51812949664;hb=e05b430b4cedc7fd020212a2b94c8b68d26f8bad;hp=caaa1232211c8cd51b84dc7c5af073e2de0d7bed;hpb=d6868c29436f076daf3e6c68e893d947ace437ff;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/crosshairbutton.c b/qcsrc/menu/xonotic/crosshairbutton.c index caaa12322..0b501f5b6 100644 --- a/qcsrc/menu/xonotic/crosshairbutton.c +++ b/qcsrc/menu/xonotic/crosshairbutton.c @@ -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