X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Futil.qh;h=756e02cf51ffeb8aa85970233bfe7007d60818b9;hb=982216a30fcffb4b9581034ea6fbd94c7f349c7f;hp=3304d0e7a455453b02615f44a5664bfaafe8cbdb;hpb=e87123e5fba23f7a8907e6fbab241c5eec5be168;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/util.qh b/qcsrc/common/util.qh index 3304d0e7a..756e02cf5 100644 --- a/qcsrc/common/util.qh +++ b/qcsrc/common/util.qh @@ -1,12 +1,33 @@ #pragma once +#ifdef SVQC + #include +#endif + +#ifdef SVQC +float tracebox_inverted (vector v1, vector mi, vector ma, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity); // returns the number of traces done, for benchmarking + +void traceline_inverted (vector v1, vector v2, float nomonsters, entity forent, float stopatentity, entity ignorestopatentity); +#endif + #ifdef GAMEQC +/* +================== +findbetterlocation + +Returns a point at least 12 units away from walls +(useful for explosion animations, although the blast is performed where it really happened) +Ripped from DPMod +================== +*/ +vector findbetterlocation (vector org, float mindist); + vector real_origin(entity ent); #endif #ifdef SVQC -// temporary array used to dump weapon and turret settings -const int MAX_CONFIG_SETTINGS = 256; +// temporary array used to dump settings for each weapon / turret +const int MAX_CONFIG_SETTINGS = 70; string config_queue[MAX_CONFIG_SETTINGS]; #endif @@ -114,6 +135,8 @@ string getcurrentmod(); float matchacl(string acl, string str); // matches str against ACL acl (with entries +foo*, +foo, +*foo, +*foo*, and same with - for forbidding) +void write_String_To_File(int fh, string str, bool alsoprint); + string get_model_datafilename(string mod, float skn, string fil); // skin -1 will return wildcard, mod string_null will also put wildcard there string get_model_parameters_modelname; float get_model_parameters_modelskin; @@ -133,6 +156,9 @@ 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 +ERASEABLE +string translate_key(string key); + // x-encoding (encoding as zero length invisible string) // encodes approx. 14 bits into 5 bytes of color code string const float XENCODE_MAX = 21295; // 2*22*22*22-1 @@ -175,7 +201,7 @@ void FindConnectedComponent(entity e, .entity fld, findNextEntityNearFunction_t #else #define GENTLE autocvar_sv_gentle #endif - #define normal_or_gentle(normal, gentle) (GENTLE ? ((gentle != "") ? gentle : normal) : normal) + #define normal_or_gentle(normal, gentle) ((GENTLE && (gentle != "")) ? gentle : normal) #endif #ifdef GAMEQC