X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Futil.qh;h=65b4e67a427b5eca7ba99208d874cec288d466be;hb=7f6f6ddf5a60125f13cbc906c5e29faf61310d80;hp=9b969134a56ef21ed1968505b3008aae94bd37ac;hpb=6dbd388cb15fe8a3a006292b7332086347250039;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/util.qh b/qcsrc/common/util.qh index 9b969134a..65b4e67a4 100644 --- a/qcsrc/common/util.qh +++ b/qcsrc/common/util.qh @@ -1,4 +1,3 @@ -#define WANT_CONST // commonly used, but better make them macros #define TRUE 1 #define FALSE 0 @@ -99,12 +98,8 @@ void db_put(float db, string key, string value); 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); @@ -209,8 +204,6 @@ vector solve_quadratic(float a, float b, float c); 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); @@ -273,6 +266,7 @@ float get_model_parameters_species; string get_model_parameters_sex; float get_model_parameters_weight; float get_model_parameters_age; +string get_model_parameters_description; string get_model_parameters_bone_upperbody; string get_model_parameters_bone_weapon; #define MAX_AIM_BONES 4 @@ -364,6 +358,11 @@ typedef entity(entity cur, entity near, entity pass) findNextEntityNearFunction_ typedef float(entity a, entity b, entity pass) isConnectedFunction_t; void FindConnectedComponent(entity e, .entity fld, findNextEntityNearFunction_t nxt, isConnectedFunction_t iscon, entity pass); +#ifdef SVQC +vector combine_to_vector(float x, float y, float z); +vector get_corner_position(entity box, float corner); +#endif + // expand multiple arguments into one argument by stripping parenthesis #define XPD(...) __VA_ARGS__ @@ -373,9 +372,9 @@ void FindConnectedComponent(entity e, .entity fld, findNextEntityNearFunction_t #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 @@ -445,3 +444,8 @@ float Mod_Q1BSP_NativeContentsFromSuperContents(float supercontents); // Quadratic splines (bezier) vector bezier_quadratic_getpoint(vector a, vector p, vector b, float t); 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