+vector Sbar_ConvertToScreen_PicScale(vector dimensions)\r
+{\r
+ vector sz;\r
+ sz_x = vid_conwidth * dimensions_x;\r
+ sz_y = vid_conheight * dimensions_y;\r
+ return sz;\r
+}\r
+vector Sbar_ConvertToScreen_PicPosition(vector position, vector dimensions)\r
+{\r
+ vector pos, sz;\r
+ sz = Sbar_ConvertToScreen_PicScale(dimensions);\r
+ pos_x = (vid_conwidth / 2) * bound(0, 1 + position_x, 2);\r
+ pos_x -= sz_x / 2;\r
+ pos_y = (vid_conheight / 2) * bound(0, 1 - position_y, 2);\r
+ pos_y -= sz_y / 2;\r
+ return pos;\r
+}\r
+vector Sbar_ConvertToScreen_TextPosition(string text, vector position, float lettersize)\r
+{\r
+ vector pos, sz;\r
+ sz_x = sz_y = lettersize;\r
+ pos_x = (vid_conwidth / 2) * bound(0, 1 + position_x, 2);\r
+ pos_x -= stringwidth(text, TRUE, sz) * 0.5;\r
+ pos_y = (vid_conheight / 2) * bound(0, 1 - position_y, 2);\r
+ pos_y -= sz_y / 2;\r
+ return pos;\r
+}\r
+\r
+void Sbar_DrawPic(string pic, vector position, vector dimensions, float background)\r
+{\r
+ vector pos, sz;\r
+ pos = Sbar_ConvertToScreen_PicPosition(position, dimensions);\r
+ sz = Sbar_ConvertToScreen_PicScale(dimensions);\r
+\r
+ if(background)\r
+ {\r
+ if(teamplay)\r
+ drawpic(pos, pic, sz, GetTeamRGB(myteam) * sbar_color_bg_team, sbar_alpha_bg, DRAWFLAG_NORMAL); // hud color = myteam color\r
+ else\r
+ drawpic(pos, pic, sz, stov(cvar_string("sbar_color_bg")), sbar_alpha_bg, DRAWFLAG_NORMAL);\r
+ }\r
+ else\r
+ drawpic(pos, pic, sz, '1 1 1', sbar_alpha_fg, DRAWFLAG_NORMAL);\r
+}\r
+\r
+void Sbar_DrawString(string text, vector position, float lettersize)\r
+{\r
+ vector pos, sz;\r
+ pos = Sbar_ConvertToScreen_TextPosition(text, position, lettersize);\r
+ sz_x = sz_y = lettersize;\r
+\r
+ drawcolorcodedstring(pos, text, sz, sbar_alpha_fg, DRAWFLAG_NORMAL);\r
+}\r
+\r
+void Sbar_DrawXNum (vector position, float num, float digits, float showminusplus, float lettersize, vector rgb, float alpha, float dflags)\r