return v;\r
}\r
\r
-void draw_radar_background(float bg, float fg)\r
+void draw_radar_background(float ca, float bg)\r
{\r
- float fga;\r
- vector fgc;\r
+ vector col;\r
+ vector pos1, pos2, pos3, pos4;\r
+ pos1 = '1 0 0' * (radar_origin2d_x - radar_size2d_x * 0.5 + radar_extraclip_mins_x) + '0 1 0' * (radar_origin2d_y - radar_size2d_y * 0.5 + radar_extraclip_mins_y);\r
+ pos2 = '1 0 0' * (radar_origin2d_x + radar_size2d_x * 0.5 + radar_extraclip_maxs_x) + '0 1 0' * (radar_origin2d_y - radar_size2d_y * 0.5 + radar_extraclip_mins_y);\r
+ pos3 = '1 0 0' * (radar_origin2d_x + radar_size2d_x * 0.5 + radar_extraclip_maxs_x) + '0 1 0' * (radar_origin2d_y + radar_size2d_y * 0.5 + radar_extraclip_maxs_y);\r
+ pos4 = '1 0 0' * (radar_origin2d_x - radar_size2d_x * 0.5 + radar_extraclip_mins_x) + '0 1 0' * (radar_origin2d_y + radar_size2d_y * 0.5 + radar_extraclip_maxs_y);\r
+\r
if(bg > 0)\r
{\r
- R_BeginPolygon("", 0);\r
- R_PolygonVertex('1 0 0' * (radar_origin2d_x - radar_size2d_x * 0.5 + radar_extraclip_mins_x) + '0 1 0' * (radar_origin2d_y - radar_size2d_y * 0.5 + radar_extraclip_mins_y), '0 0 0', '0 0 0', bg);\r
- R_PolygonVertex('1 0 0' * (radar_origin2d_x + radar_size2d_x * 0.5 + radar_extraclip_maxs_x) + '0 1 0' * (radar_origin2d_y - radar_size2d_y * 0.5 + radar_extraclip_mins_y), '0 0 0', '0 0 0', bg);\r
- R_PolygonVertex('1 0 0' * (radar_origin2d_x + radar_size2d_x * 0.5 + radar_extraclip_maxs_x) + '0 1 0' * (radar_origin2d_y + radar_size2d_y * 0.5 + radar_extraclip_maxs_y), '0 0 0', '0 0 0', bg);\r
- R_PolygonVertex('1 0 0' * (radar_origin2d_x - radar_size2d_x * 0.5 + radar_extraclip_mins_x) + '0 1 0' * (radar_origin2d_y + radar_size2d_y * 0.5 + radar_extraclip_maxs_y), '0 0 0', '0 0 0', bg);\r
+ R_BeginPolygon("gfx/hud/bg_radar.tga", 0);\r
+ R_PolygonVertex(pos1, yinvert('0 1 0'), '1 1 1', bg);\r
+ R_PolygonVertex(pos2, yinvert('1 1 0'), '1 1 1', bg);\r
+ R_PolygonVertex(pos3, yinvert('1 0 0'), '1 1 1', bg);\r
+ R_PolygonVertex(pos4, yinvert('0 0 0'), '1 1 1', bg);\r
R_EndPolygon();\r
}\r
\r
- if(fg > 0 && minimapname != "")\r
+ if(ca > 0 && minimapname != "")\r
{\r
- fga = 1;\r
- fgc = '1 1 1' * fg;\r
+ col = '1 1 1' * ca;\r
R_BeginPolygon(minimapname, DRAWFLAG_SCREEN | DRAWFLAG_MIPMAP);\r
if(v_flipped)\r
{\r
- R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord3), yinvert(mi_pictexcoord3), fgc, fga);\r
- R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord2), yinvert(mi_pictexcoord2), fgc, fga);\r
- R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord1), yinvert(mi_pictexcoord1), fgc, fga);\r
- R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord0), yinvert(mi_pictexcoord0), fgc, fga);\r
+ R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord3), yinvert(mi_pictexcoord3), col, 1);\r
+ R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord2), yinvert(mi_pictexcoord2), col, 1);\r
+ R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord1), yinvert(mi_pictexcoord1), col, 1);\r
+ R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord0), yinvert(mi_pictexcoord0), col, 1);\r
}\r
else\r
{\r
- R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord0), yinvert(mi_pictexcoord0), fgc, fga);\r
- R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord1), yinvert(mi_pictexcoord1), fgc, fga);\r
- R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord2), yinvert(mi_pictexcoord2), fgc, fga);\r
- R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord3), yinvert(mi_pictexcoord3), fgc, fga);\r
+ R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord0), yinvert(mi_pictexcoord0), col, 1);\r
+ R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord1), yinvert(mi_pictexcoord1), col, 1);\r
+ R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord2), yinvert(mi_pictexcoord2), col, 1);\r
+ R_PolygonVertex(radar_texcoord_to_2dcoord(mi_pictexcoord3), yinvert(mi_pictexcoord3), col, 1);\r
}\r
R_EndPolygon();\r
}\r
}\r
\r
+void draw_radar_foreground(float fg)\r
+{\r
+ vector rgb;\r
+ vector pos1, pos2, pos3, pos4;\r
+ pos1 = '1 0 0' * (radar_origin2d_x - radar_size2d_x * 0.5 + radar_extraclip_mins_x) + '0 1 0' * (radar_origin2d_y - radar_size2d_y * 0.5 + radar_extraclip_mins_y);\r
+ pos2 = '1 0 0' * (radar_origin2d_x + radar_size2d_x * 0.5 + radar_extraclip_maxs_x) + '0 1 0' * (radar_origin2d_y - radar_size2d_y * 0.5 + radar_extraclip_mins_y);\r
+ pos3 = '1 0 0' * (radar_origin2d_x + radar_size2d_x * 0.5 + radar_extraclip_maxs_x) + '0 1 0' * (radar_origin2d_y + radar_size2d_y * 0.5 + radar_extraclip_maxs_y);\r
+ pos4 = '1 0 0' * (radar_origin2d_x - radar_size2d_x * 0.5 + radar_extraclip_mins_x) + '0 1 0' * (radar_origin2d_y + radar_size2d_y * 0.5 + radar_extraclip_maxs_y);\r
+ rgb = GetTeamRGB(GetPlayerColor(player_localentnum - 1));\r
+\r
+ if(fg > 0)\r
+ {\r
+ R_BeginPolygon("gfx/hud/fg_radar.tga", 0);\r
+ R_PolygonVertex(pos1, yinvert('0 1 0'), '1 1 1', fg);\r
+ R_PolygonVertex(pos2, yinvert('1 1 0'), '1 1 1', fg);\r
+ R_PolygonVertex(pos3, yinvert('1 0 0'), '1 1 1', fg);\r
+ R_PolygonVertex(pos4, yinvert('0 0 0'), '1 1 1', fg);\r
+ R_EndPolygon();\r
+\r
+ R_BeginPolygon("gfx/hud/fg_radar_team.tga", 0);\r
+ R_PolygonVertex(pos1, yinvert('0 1 0'), rgb, fg);\r
+ R_PolygonVertex(pos2, yinvert('1 1 0'), rgb, fg);\r
+ R_PolygonVertex(pos3, yinvert('1 0 0'), rgb, fg);\r
+ R_PolygonVertex(pos4, yinvert('0 0 0'), rgb, fg);\r
+ R_EndPolygon();\r
+ }\r
+}\r
+\r
void(vector coord3d, vector pangles, vector rgb) draw_radar_player =\r
{\r
vector coord, rgb2;\r
}\r
\r
float cl_radar_scale;\r
+float cl_radar_content_alpha;\r
float cl_radar_background_alpha;\r
float cl_radar_foreground_alpha;\r
float cl_radar_rotation;\r
void radar_loadcvars()\r
{\r
v_flipped = cvar("v_flipped");\r
- if(ons_showmap)\r
+ if(showmap)\r
{\r
cl_radar_scale = 42; // dummy, not used (see zoommode)\r
+ cl_radar_content_alpha = 1 * (1 - cvar("_menu_alpha"));\r
cl_radar_background_alpha = 1 * (1 - cvar("_menu_alpha"));\r
cl_radar_foreground_alpha = 1 * (1 - cvar("_menu_alpha"));\r
cl_radar_rotation = cvar("cl_radar_rotation");\r
else\r
{\r
cl_radar_scale = cvar("cl_radar_scale");\r
+ cl_radar_content_alpha = cvar("cl_radar_content_alpha") * sbar_alpha_fg;\r
cl_radar_background_alpha = cvar("cl_radar_background_alpha") * sbar_alpha_fg;\r
cl_radar_foreground_alpha = cvar("cl_radar_foreground_alpha") * sbar_alpha_fg;\r
cl_radar_rotation = cvar("cl_radar_rotation");\r
// others default to 0\r
// match this to defaultVoretournament.cfg!\r
if(!cl_radar_scale) cl_radar_scale = 4096;\r
+ if(!cl_radar_content_alpha) cl_radar_content_alpha = 0.4 * sbar_alpha_fg;\r
if(!cl_radar_background_alpha) cl_radar_background_alpha = 0.4 * sbar_alpha_fg;\r
if(!cl_radar_foreground_alpha) cl_radar_foreground_alpha = 0.8 * sbar_alpha_fg;\r
if(!cl_radar_size_x) cl_radar_size_x = 128;\r
\r
void() radar_view =\r
{\r
- local float color1, color2; // color already declared as a global in hud.qc\r
- local vector rgb;\r
+ local float col; // color already declared as a global in hud.qc\r
local entity tm;\r
float scale2d, normalsize, bigsize;\r
float f;\r
\r
- if(minimapname == "" && !ons_showmap)\r
+ if(minimapname == "" && !showmap)\r
return;\r
\r
radar_loadcvars();\r
f * (mi_min + mi_max) * 0.5\r
+ (1 - f) * view_origin);\r
\r
- color1 = GetPlayerColor(player_localentnum-1);\r
- rgb = GetTeamRGB(color1);\r
-\r
drawsetcliparea(\r
radar_origin2d_x - radar_size2d_x * 0.5 + radar_extraclip_mins_x,\r
radar_origin2d_y - radar_size2d_y * 0.5 + radar_extraclip_mins_y,\r
radar_size2d_y + radar_extraclip_maxs_y - radar_extraclip_mins_y\r
);\r
\r
- draw_radar_background(cl_radar_background_alpha, cl_radar_foreground_alpha);\r
+ draw_radar_background(cl_radar_content_alpha, cl_radar_background_alpha);\r
\r
- if(ons_showmap)\r
+ if(showmap)\r
{\r
drawresetcliparea();\r
-\r
- vector frame_origin, frame_size;\r
- frame_origin = frame_size = '0 0 0';\r
-\r
- frame_origin_x = radar_origin2d_x - radar_size2d_x * 0.55859375; // matches the picture\r
- frame_origin_y = radar_origin2d_y - radar_size2d_y * 0.55859375; // matches the picture\r
- frame_size_x = radar_size2d_x * 1.1171875; // matches the picture\r
- frame_size_y = radar_size2d_y * 1.1171875; // matches the picture\r
- drawpic(frame_origin, "gfx/ons-frame.tga", frame_size, '1 1 1', sbar_alpha_fg, 0);\r
- drawpic(frame_origin, "gfx/ons-frame-team.tga", frame_size, rgb, sbar_alpha_fg, 0);\r
-\r
drawsetcliparea(\r
radar_origin2d_x - radar_size2d_x * 0.5,\r
radar_origin2d_y - radar_size2d_y * 0.5,\r
draw_radar_icon(tm.origin, tm.radar_icon, tm, tm.radar_color, tm.alpha * sbar_alpha_fg);\r
for(tm = world; (tm = find(tm, classname, "entcs_receiver")); )\r
{\r
- color2 = GetPlayerColor(tm.sv_entnum);\r
- //if(color == COLOR_SPECTATOR || color == color2)\r
- draw_radar_player(tm.origin, tm.angles, GetTeamRGB(color2));\r
+ col = GetPlayerColor(tm.sv_entnum);\r
+ if(cvar("cl_radar_players") > 1 || (cvar("cl_radar_players") > 0 && teamplay && GetPlayerColor(player_localentnum - 1) == col))\r
+ if not(tm.sv_entnum == spectatee_status - 1) // don't show the player we are spectating, since we also draw ourself separately\r
+ if not(tm.sv_entnum == getstati(STAT_VORE_EATEN) - 1) // don't show the player who ate us, since we also draw ourself separately\r
+ if not(tm.eaten) // don't show prey on the radar\r
+ draw_radar_player(tm.origin, tm.angles, GetTeamRGB(col));\r
}\r
draw_radar_player(view_origin, view_angles, '1 1 1');\r
\r
drawresetcliparea();\r
+\r
+ draw_radar_foreground(cl_radar_foreground_alpha);\r
};\r
\r
\r