-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
\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
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
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
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