float buf_load(string filename);
void buf_save(float buf, string filename);
-// modulo function
-#ifndef MENUQC
-float mod(float a, float b) { return a - (floor(a / b) * b); }
-#endif
-
#define TIME_TO_NTHS(t,n) floor((t) * (n) + 0.4)
+string format_time(float seconds);
string mmsss(float t);
string mmssss(float t);
vector solve_shotdirection(vector myorg, vector myvel, vector eorg, vector evel, float spd, float newton_style);
vector get_shotvelocity(vector myvel, vector mydir, float spd, float newton_style, float mi, float ma);
-void check_unacceptable_compiler_bugs();
-
float compressShotOrigin(vector v);
vector decompressShotOrigin(float f);
#define fprintf(file, ...) fputs(file, sprintf(__VA_ARGS__))
#define bprintf(...) bprint(sprintf(__VA_ARGS__))
-#ifndef MENUQC
+//#ifndef MENUQC
void backtrace(string msg);
-#endif
+//#endif
// color code replace, place inside of sprintf and parse the string... defaults described as constants
// foreground/normal colors
vector bezier_quadratic_getderivative(vector a, vector p, vector b, float t);
#define APPEND_TO_STRING(list,sep,add) ((list) = (((list) != "") ? strcat(list, sep, add) : (add)))
+
+// Returns the correct difference between two always increasing numbers
+#define COMPARE_INCREASING(to,from) (to < from ? from + to + 2 : to - from)
\ No newline at end of file