Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
sv_mapvoting.qh File Reference
#include "mapvoting.qh"
Include dependency graph for sv_mapvoting.qh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define autocvar_g_maplist   cvar_string("g_maplist")
#define autocvar_g_maplist_votable   cvar("g_maplist_votable")

Functions

float GameTypeVote_Finished (int pos)
string GameTypeVote_MapInfo_FixName (string m)
bool GameTypeVote_SetGametype (Gametype type, string gametype_string, bool call_hooks)
float GameTypeVote_Start ()
void MapVote_Start ()
void MapVote_Think ()

Variables

bool autocvar_g_maplist_check_waypoints
bool autocvar_g_maplist_ignore_sizes
int autocvar_g_maplist_index
string autocvar_g_maplist_mostrecent
int autocvar_g_maplist_mostrecent_count
bool autocvar_g_maplist_selectrandom
float autocvar_g_maplist_shuffle
bool autocvar_g_maplist_sizes_count_bots = true
bool autocvar_g_maplist_sizes_count_maxplayers = true
bool autocvar_g_maplist_votable_abstain
int autocvar_g_maplist_votable_detail
int autocvar_g_maplist_votable_reduce_count
float autocvar_g_maplist_votable_reduce_time
string autocvar_g_maplist_votable_screenshot_dir
bool autocvar_g_maplist_votable_show_suggester
bool autocvar_g_maplist_votable_suggestions
bool autocvar_g_maplist_votable_suggestions_override_mostrecent
float autocvar_g_maplist_votable_timeout
int autocvar_rescan_pending
bool autocvar_sv_vote_gametype
bool autocvar_sv_vote_gametype_default_current
int autocvar_sv_vote_gametype_detail
bool autocvar_sv_vote_gametype_maplist_reset = true
string autocvar_sv_vote_gametype_options
int autocvar_sv_vote_gametype_reduce_count
float autocvar_sv_vote_gametype_reduce_time
float autocvar_sv_vote_gametype_timeout
bool gametypevote
string getmapname_stored
int mapvote
bool mapvote_initialized
bool mapvote_run
Gametype match_gametype
string mv_pakfile [MAPVOTE_COUNT]
 (maps) pk3 file location
int mv_ranked [MAPVOTE_COUNT]
 (shared) maps/gametypes ranked by most votes, first = most
int mv_reduce_count
float mv_rng [MAPVOTE_COUNT]
 (shared) random() value for each map/gametype to determine tiebreakers
bool mv_show_suggester
 (maps) whether to show suggesters, only for maps since you can't suggest gametypes
int mv_ssdir_i [MAPVOTE_COUNT]
 (shared) where to look for screenshots (mv_ssdirs index), set to 0 for gametype voting
int mv_suggestion_ptr
 (maps) index of where the next suggestion should be (starts as 0)
string mv_suggestions [MAPVOTE_COUNT]
 (maps) name of the suggested map, later copied into mv_entries
int mv_voters
 (shared) number of human voters present
float mv_winner_time
Gametype voted_gametype
string voted_gametype_string

Macro Definition Documentation

◆ autocvar_g_maplist

#define autocvar_g_maplist   cvar_string("g_maplist")

Definition at line 5 of file sv_mapvoting.qh.

Referenced by getmaplist(), and Maplist_Init().

◆ autocvar_g_maplist_votable

#define autocvar_g_maplist_votable   cvar("g_maplist_votable")

Definition at line 12 of file sv_mapvoting.qh.

Referenced by MapVote_Init(), and MapVote_Think().

Function Documentation

◆ GameTypeVote_Finished()

float GameTypeVote_Finished ( int pos)

Definition at line 649 of file sv_mapvoting.qc.

650{
652 return false;
653
657
659
660 // save to a cvar so it can be applied back when gametype is temporary
661 // changed on gametype vote end of the next game
662 if (mv_flags[pos] & GTV_CUSTOM)
663 cvar_set("_sv_vote_gametype_custom", voted_gametype_string);
664
666 return true;
667}
bool gametypevote
Gametype MapInfo_CurrentGametype()
Definition mapinfo.qc:1482
const int GTV_CUSTOM
Custom entry.
Definition mapvoting.qh:29
int mv_flags[MAPVOTE_COUNT]
(shared) map/gametype flags
Definition mapvoting.qh:18
string mv_entries[MAPVOTE_COUNT]
(shared) map name or gametype name
Definition mapvoting.qh:16
void cvar_set(string name, string value)
#define strcpy(this, s)
Definition string.qh:51
bool GameTypeVote_SetGametype(Gametype type, string gametype_string, bool call_hooks)
bool gametypevote_finished
Gametype GameTypeVote_Type_FromString(string type_name)
Returns the gamtype ID from its name, if type_name isn't a real gametype it checks for sv_vote_gamety...
Gametype match_gametype
Gametype voted_gametype
string voted_gametype_string

