X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fcolorpicker.c;h=e0727373c14b3a4795db1cde2f3caadaec45bfbc;hb=71e6c75bc408ae5a116f296797c49c0cef7be113;hp=df9620696808337bf5e915f9bc8aa1f78e84fd7e;hpb=2d2351bc7d8e46d75f365c83ed04a64b4a203a73;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/colorpicker.c b/qcsrc/menu/xonotic/colorpicker.c index df9620696..e0727373c 100644 --- a/qcsrc/menu/xonotic/colorpicker.c +++ b/qcsrc/menu/xonotic/colorpicker.c @@ -53,7 +53,7 @@ vector hslimage_color(vector v, vector margin) vector color_hslimage(vector v, vector margin) { - vector pos; + vector pos = '0 0 0'; v = rgb_to_hsl(v); if (v_y) { @@ -83,7 +83,7 @@ float XonoticColorpicker_mouseDrag(entity me, vector coords) carets = 1; while (i - 2 - carets >= 0 && substring(me.controlledTextbox.text, i - 2 - carets, 1) == "^") ++carets; - if (carets == 1 || mod(carets, 2) == 1) // first check is just an optimization + if (carets & 1) if(strstrofs("0123456789", substring(me.controlledTextbox.text, i-1, 1), 0) >= 0) { me.controlledTextbox.keyDown(me.controlledTextbox, K_BACKSPACE, 8, 0); @@ -100,7 +100,7 @@ float XonoticColorpicker_mouseDrag(entity me, vector coords) carets = 1; while (i - 5 - carets >= 0 && substring(me.controlledTextbox.text, i - 5 - carets, 1) == "^") ++carets; - if (carets == 1 || mod(carets, 2) == 1) // first check is just an optimization + if (carets & 1) if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-3, 1), 0) >= 0) if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-2, 1), 0) >= 0) if(strstrofs("0123456789abcdefABCDEF", substring(me.controlledTextbox.text, i-1, 1), 0) >= 0) @@ -117,6 +117,15 @@ float XonoticColorpicker_mouseDrag(entity me, vector coords) break; } + if(substring(me.controlledTextbox.text, i-1, 1) == "^") + { + carets = 1; + while (i - 1 - carets >= 0 && substring(me.controlledTextbox.text, i - 1 - carets, 1) == "^") + ++carets; + if (carets & 1) + me.controlledTextbox.enterText(me.controlledTextbox, "^"); // escape previous caret + } + vector margin; margin = me.imagemargin; if(coords_x >= margin_x)