#include "mapvoting.qh"
-#include "hud/all.qh"
+#include "autocvars.qh"
+#include "miscfunctions.qh"
+#include "defs.qh"
+#include "hud/_mod.qh"
#include "hud/panel/scoreboard.qh"
#include <common/mapinfo.qh>
float mv_top2_time;
float mv_top2_alpha;
-vector mv_mousepos;
int mv_selection;
int mv_columns;
int mv_mouse_selection;
for (r = 0; r < rows; ++r)
for (c = 0; c < columns; ++c)
{
- if (mv_mousepos.x >= topleft.x + cellsize.x * c &&
- mv_mousepos.x <= topleft.x + cellsize.x * (c + 1) &&
- mv_mousepos.y >= topleft.y + cellsize.y * r &&
- mv_mousepos.y <= topleft.y + cellsize.y * (r + 1))
+ if (mousepos.x >= topleft.x + cellsize.x * c &&
+ mousepos.x <= topleft.x + cellsize.x * (c + 1) &&
+ mousepos.y >= topleft.y + cellsize.y * r &&
+ mousepos.y <= topleft.y + cellsize.y * (r + 1))
{
mv_mouse_selection = r * columns + c;
break;
if(!mv_active)
return;
- if(1 - scoreboard_fade_alpha <= 0)
- return;
- HUD_Panel_LoadCvars(1 - scoreboard_fade_alpha);
+ HUD_Panel_LoadCvars();
if (!autocvar_hud_cursormode)
{
- vector mpos = mv_mousepos + getmousepos();
- mpos.x = bound(0, mpos.x, vid_conwidth);
- mpos.y = bound(0, mpos.y, vid_conheight);
-
- if ( mpos.x != mv_mousepos.x || mpos.y != mv_mousepos.y )
+ vector mpos = mousepos;
+ update_mousepos();
+ if (mpos.x != mousepos.x || mpos.y != mousepos.y)
mv_selection_keyboard = 0;
- mv_mousepos = mpos;
}
center = (vid_conwidth - 1)/2;
// higher than the image itself ratio for mapvote items to reserve space for long map names
int item_aspect = (gametypevote) ? 3/1 : 5/3;
- vector table_size = HUD_GetTableSize_BestItemAR(mv_num_maps, eX * (xmax - xmin) + eY * (ymax - ymin), item_aspect);
+ vector table_size = HUD_GetTableSize_BestItemAR(mv_num_maps, vec2(xmax - xmin, ymax - ymin), item_aspect);
mv_columns = table_size.x;
rows = table_size.y;
MapVote_DrawAbstain(pos, dist.x, xmax - xmin, tmp, i);
}
- draw_cursor_normal(mv_mousepos, '1 1 1', panel_fg_alpha);
+ draw_cursor_normal(mousepos, '1 1 1', panel_fg_alpha);
}
void Cmd_MapVote_MapDownload(int argc)
if(argc != 2 || !mv_pk3list)
{
- LOG_INFO(_("mv_mapdownload: ^3You're not supposed to use this command on your own!\n"));
+ LOG_INFO(_("mv_mapdownload: ^3You're not supposed to use this command on your own!"));
return;
}
break;
if(!pak || pak.sv_entnum != id) {
- LOG_INFO(_("^1Error:^7 Couldn't find pak index.\n"));
+ LOG_INFO(_("^1Error:^7 Couldn't find pak index."));
return;
}
mv_preview[id] = true;
return;
} else {
- LOG_INFO(_("Requesting preview...\n"));
+ LOG_INFO(_("Requesting preview..."));
localcmd(strcat("\ncmd mv_getpicture ", ftos(id), "\n"));
}
}
mv_maps[i] = gt;
mv_flags[i] = ReadByte();
- string mv_picpath = sprintf("gfx/menu/%s/gametype_%s", autocvar_menu_skin, gt);
- if(precache_pic(mv_picpath) == "")
- mv_picpath = strcat("gfx/menu/default/gametype_", gt);
- string pic = strzone(mv_picpath);
- mv_pics[i] = pic;
- mv_preview[i] = PreviewExists(pic);
+ string basetype = "";
if ( mv_flags[i] & GTV_CUSTOM )
{
name = gt;
mv_pk3[i] = strzone(name);
mv_desc[i] = strzone(ReadString());
+ basetype = strzone(ReadString());
}
else
{
mv_pk3[i] = strzone(MapInfo_Type_ToText(type));
mv_desc[i] = MapInfo_Type_Description(type);
}
+
+ string mv_picpath = sprintf("gfx/menu/%s/gametype_%s", autocvar_menu_skin, gt);
+ if(precache_pic(mv_picpath) == "")
+ {
+ mv_picpath = strcat("gfx/menu/default/gametype_", gt);
+ if(precache_pic(mv_picpath) == "")
+ {
+ mv_picpath = sprintf("gfx/menu/%s/gametype_%s", autocvar_menu_skin, basetype);
+ if(precache_pic(mv_picpath) == "")
+ {
+ mv_picpath = strcat("gfx/menu/default/gametype_", basetype);
+ }
+ }
+ }
+ string pic = strzone(mv_picpath);
+ mv_pics[i] = pic;
+ mv_preview[i] = PreviewExists(pic);
}
void MapVote_Init()
{
mv_active = 1;
- if(autocvar_hud_cursormode) { setcursormode(1); }
- else { mv_mousepos = '0.5 0 0' * vid_conwidth + '0 0.5 0' * vid_conheight; }
+ if(autocvar_hud_cursormode) setcursormode(1);
+ else mousepos = '0.5 0 0' * vid_conwidth + '0 0.5 0' * vid_conheight;
mv_selection = -1;
mv_selection_keyboard = 0;
if(bInputType == 3)
{
- mv_mousepos.x = nPrimary;
- mv_mousepos.y = nSecondary;
+ mousepos.x = nPrimary;
+ mousepos.y = nSecondary;
mv_selection_keyboard = 0;
return true;
}