From: terencehill Date: Sun, 13 Nov 2011 18:12:10 +0000 (+0100) Subject: Optimize a check X-Git-Tag: xonotic-v0.8.0~251^2~1 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=fc32492badad91f3422c0f64482ad91d30243220;p=xonotic%2Fxonotic-data.pk3dir.git Optimize a check --- diff --git a/qcsrc/common/util.qc b/qcsrc/common/util.qc index 5ffef8f09..e10e8f20f 100644 --- a/qcsrc/common/util.qc +++ b/qcsrc/common/util.qc @@ -1296,7 +1296,7 @@ string find_last_color_code(string s) ++carets; // check if carets aren't all escaped - if (carets == 1 || mod(carets, 2) == 1) // first check is just an optimization + if (carets & 1) { if(i+1 <= len) if(strstrofs("0123456789", substring(s, i+1, 1), 0) >= 0) diff --git a/qcsrc/menu/xonotic/colorpicker.c b/qcsrc/menu/xonotic/colorpicker.c index 781ca9a44..b93418510 100644 --- a/qcsrc/menu/xonotic/colorpicker.c +++ b/qcsrc/menu/xonotic/colorpicker.c @@ -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) @@ -122,7 +122,7 @@ float XonoticColorpicker_mouseDrag(entity me, vector coords) carets = 1; while (i - 1 - carets >= 0 && substring(me.controlledTextbox.text, i - 1 - carets, 1) == "^") ++carets; - if (carets == 1 || mod(carets, 2) == 1) // first check is just an optimization + if (carets & 1) me.controlledTextbox.enterText(me.controlledTextbox, "^"); // escape previous caret }