post = _(" (1 vote)");
else if(count >= 0)
post = sprintf(_(" (%d votes)"), count);
+ else
+ post = "";
}
else
post = "";
void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, string pic, float count, float id)
{
- vector img_size;
+ vector img_size = '0 0 0';
vector rgb;
string label;
float text_size;
-
+
isize -= hud_fontsize_y; // respect the text when calculating the image size
rgb = MapVote_RGB(id, count);
-
+
img_size_y = isize;
img_size_x = isize / 0.75; // 4:3 x can be stretched easily, height is defined in isize
pos_y = pos_y + img_size_y;
-
+
label = MapVote_FormatMapItem(id, map, count, tsize, hud_fontsize);
text_size = stringwidth(label, false, hud_fontsize);
pos_x -= text_size*0.5;
drawstring(pos, label, hud_fontsize, rgb, theAlpha, DRAWFLAG_NORMAL);
-
+
pos_x = pos_x + text_size*0.5 - img_size_x*0.5;
pos_y = pos_y - img_size_y;
vector rgb;
float text_size;
string label;
-
+
rgb = MapVote_RGB(id, count);
pos_y = pos_y + hud_fontsize_y;
-
+
label = MapVote_FormatMapItem(id, _("Don't care"), count, tsize, hud_fontsize);
text_size = stringwidth(label, false, hud_fontsize);
-
+
pos_x -= text_size*0.5;
drawstring(pos, label, hud_fontsize, rgb, 1, DRAWFLAG_NORMAL);
}
float center;
float columns, rows;
float tsize;
- vector dist;
+ vector dist = '0 0 0';
if(!mv_active)
return;
+ if (!autocvar_hud_cursormode)
+ {
+ mv_mousepos = mv_mousepos + getmousepos();
+
+ mv_mousepos_x = bound(0, mv_mousepos_x, vid_conwidth);
+ mv_mousepos_y = bound(0, mv_mousepos_y, vid_conheight);
+ }
+
center = (vid_conwidth - 1)/2;
xmin = vid_conwidth*0.05; // 5% border must suffice
xmax = vid_conwidth - xmin;
pos_y = ymin;
pos_z = 0;
+ draw_beginBoldFont();
map = _("Vote for a map");
pos_x = center - stringwidth(map, false, '12 0 0');
drawstring(pos, map, '24 24 0', '1 1 1', 1, DRAWFLAG_NORMAL);
drawstring(pos, map, '16 16 0', '0 1 0', 1, DRAWFLAG_NORMAL);
pos_y += 22;
pos_x = xmin;
+ draw_endBoldFont();
// base for multi-column stuff...
ymin = pos_y;
MapVote_DrawAbstain(pos, isize, xmax - xmin, tmp, i);
}
- drawpic(mv_mousepos, strcat("gfx/menu/", autocvar_menu_skin, "/cursor.tga"), '32 32 0', '1 1 1', autocvar_hud_panel_fg_alpha, DRAWFLAG_NORMAL);
+ drawpic(mv_mousepos, strcat("gfx/menu/", autocvar_menu_skin, "/cursor.tga"), '32 32 0', '1 1 1', 1 - autocvar__menu_alpha, DRAWFLAG_NORMAL);
}
void Cmd_MapVote_MapDownload(float argc)
print(_("mv_mapdownload: ^3You're not supposed to use this command on your own!\n"));
return;
}
-
+
id = stof(argv(1));
for(pak = mv_pk3list; pak; pak = pak.chain)
if(pak.sv_entnum == id)
break;
-
+
if(!pak || pak.sv_entnum != id) {
print(_("^1Error:^7 Couldn't find pak index.\n"));
return;
pak.netname = pk3;
pak.message = pic;
pak.sv_entnum = id;
-
+
pak.chain = mv_pk3list;
mv_pk3list = pak;
-
+
if(pk3 != "")
{
localcmd(strcat("\ncurl --pak ", pk3, "; wait; cl_cmd mv_download ", ftos(id), "\n"));
precache_sound ("misc/invshot.wav");
mv_active = 1;
- setcursormode(1);
+ if(autocvar_hud_cursormode) { setcursormode(1); }
+ else { mv_mousepos = '0.5 0 0' * vid_conwidth + '0 0.5 0' * vid_conheight; }
mv_selection = -1;
for(n_ssdirs = 0; ; ++n_ssdirs)
mv_maps_mask = ReadByte();
else
mv_maps_mask = ReadShort();
-
+
// Assume mv_pk3list is world, there should only be 1 mapvote per round
mv_pk3list = world; // I'm still paranoid!
-
+
for(i = 0, power = 1; i < mv_num_maps; ++i, power *= 2)
{
mv_votes[i] = 0;
map = strzone(ReadString());
pk3 = strzone(ReadString());
j = bound(0, ReadByte(), n_ssdirs - 1);
-
+
mv_maps[i] = map;
mv_pk3[i] = pk3;
map = strzone(strcat(ssdirs[j], "/", map));
else
mv_maps_mask = ReadShort();
- if(oldmask & mv_maps_mask != oldmask)
- if(oldmask & mv_maps_mask == mv_maps_mask)
- sound(world, CH_INFO, "misc_invshot.wav", VOL_BASE, ATTN_NONE);
+ if((oldmask & mv_maps_mask) != oldmask)
+ if((oldmask & mv_maps_mask) == mv_maps_mask)
+ sound(world, CH_INFO, "misc_invshot.wav", VOL_BASE, ATTEN_NONE);
// remove votes that no longer apply
for(i = 0, power = 1; i < mv_num_maps; ++i, power *= 2)
- if not(mv_maps_mask & power)
+ if (!(mv_maps_mask & power))
mv_votes[i] = -1;
mv_top2_time = time;