References cvar_set(), gametypevote, gametypevote_finished, GameTypeVote_SetGametype(), GameTypeVote_Type_FromString(), GTV_CUSTOM, MapInfo_CurrentGametype(), match_gametype, mv_entries, mv_flags, strcpy, voted_gametype, and voted_gametype_string.

Referenced by MapVote_Finished().

◆ GameTypeVote_MapInfo_FixName()

string GameTypeVote_MapInfo_FixName ( string m)

Definition at line 66 of file sv_mapvoting.qc.

67{
69 {
72 }
73 return MapInfo_FixName(m);
74}
int MapInfo_RequiredFlags()
Definition mapinfo.qc:1670
float _MapInfo_FilterGametype(vector pGametype, int pFeatures, int pFlagsRequired, int pFlagsForbidden, bool pAbortOnGenerate)
Definition mapinfo.qc:180
int MapInfo_ForbiddenFlags()
Definition mapinfo.qc:1655
void MapInfo_Enumerate()
Definition mapinfo.qc:134
string MapInfo_FixName(string s)
Definition mapinfo.qc:1466
vector GameTypeVote_GetMask()
bool autocvar_sv_vote_gametype

References _MapInfo_FilterGametype(), autocvar_sv_vote_gametype, GameTypeVote_GetMask(), MapInfo_Enumerate(), MapInfo_FixName(), MapInfo_ForbiddenFlags(), and MapInfo_RequiredFlags().

Referenced by DoNextMapOverride(), GotoMap(), and MapVote_Suggest().

◆ GameTypeVote_SetGametype()

bool GameTypeVote_SetGametype ( Gametype type,
string gametype_string,
bool call_hooks )

Definition at line 590 of file sv_mapvoting.qc.

591{
592 if (gametype_string == "")
593 gametype_string = MapInfo_Type_ToString(type);
594 if (!call_hooks)
595 // custom gametype is disabled because gametype hooks can't be executed
597 else
598 {
599 gametype_custom_enabled = (gametype_string != MapInfo_Type_ToString(type));
600
601 localcmd("\nsv_vote_gametype_hook_all\n");
602 localcmd("\nsv_vote_gametype_hook_", gametype_string, "\n");
603 }
604
605 if (MapInfo_CurrentGametype() == type)
606 return true;
607
609
611
614 if (MapInfo_count > 0)
615 {
616 // update lsmaps in case the gametype changed, this way people can easily list maps for it
617 if (lsmaps_reply != "")
620
621 if (!match_gametype) // don't show this msg if we are temporarily switching gametype
622 bprint("Gametype successfully switched to ", MapInfo_Type_ToString(type), "\n");
623 }
624 else
625 {
626 bprint("Cannot use this gametype: no map for it found\n");
629 return false;
630 }
631
633 string gvmaplist = strcat("sv_vote_gametype_", gametype_string, "_maplist");
634 if (cvar_type(gvmaplist) & CVAR_TYPEFLAG_EXISTS)
635 {
636 // force a reset if the provided list is empty
637 if (cvar_string(gvmaplist) == "")
638 do_reset = true;
639 else
640 cvar_set("g_maplist", cvar_string(gvmaplist));
641 }
642 if (do_reset)
644
645 return true;
646}
string lsmaps_reply
Definition util.qh:161
float CVAR_TYPEFLAG_EXISTS
string getlsmaps()
float MapInfo_FilterGametype(Gametype pGametype, int pFeatures, int pFlagsRequired, int pFlagsForbidden, bool pAbortOnGenerate)
Definition mapinfo.qc:176
string MapInfo_Type_ToString(Gametype t)
Definition mapinfo.qc:655
int MapInfo_CurrentFeatures()
Definition mapinfo.qc:1472
string MapInfo_ListAllowedMaps(Gametype type, float pRequiredFlags, float pForbiddenFlags)
Definition mapinfo.qc:1533
void MapInfo_SwitchGameType(Gametype t)
Definition mapinfo.qc:1509
float MapInfo_count
Definition mapinfo.qh:166
void localcmd(string command,...)
void bprint(string text,...)
const string cvar_string(string name)
void strunzone(string s)
string strzone(string s)
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))
bool autocvar_sv_vote_gametype_maplist_reset
bool gametype_custom_enabled
Definition world.qh:52

