X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Futil.qh;h=fa17a06a328af4414350a1a9a29632f5114cd34b;hb=ad7be281f504399fb46e3f5dd6393f221b4154cb;hp=f0d180dad1d0bdb868baea5767806ab52208c75f;hpb=c741e6b3f012aa525f23e1df30d1d933b383fbc5;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/util.qh b/qcsrc/common/util.qh index f0d180dad..fa17a06a3 100644 --- a/qcsrc/common/util.qh +++ b/qcsrc/common/util.qh @@ -1,12 +1,17 @@ #ifndef COMMON_UTIL_H #define COMMON_UTIL_H +#ifndef MENUQC + +vector real_origin(entity ent); +#endif + // this returns a tempstring containing a copy of s with additional \n newlines added, it also replaces \n in the text with a real newline // NOTE: s IS allowed to be a tempstring string wordwrap(string s, float l); #ifndef MENUQC #ifndef CSQC -void wordwrap_sprint(string s, float l); +void wordwrap_sprint(entity to, string s, float l); #endif #endif void wordwrap_cb(string s, float l, void(string) callback); @@ -23,8 +28,8 @@ void depthfirst(entity start, .entity up, .entity downleft, .entity right, void( float median(float a, float b, float c); // converts a number to a string with the indicated number of decimals -// works for up to 10 decimals! string ftos_decimals(float number, float decimals); +string ftos_mindecimals(float number); bool fexists(string f); @@ -110,8 +115,8 @@ string rgb_to_hexcolor(vector rgb); float boxesoverlap(vector m1, vector m2, vector m3, vector m4); float boxinsidebox(vector smins, vector smaxs, vector bmins, vector bmaxs); -typedef float(string s, vector size) textLengthUpToWidth_widthFunction_t; -typedef float(string s) textLengthUpToLength_lenFunction_t; +USING(textLengthUpToWidth_widthFunction_t, float(string s, vector size)); +USING(textLengthUpToLength_lenFunction_t, float(string s)); float textLengthUpToWidth(string theText, float maxWidth, vector size, textLengthUpToWidth_widthFunction_t tw); string textShortenToWidth(string theText, float maxWidth, vector size, textLengthUpToWidth_widthFunction_t tw); float textLengthUpToLength(string theText, float maxWidth, textLengthUpToLength_lenFunction_t tw); @@ -155,8 +160,6 @@ string getcurrentmod(); #ifndef MENUQC #ifdef CSQC int ReadInt24_t(); -vector ReadInt48_t(); -vector ReadInt72_t(); #else void WriteInt24_t(float dest, float val); void WriteInt48_t(float dest, vector val); @@ -189,8 +192,6 @@ float get_model_parameters_fixbone; string get_model_parameters_desc; float get_model_parameters(string mod, float skn); // call with string_null to clear; skin -1 means mod is the filename of the txt file and is to be split -vector vec2(vector v); - #ifndef MENUQC vector NearestPointOnBox(entity box, vector org); #endif @@ -247,8 +248,8 @@ float cubic_speedfunc(float startspeedfactor, float endspeedfactor, float x); // as it may exceed 0..1 bounds, or go in reverse float cubic_speedfunc_is_sane(float startspeedfactor, float endspeedfactor); -typedef entity(entity cur, entity near, entity pass) findNextEntityNearFunction_t; -typedef float(entity a, entity b, entity pass) isConnectedFunction_t; +USING(findNextEntityNearFunction_t, entity(entity cur, entity near, entity pass)); +USING(isConnectedFunction_t, float(entity a, entity b, entity pass)); void FindConnectedComponent(entity e, .entity fld, findNextEntityNearFunction_t nxt, isConnectedFunction_t iscon, entity pass); // expand multiple arguments into one argument by stripping parenthesis @@ -269,16 +270,10 @@ string CCR(string input); #define normal_or_gentle(normal, gentle) (GENTLE ? ((gentle != "") ? gentle : normal) : normal) #endif -vector vec3(float x, float y, float z); - #ifndef MENUQC vector animfixfps(entity e, vector a, vector b); #endif -#ifdef SVQC -void dedicated_print(string input); -#endif - #ifndef MENUQC const float CNT_NORMAL = 1; const float CNT_GAMESTART = 2; @@ -286,7 +281,7 @@ const float CNT_IDLE = 3; const float CNT_KILL = 4; const float CNT_RESPAWN = 5; const float CNT_ROUNDSTART = 6; -float Announcer_PickNumber(float type, float num); +entity Announcer_PickNumber(float type, float num); #endif #ifndef MENUQC