]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/util.qh
Rename t_items.qc to items.qc
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / util.qh
index 3304d0e7a455453b02615f44a5664bfaafe8cbdb..756e02cf51ffeb8aa85970233bfe7007d60818b9 100644 (file)
@@ -1,12 +1,33 @@
 #pragma once
 
+#ifdef SVQC
+       #include <server/autocvars.qh>
+#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