References autocvar_sv_vote_gametype_maplist_reset, bprint(), cvar_set(), cvar_string(), CVAR_TYPEFLAG_EXISTS, gametype_custom_enabled, getlsmaps(), localcmd(), lsmaps_reply, MapInfo_count, MapInfo_CurrentFeatures(), MapInfo_CurrentGametype(), MapInfo_Enumerate(), MapInfo_FilterGametype(), MapInfo_ForbiddenFlags(), MapInfo_ListAllowedMaps(), MapInfo_RequiredFlags(), MapInfo_SwitchGameType(), MapInfo_Type_ToString(), match_gametype, strcat(), strunzone(), and strzone().

Referenced by GameCommand_gametype(), GameTypeVote_Finished(), MapVote_Init(), and MapVote_Think().

◆ GameTypeVote_Start()

float GameTypeVote_Start ( )

Definition at line 687 of file sv_mapvoting.qc.

688{
691
692 mv_count = 0;
694 mv_abstain = false;
696
698 n = min(MAPVOTE_COUNT, n);
699
700 int really_available = 0;
701 int which_available = -1;
702 int i;
703 for (i = 0; i < n; ++i)
705 && (mv_flags[i] & GTV_AVAILABLE))
706 {
707 ++really_available;
708 which_available = i;
709 }
710
712
713 gametypevote = true;
714
715 const string current_gametype_string = (gametype_custom_enabled)
718
719 if (really_available == 0)
720 {
721 if (mv_count > 0)
723 mv_entries[0] = strzone(current_gametype_string);
725 //GameTypeVote_Finished(0);
727 return false;
728 }
729 if (really_available == 1)
730 {
731 current_gametype_index = which_available;
732 //GameTypeVote_Finished(which_available);
734 return false;
735 }
737 if (autocvar_sv_vote_gametype_default_current) // find current gametype index
738 for (i = 0; i < mv_count_real; ++i)
739 if (mv_entries[i] == current_gametype_string)
740 {
742 break;
743 }
744
746
749 if (mv_count_real < 3 || mv_reduce_time <= time)
750 mv_reduce_time = 0;
751
753 return true;
754}
float time
#define tokenizebyseparator
void MapVote_Spawn()
Definition net.qc:8
bool mv_abstain
(shared) if abstaining is possible, false in gametype voting
Definition mapvoting.qh:21
int mv_count
(shared) number of maps/gametypes
Definition mapvoting.qh:14
const int MAPVOTE_COUNT
Max number of votable maps/gametypes.
Definition mapvoting.qh:6
int mv_detail
(shared) how much information about the votes/results is revealed
Definition mapvoting.qh:20
float mv_reduce_time
Definition mapvoting.qh:22
int mv_count_real
(shared) number of maps/gametypes, excluding abstain
Definition mapvoting.qh:15
const int GTV_AVAILABLE
Can be voted.
Definition mapvoting.qh:28
float mv_timeout
Definition mapvoting.qh:23
float min(float f,...)
string argv(float n)
int current_gametype_index
void MapVote_ClearAllVotes()
bool MapVote_Finished(int mappos)
void MapVote_UnzoneStrings()
bool GameTypeVote_AddVotable(string nextMode)
float autocvar_sv_vote_gametype_reduce_time
int mv_reduce_count
float autocvar_sv_vote_gametype_timeout
string autocvar_sv_vote_gametype_options
bool autocvar_sv_vote_gametype_default_current
int autocvar_sv_vote_gametype_reduce_count
int autocvar_sv_vote_gametype_detail
string loaded_gametype_custom_string
Definition world.qh:53

