]> git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/client/miscfunctions.qc
Get VoreTournament code to compile with gmqcc. To be compiled with the same parameter...
[voretournament/voretournament.git] / data / qcsrc / client / miscfunctions.qc
index 885d1eda408a5d9e8cc89d6193175ef05e916059..dcbeca3eda41e1004ec7a01421f8d0d9e0f6606f 100644 (file)
@@ -1,4 +1,4 @@
-var float(string text, float handleColors, vector fontSize) stringwidth;\r
+float(string text, float handleColors, vector fontSize) stringwidth;\r
 \r
 entity players;\r
 entity teams;\r
@@ -180,6 +180,12 @@ void Announcer_Precache () {
 \r
        precache_sound (strcat("announcer/", cvar_string("cl_announcer"), "/lastsecond.wav"));\r
        precache_sound (strcat("announcer/", cvar_string("cl_announcer"), "/narrowly.wav"));\r
+\r
+       precache_sound (strcat("helper/", cvar_string("cl_helper_voice"), "/health.wav"));\r
+       precache_sound (strcat("helper/", cvar_string("cl_helper_voice"), "/armor.wav"));\r
+       precache_sound (strcat("helper/", cvar_string("cl_helper_voice"), "/ammo.wav"));\r
+       precache_sound (strcat("helper/", cvar_string("cl_helper_voice"), "/speed.wav"));\r
+       precache_sound (strcat("helper/", cvar_string("cl_helper_voice"), "/stomachload.wav"));\r
 }\r
 \r
 void AuditLists()\r
@@ -390,6 +396,33 @@ string ColorTranslateRGB(string s)
                return s;\r
 }\r
 \r
+string Team_ColorCode(float teamid)\r
+{\r
+    if (teamid == COLOR_TEAM1)\r
+        return "^1";\r
+    else if (teamid == COLOR_TEAM2)\r
+        return "^4";\r
+    else if (teamid == COLOR_TEAM3)\r
+        return "^3";\r
+    else if (teamid == COLOR_TEAM4)\r
+        return "^6";\r
+    else\r
+        return "^7";\r
+}\r
+\r
+// decolorizes and team colors the player name when needed\r
+string playername(string thename, float teamid)\r
+{\r
+    string t;\r
+    if (teamplay)\r
+    {\r
+        t = Team_ColorCode(teamid);\r
+        return strcat(t, strdecolorize(thename));\r
+    }\r
+    else\r
+        return strdecolorize(thename);\r
+}\r
+\r
 float cvar_or(string cv, float v)\r
 {\r
        string s;\r
@@ -481,28 +514,6 @@ void drawpic_expanding_two(vector position, string pic, vector scale, vector rgb
        drawpic(position, pic, scale, rgb, alpha * fadelerp, flag);\r
 }\r
 \r
-// drawstring wrapper to draw a string as large as possible with preserved aspect ratio into a box\r
-void drawstring_aspect(vector pos, string text, vector sz, vector color, float alpha, float drawflag) {\r
-       vector textsize;\r
-       textsize = '1 0 0' * stringwidth(text, FALSE, '1 1 1' * sz_y) + '1 0 0' * sz_y;\r
-\r
-       float textaspect;\r
-       textaspect = textsize_x/textsize_y;\r
-\r
-       vector oldsz;\r
-       oldsz = sz;\r
-       float aspect;\r
-       aspect = sz_x/sz_y;\r
-\r
-       if(aspect > textaspect) {\r
-               sz_x = sz_y * textaspect;\r
-               drawstring(pos + '1 0 0' * (oldsz_x - sz_x) * 0.5, text, '1 1 0' * sz_y, color, alpha, drawflag);\r
-       } else {\r
-               sz_y = sz_x / textaspect; \r
-               drawstring(pos + '0 1 0' * (oldsz_y - sz_y) * 0.5, text, '1 1 0' * sz_y, color, alpha, drawflag);\r
-       }\r
-}\r
-\r
 vector drawfontscale;\r
 void drawstring_expanding(vector position, string text, vector scale, vector rgb, float alpha, float flag, float fadelerp)\r
 {\r
@@ -713,3 +724,20 @@ void DrawCircleClippedPic(vector centre, float radius, string pic, float f, vect
                R_EndPolygon();\r
        }\r
 }\r
+\r
+const vector GETPLAYERORIGIN_ERROR = '1123581321 2357111317 3141592653'; // way out of bounds for anything on the map\r
+vector getplayerorigin(float pl)\r
+{\r
+       string s;\r
+       entity e;\r
+\r
+       s = getplayerkey(pl, "TEMPHACK_origin");\r
+       if(s != "")\r
+               return stov(s);\r
+\r
+       e = entcs_receiver[pl];\r
+       if(e)\r
+               return e.origin;\r
+\r
+       return GETPLAYERORIGIN_ERROR;\r
+}\r