]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/util.qh
Rename a few parameters and locals named x, y, z
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / util.qh
index 2a6d28e8e295672169956599e0e386fe0b8e916a..05e4a4ea2736b4e5c8e92a9859e58ae870391c7b 100644 (file)
@@ -1,17 +1,18 @@
-#ifndef COMMON_UTIL_H
-#define COMMON_UTIL_H
+#pragma once
+
+#ifdef GAMEQC
 
-#ifndef MENUQC
 vector real_origin(entity ent);
 #endif
 
+IntrusiveList g_saved_cvars;
+STATIC_INIT(g_saved_cvars) { g_saved_cvars = IL_NEW(); }
+
 // 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);
-#endif
+#ifdef SVQC
+void wordwrap_sprint(entity to, string s, float l);
 #endif
 void wordwrap_cb(string s, float l, void(string) callback);
 
@@ -27,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);
 
@@ -63,11 +64,10 @@ const float TIME_FACTOR = 100;
 
 string ScoreString(float vflags, float value);
 
-void compressShortVector_init();
 vector decompressShortVector(float data);
 float compressShortVector(vector vec);
 
-#ifndef MENUQC
+#ifdef GAMEQC
 float CheckWireframeBox(entity forent, vector v0, vector dvx, vector dvy, vector dvz);
 #endif
 
@@ -80,7 +80,7 @@ float cvar_value_issafe(string s);
 float cvar_settemp(string pKey, string pValue);
 float cvar_settemp_restore();
 
-#ifndef MENUQC
+#ifdef GAMEQC
 // modes: 0 = trust q3map2 (_mini images)
 //        1 = trust tracebox (_radar images)
 // in both modes, mapinfo's "size" overrides
@@ -103,7 +103,7 @@ float almost_equals(float a, float b);
 float almost_in_bounds(float a, float b, float c);
 
 float power2of(float e);
-float log2of(float x);
+float log2of(float e);
 
 vector rgb_to_hsl(vector rgb);
 vector hsl_to_rgb(vector hsl);
@@ -114,8 +114,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);
@@ -125,7 +125,7 @@ string getWrappedLine_remaining;
 string getWrappedLine(float w, vector size, textLengthUpToWidth_widthFunction_t tw);
 string getWrappedLineLen(float w, textLengthUpToLength_lenFunction_t tw);
 
-float isGametypeInFilter(float gt, float tp, float ts, string pattern);
+float isGametypeInFilter(entity gt, float tp, float ts, string pattern);
 
 string swapwords(string str, float i, float j);
 string shufflewords(string str);
@@ -149,14 +149,14 @@ string rankings_reply, ladder_reply, lsmaps_reply, maplist_reply, monsterlist_re
 string records_reply[10];
 #endif
 
-#ifndef MENUQC
+#ifdef GAMEQC
 vector healtharmor_maxdamage(float h, float a, float armorblock, int deathtype); // returns vector: maxdamage, armorideal, 1 if fully armored
 vector healtharmor_applydamage(float a, float armorblock, int deathtype, float damage); // returns vector: take, save, 0
 #endif
 
 string getcurrentmod();
 
-#ifndef MENUQC
+#ifdef GAMEQC
 #ifdef CSQC
 int ReadInt24_t();
 #else
@@ -181,6 +181,7 @@ float get_model_parameters_species;
 string get_model_parameters_sex;
 float get_model_parameters_weight;
 float get_model_parameters_age;
+bool get_model_parameters_hidden;
 string get_model_parameters_description;
 string get_model_parameters_bone_upperbody;
 string get_model_parameters_bone_weapon;
@@ -191,7 +192,7 @@ 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
 
-#ifndef MENUQC
+#ifdef GAMEQC
 vector NearestPointOnBox(entity box, vector org);
 #endif
 
@@ -206,7 +207,7 @@ const float XENCODE_LEN = 5;
 string xencode(float f);
 float xdecode(string s);
 
-#ifndef MENUQC
+#ifdef GAMEQC
 string strtolower(string s);
 #endif
 
@@ -215,7 +216,7 @@ string MakeConsoleSafe(string input);
 // generic shutdown handler
 void Shutdown();
 
-#ifndef MENUQC
+#ifdef GAMEQC
 .float skeleton_bones;
 void Skeleton_SetBones(entity e);
 // loops through the tags of model v using counter tagnum
@@ -232,23 +233,20 @@ float ReadApproxPastTime();
 void execute_next_frame();
 void queue_to_execute_next_frame(string s);
 
-// for marking written-to values as unused where it's a good idea to do this
-noref float unused_float;
-
 // a function f with:
 // f(0) = 0
 // f(1) = 1
 // f'(0) = startspeedfactor
 // f'(1) = endspeedfactor
-float cubic_speedfunc(float startspeedfactor, float endspeedfactor, float x);
+float cubic_speedfunc(float startspeedfactor, float endspeedfactor, float spd);
 
 // checks whether f'(x) = 0 anywhere from 0 to 1
 // because if this is the case, the function is not usable for platforms
 // 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
@@ -260,7 +258,7 @@ void FindConnectedComponent(entity e, .entity fld, findNextEntityNearFunction_t
 
 string CCR(string input);
 
-#ifndef MENUQC
+#ifdef GAMEQC
        #ifdef CSQC
                #define GENTLE (autocvar_cl_gentle || autocvar_cl_gentle_messages)
        #else
@@ -269,15 +267,11 @@ string CCR(string input);
        #define normal_or_gentle(normal, gentle) (GENTLE ? ((gentle != "") ? gentle : normal) : normal)
 #endif
 
-#ifndef MENUQC
+#ifdef GAMEQC
 vector animfixfps(entity e, vector a, vector b);
 #endif
 
-#ifdef SVQC
-void dedicated_print(string input);
-#endif
-
-#ifndef MENUQC
+#ifdef GAMEQC
 const float CNT_NORMAL = 1;
 const float CNT_GAMESTART = 2;
 const float CNT_IDLE = 3;
@@ -287,7 +281,7 @@ const float CNT_ROUNDSTART = 6;
 entity Announcer_PickNumber(float type, float num);
 #endif
 
-#ifndef MENUQC
+#ifdef GAMEQC
 int Mod_Q1BSP_SuperContentsFromNativeContents(int nativecontents);
 int Mod_Q1BSP_NativeContentsFromSuperContents(int supercontents);
 #endif
@@ -300,4 +294,3 @@ vector bezier_quadratic_getderivative(vector a, vector p, vector b, float t);
 
 // Returns the correct difference between two always increasing numbers
 #define COMPARE_INCREASING(to,from) (to < from ? from + to + 2 : to - from)
-#endif