#include "mapvoting.qh"
-#include "autocvars.qh"
-#include "miscfunctions.qh"
-#include "defs.qh"
-#include "hud/_mod.qh"
-#include "hud/panel/scoreboard.qh"
-
+#include <client/draw.qh>
+#include <client/hud/_mod.qh>
+#include <client/hud/panel/scoreboard.qh>
#include <common/mapinfo.qh>
+#include <common/util.qh>
// MapVote (#21)
string ssdirs[NUM_SSDIRS];
int n_ssdirs;
+bool PreviewExists(string name)
+{
+ if(autocvar_cl_readpicture_force)
+ return false;
+
+ if (fexists(strcat(name, ".tga"))) return true;
+ if (fexists(strcat(name, ".png"))) return true;
+ if (fexists(strcat(name, ".jpg"))) return true;
+ if (fexists(strcat(name, ".pcx"))) return true;
+
+ return false;
+}
+
string MapVote_FormatMapItem(int id, string map, float _count, float maxwidth, vector fontsize)
{
TC(int, id);
}
else
{
- Gametype type = MapInfo_Type_FromString(gt);
+ Gametype type = MapInfo_Type_FromString(gt, false);
mv_pk3[i] = strzone(MapInfo_Type_ToText(type));
mv_desc[i] = MapInfo_Type_Description(type);
}
return true;
}
- if (bInputType == 0)
+ if (bInputType == 2)
+ return false;
+
+ // at this point bInputType can be 0 or 1 (key pressed or released)
+ bool key_pressed = (bInputType == 0);
+
+ if (key_pressed)
{
if (nPrimary == K_ALT) hudShiftState |= S_ALT;
if (nPrimary == K_CTRL) hudShiftState |= S_CTRL;
if (nPrimary == K_SHIFT) hudShiftState |= S_SHIFT;
}
- else if (bInputType == 1)
+ else
{
if (nPrimary == K_ALT) hudShiftState -= (hudShiftState & S_ALT);
if (nPrimary == K_CTRL) hudShiftState -= (hudShiftState & S_CTRL);
first_digit = 0;
}
- if (bInputType != 0)
- return false;
-
int imp = 0;
switch(nPrimary)
{
case K_RIGHTARROW:
+ if (!key_pressed) return true;
mv_selection_keyboard = 1;
mv_selection = MapVote_MoveRight(mv_selection);
return true;
case K_LEFTARROW:
+ if (!key_pressed) return true;
mv_selection_keyboard = 1;
mv_selection = MapVote_MoveLeft(mv_selection);
return true;
case K_DOWNARROW:
+ if (!key_pressed) return true;
mv_selection_keyboard = 1;
mv_selection = MapVote_MoveDown(mv_selection);
return true;
case K_UPARROW:
+ if (!key_pressed) return true;
mv_selection_keyboard = 1;
mv_selection = MapVote_MoveUp(mv_selection);
return true;
case K_KP_ENTER:
case K_ENTER:
case K_SPACE:
+ if (!key_pressed) return true;
if ( mv_selection_keyboard )
MapVote_SendChoice(mv_selection);
return true;
{
if (!first_digit)
{
+ if (!key_pressed)
+ return true;
first_digit = imp % 10;
return true;
}
if (nPrimary == K_MOUSE1)
{
+ if (!key_pressed)
+ return true;
mv_selection_keyboard = 0;
mv_selection = mv_mouse_selection;
if (mv_selection >= 0)
imp = min(mv_selection + 1, mv_num_maps);
}
+ if (nPrimary == K_MOUSE2)
+ return true; // do nothing
+
if (imp)
{
+ if (!key_pressed)
+ return true;
if (imp <= mv_num_maps)
localcmd(strcat("\nimpulse ", ftos(imp), "\n"));
return true;