References argv(), autocvar_sv_vote_gametype_default_current, autocvar_sv_vote_gametype_detail, autocvar_sv_vote_gametype_options, autocvar_sv_vote_gametype_reduce_count, autocvar_sv_vote_gametype_reduce_time, autocvar_sv_vote_gametype_timeout, current_gametype_index, gametype_custom_enabled, gametypevote, GameTypeVote_AddVotable(), GTV_AVAILABLE, loaded_gametype_custom_string, MapInfo_CurrentGametype(), MapInfo_Type_ToString(), MapVote_ClearAllVotes(), MAPVOTE_COUNT, MapVote_Finished(), MapVote_Spawn(), MapVote_UnzoneStrings(), min(), mv_abstain, mv_count, mv_count_real, mv_detail, mv_entries, mv_flags, mv_reduce_count, mv_reduce_time, mv_timeout, strunzone(), strzone(), time, and tokenizebyseparator.

Referenced by MapVote_Think().

◆ MapVote_Start()

void MapVote_Start ( )

Definition at line 506 of file sv_mapvoting.qc.

507{
508 // if mapvote is already running, don't do this initialization again
509 if (mapvote_run)
510 return;
511
512 // don't start mapvote until after playerstats gamereport is sent
514 return;
515
518 mapvote_run = true;
519}
bool PlayerStats_GameReport_DelayMapVote
bool mapvote_run

References MapInfo_CurrentFeatures(), MapInfo_CurrentGametype(), MapInfo_Enumerate(), MapInfo_FilterGametype(), MapInfo_ForbiddenFlags(), MapInfo_RequiredFlags(), mapvote_run, and PlayerStats_GameReport_DelayMapVote.

Referenced by CheckRules_World(), and IntermissionThink().

◆ MapVote_Think()

void MapVote_Think ( )

Definition at line 521 of file sv_mapvoting.qc.

522{
523 // no think delay, so that impulses (votes) are checked every frame
524
525 if (!mapvote_run)
526 return;
527
528 if (mv_winner_time)
529 {
530 if (time > mv_winner_time + 1)
531 {
532 if (voted_gametype)
533 {
534 // clear match_gametype so that GameTypeVote_SetGametype
535 // prints the gametype switch message
538 }
539
541 Map_Goto(0);
543 }
544 return;
545 }
546
548 return;
549
551 {
553 {
554 cvar_set("rescan_pending", "2");
555 localcmd("\nfs_rescan\nrescan_pending 3\n");
556 return;
557 }
558 else if (autocvar_rescan_pending == 2)
559 return;
560 else if (autocvar_rescan_pending == 3)
561 {
562 // now build missing mapinfo files
564 return;
565
566 // we're done, start the timer
567 cvar_set("rescan_pending", "0");
568 }
569
570 mapvote_initialized = true;
571 if (DoNextMapOverride(0))
572 return;
574 {
575 GotoNextMap(0);
576 return;
577 }
578
581 else if (get_nextmap() == "")
582 MapVote_Init();
583 }
584
585 MapVote_Tick();
586}
int player_count
Definition api.qh:103
float mv_winner_time
void Map_Goto_SetStr(string nextmapname)
void Map_Goto(float reinit)
float DoNextMapOverride(float reinit)
void GotoNextMap(float reinit)
bool alreadychangedlevel
#define get_nextmap()
int mv_winner
Definition mapvoting.qh:24
#define NULL
Definition post.qh:14
#define strfree(this)
Definition string.qh:57
void MapVote_Tick()
bool GameTypeVote_Start()
void MapVote_Init()
#define autocvar_g_maplist_votable
bool mapvote_initialized
int autocvar_rescan_pending

References alreadychangedlevel, autocvar_g_maplist_votable, autocvar_rescan_pending, autocvar_sv_vote_gametype, cvar_set(), DoNextMapOverride(), GameTypeVote_SetGametype(), GameTypeVote_Start(), get_nextmap, GotoNextMap(), localcmd(), Map_Goto(), Map_Goto_SetStr(), MapInfo_CurrentFeatures(), MapInfo_CurrentGametype(), MapInfo_FilterGametype(), MapInfo_ForbiddenFlags(), MapInfo_RequiredFlags(), MapVote_Init(), mapvote_initialized, mapvote_run, MapVote_Tick(), match_gametype, mv_entries, mv_winner, mv_winner_time, NULL, player_count, strfree, time, voted_gametype, and voted_gametype_string.

Referenced by CheckRules_World().

Variable Documentation

◆ autocvar_g_maplist_check_waypoints

bool autocvar_g_maplist_check_waypoints

Definition at line 6 of file sv_mapvoting.qh.

Referenced by MapHasRightSize().

◆ autocvar_g_maplist_ignore_sizes

bool autocvar_g_maplist_ignore_sizes

Definition at line 22 of file sv_mapvoting.qh.

