X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Futil.qc;h=582777647c9fcd2e2798baa4c695ecea269d3969;hb=2cc7eae7ae21a69e08b7755d0a65d30ce9715899;hp=1930d7c6fc4a04f2c7d33d029631f79bae308c29;hpb=2ab57b248854a04ac90ab5652f409770a20139c0;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/util.qc b/qcsrc/common/util.qc index 1930d7c6f..582777647 100644 --- a/qcsrc/common/util.qc +++ b/qcsrc/common/util.qc @@ -196,6 +196,9 @@ float median(float a, float b, float c) // works for up to 10 decimals! string ftos_decimals(float number, float decimals) { + // inhibit stupid negative zero + if(number == 0) + number = 0; // we have sprintf... return sprintf("%.*f", decimals, number); } @@ -909,6 +912,8 @@ float almost_in_bounds(float a, float b, float c) { float eps; eps = (max(a, -a) + max(c, -c)) * 0.001; + if(a > c) + eps = -eps; return b == median(a - eps, b, c + eps); } @@ -1580,6 +1585,10 @@ void check_unacceptable_compiler_bugs() tokenize_console("foo bar"); if(strcat(argv(0), substring("foo bar", 4, 7 - argv_start_index(1))) == "barbar") error("fteqcc bug introduced with revision 3178 detected. Please upgrade fteqcc to a later revision, downgrade fteqcc to revision 3177, or pester Spike until he fixes it. You can set _allow_unacceptable_compiler_bugs 1 to skip this check, but expect stuff to be horribly broken then."); + + string s = ""; + if not(s) + error("The empty string counts as false. We do not want that!"); } float compressShotOrigin(vector v)