#include "mapvoting.qh"
-#include "_all.qh"
-#include "hud.qh"
+#include "hud/all.qh"
#include "scoreboard.qh"
-#include "../common/mapinfo.qh"
-#include "../common/util.qh"
-
-#include "../dpdefs/keycodes.qh"
+#include <common/mapinfo.qh>
int mv_num_maps;
-float mv_active;
string mv_maps[MAPVOTE_COUNT];
string mv_pics[MAPVOTE_COUNT];
string mv_pk3[MAPVOTE_COUNT]; // map pk3 name or gametype human readable name
string MapVote_FormatMapItem(int id, string map, float _count, float maxwidth, vector fontsize)
{
+ TC(int, id);
string pre, post;
pre = sprintf("%d. ", id+1);
if(mv_detail)
vector MapVote_RGB(int id)
{
+ TC(int, id);
if(!(mv_flags[id] & GTV_AVAILABLE))
return '1 1 1';
if(id == mv_ownvote)
void GameTypeVote_DrawGameTypeItem(vector pos, float maxh, float tsize, string gtype, string pic, float _count, int id)
{
+ TC(int, id);
// Find the correct alpha
float alpha;
if(!(mv_flags_start[id] & GTV_AVAILABLE))
string thelabel = mv_desc[id], ts;
entity last = title;
- entity next = world;
+ entity next = NULL;
float nlines = 0;
if( thelabel != "")
{
void MapVote_DrawMapItem(vector pos, float isize, float tsize, string map, string pic, float _count, int id)
{
+ TC(int, id);
vector img_size = '0 0 0';
string label;
float text_size;
void MapVote_DrawAbstain(vector pos, float isize, float tsize, float _count, int id)
{
+ TC(int, id);
vector rgb;
float text_size;
string label;
vector MapVote_GridVec(vector gridspec, int i, int m)
{
+ TC(int, i); TC(int, m);
int r = i % m;
return
'1 0 0' * (gridspec.x * r)
if ( mpos.x != mv_mousepos.x || mpos.y != mv_mousepos.y )
mv_selection_keyboard = 0;
mv_mousepos = mpos;
-
}
center = (vid_conwidth - 1)/2;
pos.y = ymin;
pos.z = 0;
+ HUD_Scale_Disable();
draw_beginBoldFont();
map = ((gametypevote) ? _("Decide the gametype") : _("Vote for a map"));
pos.x = center - stringwidth(mapvote_chosenmap, false, hud_fontsize * 1.5) * 0.5;
drawstring(pos, mapvote_chosenmap, hud_fontsize * 1.5, '1 1 1', 1, DRAWFLAG_NORMAL);
pos.y += hud_fontsize.y * 1.5;
- pos.y += hud_fontsize.y * 0.5;
}
- else
- pos.y += hud_fontsize.y * 0.5;
+ pos.y += hud_fontsize.y * 0.5;
draw_endBoldFont();
MapVote_DrawAbstain(pos, dist.x, xmax - xmin, tmp, i);
}
- drawpic(mv_mousepos, strcat("gfx/menu/", autocvar_menu_skin, "/cursor.tga"), '32 32 0', '1 1 1', 1 - autocvar__menu_alpha, DRAWFLAG_NORMAL);
+ draw_cursor_normal(mv_mousepos, '1 1 1', 1 - autocvar__menu_alpha);
}
-void Cmd_MapVote_MapDownload(float argc)
+void Cmd_MapVote_MapDownload(int argc)
{
+ TC(int, argc);
entity pak;
if(argc != 2 || !mv_pk3list)
{
- print(_("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!\n"));
return;
}
break;
if(!pak || pak.sv_entnum != id) {
- print(_("^1Error:^7 Couldn't find pak index.\n"));
+ LOG_INFO(_("^1Error:^7 Couldn't find pak index.\n"));
return;
}
mv_preview[id] = true;
return;
} else {
- print(_("Requesting preview...\n"));
+ LOG_INFO(_("Requesting preview...\n"));
localcmd(strcat("\ncmd mv_getpicture ", ftos(id), "\n"));
}
}
void MapVote_CheckPK3(string pic, string pk3, int id)
{
+ TC(int, id);
entity pak;
pak = spawn();
pak.netname = pk3;
void MapVote_CheckPic(string pic, string pk3, int id)
{
+ TC(int, id);
// never try to retrieve a pic for the "don't care" 'map'
if(mv_abstain && id == mv_num_maps - 1)
return;
void MapVote_ReadOption(int i)
{
+ TC(int, i);
string map = strzone(ReadString());
string pk3 = strzone(ReadString());
int j = bound(0, ReadByte(), n_ssdirs - 1);
void GameTypeVote_ReadOption(int i)
{
+ TC(int, i);
string gt = strzone(ReadString());
mv_maps[i] = gt;
void MapVote_Init()
{
- precache_sound ("misc/invshot.wav");
-
mv_active = 1;
if(autocvar_hud_cursormode) { setcursormode(1); }
else { mv_mousepos = '0.5 0 0' * vid_conwidth + '0 0.5 0' * vid_conheight; }
for(i = 0; i < mv_num_maps; ++i )
mv_flags_start[i] = mv_flags[i];
- // Assume mv_pk3list is world, there should only be 1 mapvote per round
- mv_pk3list = world; // I'm still paranoid!
+ // Assume mv_pk3list is NULL, there should only be 1 mapvote per round
+ mv_pk3list = NULL; // I'm still paranoid!
for(i = 0; i < mv_num_maps; ++i)
{
n_ssdirs = 0;
}
-void MapVote_SendChoice(float index)
+void MapVote_SendChoice(int index)
{
+ TC(int, index);
localcmd(strcat("\nimpulse ", ftos(index+1), "\n"));
}
int MapVote_MoveLeft(int pos)
{
+ TC(int, pos);
int imp;
if ( pos < 0 )
imp = mv_num_maps - 1;
}
int MapVote_MoveRight(int pos)
{
+ TC(int, pos);
int imp;
if ( pos < 0 )
imp = 0;
}
int MapVote_MoveUp(int pos)
{
+ TC(int, pos);
int imp;
if ( pos < 0 )
imp = mv_num_maps - 1;
}
int MapVote_MoveDown(int pos)
{
+ TC(int, pos);
int imp;
if ( pos < 0 )
imp = 0;
return imp;
}
-float MapVote_InputEvent(float bInputType, float nPrimary, float nSecondary)
+float MapVote_InputEvent(int bInputType, float nPrimary, float nSecondary)
{
+ TC(int, bInputType);
float imp;
if (!mv_active)
mv_ownvote = ReadByte()-1;
}
-void Ent_MapVote()
+NET_HANDLE(ENT_CLIENT_MAPVOTE, bool isnew)
{
+ make_pure(this);
int sf = ReadByte();
+ return = true;
if(sf & 1)
MapVote_Init();
MapVote_UpdateVotes();
}
+NET_HANDLE(TE_CSQC_PICTURE, bool isNew)
+{
+ Net_MapVote_Picture();
+ return true;
+}
+
void Net_MapVote_Picture()
{
int type = ReadByte();