Referenced by MapHasRightSize().

◆ autocvar_g_maplist_index

int autocvar_g_maplist_index

Definition at line 7 of file sv_mapvoting.qh.

Referenced by GetMaplistPosition().

◆ autocvar_g_maplist_mostrecent

string autocvar_g_maplist_mostrecent

Definition at line 8 of file sv_mapvoting.qh.

Referenced by Map_IsRecent(), and Map_MarkAsRecent().

◆ autocvar_g_maplist_mostrecent_count

int autocvar_g_maplist_mostrecent_count

Definition at line 9 of file sv_mapvoting.qh.

Referenced by Map_MarkAsRecent().

◆ autocvar_g_maplist_selectrandom

bool autocvar_g_maplist_selectrandom

Definition at line 10 of file sv_mapvoting.qh.

Referenced by GetNextMap().

◆ autocvar_g_maplist_shuffle

float autocvar_g_maplist_shuffle

Definition at line 11 of file sv_mapvoting.qh.

Referenced by Maplist_Init().

◆ autocvar_g_maplist_sizes_count_bots

bool autocvar_g_maplist_sizes_count_bots = true

Definition at line 24 of file sv_mapvoting.qh.

Referenced by MapHasRightSize().

◆ autocvar_g_maplist_sizes_count_maxplayers

bool autocvar_g_maplist_sizes_count_maxplayers = true

Definition at line 23 of file sv_mapvoting.qh.

Referenced by MapHasRightSize().

◆ autocvar_g_maplist_votable_abstain

bool autocvar_g_maplist_votable_abstain

Definition at line 13 of file sv_mapvoting.qh.

Referenced by MapVote_Init().

◆ autocvar_g_maplist_votable_detail

int autocvar_g_maplist_votable_detail

Definition at line 17 of file sv_mapvoting.qh.

Referenced by MapVote_Init().

◆ autocvar_g_maplist_votable_reduce_count

int autocvar_g_maplist_votable_reduce_count

Definition at line 16 of file sv_mapvoting.qh.

Referenced by MapVote_Init().

◆ autocvar_g_maplist_votable_reduce_time

float autocvar_g_maplist_votable_reduce_time

Definition at line 15 of file sv_mapvoting.qh.

Referenced by MapVote_Init().

◆ autocvar_g_maplist_votable_screenshot_dir

string autocvar_g_maplist_votable_screenshot_dir

Definition at line 18 of file sv_mapvoting.qh.

Referenced by MapVote_Init().

◆ autocvar_g_maplist_votable_show_suggester

bool autocvar_g_maplist_votable_show_suggester

Definition at line 14 of file sv_mapvoting.qh.

Referenced by MapVote_Init().

◆ autocvar_g_maplist_votable_suggestions

bool autocvar_g_maplist_votable_suggestions

Definition at line 19 of file sv_mapvoting.qh.

Referenced by MapVote_Init(), and MapVote_Suggest().

◆ autocvar_g_maplist_votable_suggestions_override_mostrecent

bool autocvar_g_maplist_votable_suggestions_override_mostrecent

Definition at line 20 of file sv_mapvoting.qh.

Referenced by MapVote_Suggest().

◆ autocvar_g_maplist_votable_timeout

float autocvar_g_maplist_votable_timeout

Definition at line 21 of file sv_mapvoting.qh.

Referenced by MapVote_Init().

◆ autocvar_rescan_pending

int autocvar_rescan_pending

Definition at line 25 of file sv_mapvoting.qh.

Referenced by MapVote_Think().

◆ autocvar_sv_vote_gametype

bool autocvar_sv_vote_gametype

◆ autocvar_sv_vote_gametype_default_current

bool autocvar_sv_vote_gametype_default_current

Definition at line 32 of file sv_mapvoting.qh.

Referenced by GameTypeVote_Start().

◆ autocvar_sv_vote_gametype_detail

int autocvar_sv_vote_gametype_detail

Definition at line 31 of file sv_mapvoting.qh.

Referenced by GameTypeVote_Start().

◆ autocvar_sv_vote_gametype_maplist_reset

bool autocvar_sv_vote_gametype_maplist_reset = true

Definition at line 33 of file sv_mapvoting.qh.

Referenced by GameTypeVote_SetGametype().

◆ autocvar_sv_vote_gametype_options

string autocvar_sv_vote_gametype_options

Definition at line 28 of file sv_mapvoting.qh.

