X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Futil.qh;h=63fd27839d15ee0617d873c3f55f6758408173f1;hb=a8156930ac4a14c3fe33abfb41e47191691a6a4f;hp=d0a8ab86a1acec5d974fa5ea56001ef8973e4bb8;hpb=797bf448a96c0c13d783c7c919bb2caf6fa16707;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/util.qh b/qcsrc/common/util.qh index d0a8ab86a..63fd27839 100644 --- a/qcsrc/common/util.qh +++ b/qcsrc/common/util.qh @@ -1,9 +1,5 @@ #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 @@ -26,8 +22,8 @@ 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 @@ -156,6 +152,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 @@ -194,11 +193,14 @@ void FindConnectedComponent(entity e, .entity fld, findNextEntityNearFunction_t #ifdef GAMEQC #ifdef CSQC + bool autocvar_cl_gentle; + int autocvar_cl_gentle_messages; #define GENTLE (autocvar_cl_gentle || autocvar_cl_gentle_messages) #else + int autocvar_sv_gentle; #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 @@ -208,7 +210,7 @@ vector animfixfps(entity e, vector a, vector b); #ifdef GAMEQC const int CNT_NORMAL = 1; const int CNT_GAMESTART = 2; -const int CNT_IDLE = 3; +//const int CNT_IDLE = 3; const int CNT_KILL = 4; const int CNT_RESPAWN = 5; const int CNT_ROUNDSTART = 6; @@ -224,3 +226,31 @@ int Mod_Q1BSP_NativeContentsFromSuperContents(int supercontents); // Returns the correct difference between two always increasing numbers #define COMPARE_INCREASING(to,from) (to < from ? from + to + 2 : to - from) + +#ifdef SVQC +void attach_sameorigin(entity e, entity to, string tag); +void detach_sameorigin(entity e); +void follow_sameorigin(entity e, entity to); + +void SetMovetypeFollow(entity ent, entity e); +void UnsetMovetypeFollow(entity ent); +int LostMovetypeFollow(entity ent); +#endif + +#ifdef GAMEQC +string playername(string thename, int teamid, bool team_colorize); + +float trace_hits_box_1d(float end, float thmi, float thma); + +float trace_hits_box(vector start, vector end, vector thmi, vector thma); + +float tracebox_hits_box(vector start, vector mi, vector ma, vector end, vector thmi, vector thma); + +float tracebox_hits_box(vector start, vector mi, vector ma, vector end, vector thmi, vector thma); +#endif + +float cvar_or(string cv, float v); + +float blink_synced(float base, float range, float freq, float start_time, int start_blink); + +float blink(float base, float range, float freq);