Referenced by GameTypeVote_GetMask(), and GameTypeVote_Start().

◆ autocvar_sv_vote_gametype_reduce_count

int autocvar_sv_vote_gametype_reduce_count

Definition at line 30 of file sv_mapvoting.qh.

Referenced by GameTypeVote_Start().

◆ autocvar_sv_vote_gametype_reduce_time

float autocvar_sv_vote_gametype_reduce_time

Definition at line 29 of file sv_mapvoting.qh.

Referenced by GameTypeVote_Start().

◆ autocvar_sv_vote_gametype_timeout

float autocvar_sv_vote_gametype_timeout

Definition at line 27 of file sv_mapvoting.qh.

Referenced by GameTypeVote_Start().

◆ gametypevote

bool gametypevote

Definition at line 62 of file sv_mapvoting.qh.

◆ getmapname_stored

string getmapname_stored

Definition at line 63 of file sv_mapvoting.qh.

Referenced by GetNextMap(), Map_Goto(), and Map_Goto_SetStr().

◆ mapvote

int mapvote

Definition at line 59 of file sv_mapvoting.qh.

◆ mapvote_initialized

bool mapvote_initialized

◆ mapvote_run

bool mapvote_run

Definition at line 58 of file sv_mapvoting.qh.

Referenced by MapVote_Start(), and MapVote_Think().

◆ match_gametype

Gametype match_gametype

◆ mv_pakfile

string mv_pakfile[MAPVOTE_COUNT]

(maps) pk3 file location

Definition at line 45 of file sv_mapvoting.qh.

Referenced by MapVote_AddVotable(), MapVote_UnzoneStrings(), and MapVote_WriteOption().

◆ mv_ranked

int mv_ranked[MAPVOTE_COUNT]

(shared) maps/gametypes ranked by most votes, first = most

Definition at line 51 of file sv_mapvoting.qh.

Referenced by MapVote_AddVotableMaps(), MapVote_CheckRules_count(), MapVote_CheckRules_decide(), MapVote_ranked_cmp(), MapVote_ranked_swap(), and MapVote_SendEntity().

◆ mv_reduce_count

int mv_reduce_count

Definition at line 57 of file sv_mapvoting.qh.

Referenced by GameTypeVote_Start(), MapVote_CheckRules_decide(), and MapVote_Init().

◆ mv_rng

(shared) random() value for each map/gametype to determine tiebreakers

Definition at line 52 of file sv_mapvoting.qh.

Referenced by MapVote_AddVotable(), and MapVote_ranked_cmp().

◆ mv_show_suggester

bool mv_show_suggester

(maps) whether to show suggesters, only for maps since you can't suggest gametypes

Definition at line 46 of file sv_mapvoting.qh.

Referenced by MapVote_Init(), and MapVote_WriteOption().

◆ mv_ssdir_i

int mv_ssdir_i[MAPVOTE_COUNT]

(shared) where to look for screenshots (mv_ssdirs index), set to 0 for gametype voting

Definition at line 44 of file sv_mapvoting.qh.

Referenced by GameTypeVote_AddVotable(), MapVote_AddVotable(), MapVote_WriteOption(), and MapVote_WritePicture().

◆ mv_suggestion_ptr

int mv_suggestion_ptr

(maps) index of where the next suggestion should be (starts as 0)

Definition at line 49 of file sv_mapvoting.qh.

Referenced by MapVote_AddVotableMaps(), MapVote_Init(), and MapVote_Suggest().

◆ mv_suggestions

string mv_suggestions[MAPVOTE_COUNT]

(maps) name of the suggested map, later copied into mv_entries

Definition at line 47 of file sv_mapvoting.qh.

Referenced by MapVote_AddVotable(), MapVote_AddVotableMaps(), and MapVote_Suggest().

◆ mv_voters

int mv_voters

(shared) number of human voters present

Definition at line 50 of file sv_mapvoting.qh.

Referenced by MapVote_CheckRules_count(), MapVote_CheckRules_decide(), and MapVote_Finished().

◆ mv_winner_time

float mv_winner_time

Definition at line 61 of file sv_mapvoting.qh.

◆ voted_gametype

Gametype voted_gametype

Definition at line 67 of file sv_mapvoting.qh.

Referenced by GameTypeVote_Finished(), MapVote_Init_Server(), and MapVote_Think().

◆ voted_gametype_string

string voted_gametype_string