diff --git a/mapchooser_extended/scripting/include/nativevotes.inc b/mapchooser_extended/scripting/include/nativevotes.inc
deleted file mode 100644
index ff88dae7..00000000
--- a/mapchooser_extended/scripting/include/nativevotes.inc
+++ /dev/null
@@ -1,915 +0,0 @@
-/**
- * vim: set ts=4 :
- * =============================================================================
- * NativeVotes
- * Copyright (C) 2011-2013 Ross Bemrose (Powerlord). All rights reserved.
- * =============================================================================
- *
- * This program is free software; you can redistribute it and/or modify it under
- * the terms of the GNU General Public License, version 3.0, as published by the
- * Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see .
- *
- * As a special exception, AlliedModders LLC gives you permission to link the
- * code of this program (as well as its derivative works) to "Half-Life 2," the
- * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
- * by the Valve Corporation. You must obey the GNU General Public License in
- * all respects for all other code used. Additionally, AlliedModders LLC grants
- * this exception to all derivative works. AlliedModders LLC defines further
- * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
- * or .
- *
- * Version: $Id$
- */
-
-#include
-#include
-
-// NativeVotes 0.8 series
-
-#if defined _nativevotes_included
- #endinput
-#endif
-#define _nativevotes_included
-
-#define CLIENT_DISCONNECTED -1
-
-#define NATIVEVOTES_EXTEND "Extend current Map" /** Defined in TF2, but doesn't appear to be localized */
-
-#define NATIVEVOTES_ALL_TEAMS -1 // Defined by TF2, may be the same in L4D/L4D2
-#define NATIVEVOTES_TF2_ALL_TEAMS 0 // Defined by TF2, may be the same in L4D/L4D2
-#define NATIVEVOTES_TEAM_UNASSIGNED 0 // For completeness, do not otherwise use
-#define NATIVEVOTES_TEAM_SPECTATOR 1 // Spectators
-#define NATIVEVOTES_TEAM_1 2 // RED/Survivors/Terrorists
-#define NATIVEVOTES_TEAM_2 3 // BLU/Infected/Counter-Terrorists
-
-#define NATIVEVOTES_SERVER_INDEX 99 // Defined by TF2, may be the same in L4D/L4D2
-
-// These may seem backwards, but this is the order that the votes appear in the vote screen
-#define NATIVEVOTES_VOTE_INVALID -1 /**< Vote was invalid, currently only valid internally */
-#define NATIVEVOTES_VOTE_YES 0 /**< Vote was yes */
-#define NATIVEVOTES_VOTE_NO 1 /**< Vote was no */
-
-/*
-The following MenuActions are supported. Arguments are also listed, as they differ slightly from the default
-MenuAction_Start A menu has been started (nothing passed). Only exists for compat reasons.
-MenuAction_Display A menu is about to be displayed (param1=client). If you choose to change the vote text,
- To change the text, use RedrawVoteTitle()
- If you do so, return 1 or _:Plugin_Changed Otherwise, return _:Plugin_Continue or 0.
-MenuAction_Select An item was selected (param1=client, param2=item). For subplugin support.
-MenuAction_End A vote has fully ended and the vote object is ready to be cleaned up
- param1 is MenuEnd reason, either MenuEnd_VotingCancelled or MenuEnd_VotingDone
-MenuAction_VoteEnd A vote sequence has succeeded (param1=chosen item)
- This is not called if NativeVotes_SetResultCallback has been used on the vote.
- You should call NativeVotes_DisplayPass or NativeVotes_DisplayPassEx after this
-MenuAction_VoteStart A vote sequence has started (nothing passed). Use this instead of MenuAction_Start
-MenuAction_VoteCancel A vote sequence has been cancelled (param1=reason)
-MenuAction_DisplayItem Item text is being drawn to the display (param1=client, param2=item)
- To change the text, use RedrawVoteItem().
- If you do so, return 1 or _:Plugin_Changed. Otherwise, return _:Plugin_Continue or 0.
-*/
-
-#define NATIVEVOTES_ACTIONS_DEFAULT MenuAction_VoteStart|MenuAction_VoteCancel|MenuAction_VoteEnd|MenuAction_End
-
-/**
- * Vote types. These are mapped to translation strings and pass strings by VoteStart and VotePass handlers
- */
-enum NativeVotesType
-{
- NativeVotesType_None = 0, /** Special placeholder for callvote with no arguments for NativeVotes_OnCallVote */
- NativeVotesType_Custom_YesNo, /**< Yes/No, details are vote text. */
- NativeVotesType_Custom_Mult, /**< TF2/CS:GO: Multiple-choice, details are vote text. */
- NativeVotesType_ChgCampaign, /**< L4D/L4D2: Yes/No, details are campaign name */
- NativeVotesType_ChgDifficulty, /**< L4D/L4D2: Yes/No, details are difficulty number in L4D/L4D2 */
- NativeVotesType_ReturnToLobby, /**< L4D/L4D2: Yes/No, details are ignored */
- NativeVotesType_AlltalkOn, /**< L4D2: Yes/No, details are ignored (handled internally by extension) */
- NativeVotesType_AlltalkOff, /**< L4D2: Yes/No, details are ignored (handled internally by extension) */
- NativeVotesType_Restart, /**< Yes/No, details are ignored */
- NativeVotesType_Kick, /**< Yes/No, target is player userid, details are auto-set by target */
- NativeVotesType_KickIdle, /**< TF2/CS:GO: Yes/No, target is player userid, details are auto-set by target */
- NativeVotesType_KickScamming, /**< TF2/CS:GO: Yes/No, target is player userid, details are auto-set by target */
- NativeVotesType_KickCheating, /**< TF2/CS:GO: Yes/No, target is player userid, details are auto-set by target */
- NativeVotesType_ChgLevel, /**< Yes/No, details are level number in L4D/L4D2 or map name in TF2 */
- NativeVotesType_NextLevel, /**< TF2/CS:GO: Yes/No, details are map name */
- NativeVotesType_NextLevelMult, /**< TF2/CS:GO: Multiple-choice, details are ignored */
- NativeVotesType_ScrambleNow, /**< TF2/CS:GO: Yes/No, details are ignored */
- NativeVotesType_ScrambleEnd, /**< TF2: Yes/No, details are ignored */
- NativeVotesType_ChgMission, /**< TF2: Yes/No, details are popfile */
- NativeVotesType_SwapTeams, /**< CS:GO: Yes/No, details are ignored */
- NativeVotesType_Surrender, /**< CS:GO: Yes/No, details are ignored */
- NativeVotesType_Rematch, /**< CS:GO: Yes/No, details are ignored */
- NativeVotesType_Continue, /**< CS:GO: Yes/No, details are ignored */
- NativeVotesType_StartRound, /**< TF2: Yes/No, details are ignored */
- NativeVotesType_Eternaween, /**< TF2: Yes/No, details are ignored */
- NativeVotesType_AutoBalanceOn, /**< TF2: Yes/No, details are ignored */
- NativeVotesType_AutoBalanceOff, /**< TF2: Yes/No, details are ignored */
- NativeVotesType_ClassLimitsOn, /**< TF2: Yes/No, details are ignored */
- NativeVotesType_ClassLimitsOff, /**< TF2: Yes/No, details are ignored */
-};
-
-enum NativeVotesPassType
-{
- NativeVotesPass_None = 0, /**< Special placeholder for error value */
- NativeVotesPass_Custom, /**< Details are custom pass message */
- NativeVotesPass_ChgCampaign, /**< L4D/L4D2: Details are campaign name */
- NativeVotesPass_ChgDifficulty, /**< L4D/L4D2/TF2: Details are difficulty number in L4D/L4D2 and mission name in TF2 */
- NativeVotesPass_ReturnToLobby, /**< L4D/L4D2: Details are ignored */
- NativeVotesPass_AlltalkOn, /**< L4D2: Details are ignored */
- NativeVotesPass_AlltalkOff, /**< L4D2: Details are ignored */
- NativeVotesPass_Restart, /**< Details are ignored */
- NativeVotesPass_Kick, /**< Details are player name */
- NativeVotesPass_ChgLevel, /**< Details are level number in L4D/L4D2 or map name in TF2/CS:GO */
- NativeVotesPass_NextLevel, /**< TF2/CS:GO: Details are map name */
- NativeVotesPass_Extend, /**< TF2/CS:GO: Details are ignored */
- NativeVotesPass_Scramble, /**< TF2/CS:GO: Details are ignored */
- NativeVotesPass_ChgMission, /**< TF2: Details are popfile */
- NativeVotesPass_SwapTeams, /**< CS:GO: Details are ignored */
- NativeVotesPass_Surrender, /**< CS:GO: Details are ignored */
- NativeVotesPass_Rematch, /**< CS:GO: Details are ignored */
- NativeVotesPass_Continue, /**< CS:GO: Details are ignored */
- NativeVotesPass_StartRound, /**< TF2: Details are ignored */
- NativeVotesPass_Eternaween, /**< TF2: Details are ignored */
- NativeVotesPass_AutoBalanceOn, /**< TF2: Yes/No, details are ignored */
- NativeVotesPass_AutoBalanceOff, /**< TF2: Yes/No, details are ignored */
- NativeVotesPass_ClassLimitsOn, /**< TF2: Yes/No, details are ignored */
- NativeVotesPass_ClassLimitsOff, /**< TF2: Yes/No, details are ignored */
-};
-
-/**
- * Reasons a vote was canceled. Not used for L4D/L4D2, as they don't care
- */
-enum NativeVotesFailType
-{
- NativeVotesFail_Generic = 0, /**< Vote was generically cancelled. */
- NativeVotesFail_Loses = 3, /**< No votes outnumbered Yes votes */
- NativeVotesFail_NotEnoughVotes = 4, /**< Vote did not receive enough votes. */
-};
-
-/**
- * Reasons a callvote command failed.
- * This is provided as a convenience to plugin authors as it's not strictly part of the vote system
- */
-enum NativeVotesCallFailType
-{
- NativeVotesCallFail_Generic = 0, /**< Generic fail. */
- NativeVotesCallFail_Loading = 1, /**< L4D/L4D2: Players are still loading. */
- NativeVotesCallFail_Recent = 2, /**< TF2/CS:GO: You can't call another vote yet: Argument is seconds until you can call another vote. */
- NativeVotesCallFail_Disabled = 5, /**< TF2/CS:GO: Server has disabled that issue. */
- NativeVotesCallFail_MapNotFound = 6, /**< TF2/CS:GO: Server does not have that map. */
- NativeVotesCallFail_SpecifyMap = 7, /**< TF2/CS:GO: You must specify a map. */
- NativeVotesCallFail_Failed = 8, /**< TF2/CS:GO: This vote failed recently. */
- NativeVotesCallFail_WrongTeam = 9, /**< TF2/CS:GO: Team can't call this vote. */
- NativeVotesCallFail_Waiting = 10, /**< TF2/CS:GO: Vote can't be called during Waiting For Players. */
- NativeVotesCallFail_PlayerNotFound = 11, /**< TF2/CS:GO: Player to kick can't be found. Buggy in TF2. */
- NativeVotesCallFail_Unknown = 11,
- NativeVotesCallFail_CantKickAdmin = 12, /**< TF2/CS:GO: Can't kick server admin. */
- NativeVotesCallFail_ScramblePending = 13, /**< TF2/CS:GO: Team Scramble is pending.. */
- NativeVotesCallFail_Spectators = 14, /**< TF2/CS:GO: Spectators aren't allowed to call votes. */
- NativeVotesCallFail_LevelSet = 15, /**< TF2/CS:GO: Next level already set. */
- NativeVotesCallFail_MapNotValid = 16, /**< ???: Map is invalid. */
- NativeVotesCallFail_KickTime = 17, /**< ???: Cannot kick for time. */
- NativeVotesCallFail_KickDuringRound = 18, /**< ???: Cannot kick during a round. */
- NativeVotesCallFail_AlreadyActive = 19 /**< TF2: Cannot call vote because modification (Eternaween) is already active (may not work) */
-};
-
-/*
- * Is a specific vote type supported by this game?
- *
- * @param voteType Vote type
- */
-native bool:NativeVotes_IsVoteTypeSupported(NativeVotesType:voteType);
-
-/**
- * Creates a new, empty vote.
- *
- * @param handler Function which will receive vote actions.
- * @param voteType Vote type, cannot be changed after set
- * @param actions Optionally set which actions to receive. Start,
- * Cancel, and End will always be received regardless
- * of whether they are set or not. They are also
- * the only default actions.
- * @return A new vote Handle on INVALID_HANDLE if a vote type is unsupported by this game.
- */
-native Handle:NativeVotes_Create(MenuHandler:handler, NativeVotesType:voteType,
- MenuAction:actions=NATIVEVOTES_ACTIONS_DEFAULT);
-
-/**
- * Frees all handles related to a vote.
- *
- * THIS MUST BE CALLED TO AVOID HANDLE LEAKS
- *
- * @param vote Vote handle
- * @noreturn
- */
-native Handle:NativeVotes_Close(Handle:vote);
-
-/**
- * Appends a new item to the end of a vote. Only valid for Multiple Choice votes
- *
- * @param vote NativeVotes Handle.
- * @param info Item information string.
- * @return True on success, false on failure.
- * @error Invalid Handle, item limit reached, or if the vote is not multiple choice.
- */
-native bool:NativeVotes_AddItem(Handle:vote, const String:info[], const String:display[]);
-
-/**
- * Inserts an item into the menu before a certain position; the new item will
- * be at the given position and all next items pushed forward.
- *
- * @param vote Vote Handle.
- * @param position Position, starting from 0.
- * @param info Item information string.
- * @return True on success, false on failure.
- * @error Invalid Handle or vote position, or if the vote is not multiple choice.
- */
-native bool:NativeVotes_InsertItem(Handle:vote, position, const String:info[], const String:display[]);
-
-/**
- * Removes an item from the menu.
- *
- * @param vote Vote Handle.
- * @param position Position, starting from 0.
- * @return True on success, false on failure.
- * @error Invalid Handle or vote position, or if the vote is not multiple choice.
- */
-native bool:NativeVotes_RemoveItem(Handle:vote, position);
-
-/**
- * Removes all items from a vote.
- *
- * @param vote Vote Handle.
- * @noreturn
- * @error Invalid Handle or vote position, or if the vote is not multiple choice.
- */
-native NativeVotes_RemoveAllItems(Handle:vote);
-
-/**
- * Retrieves information about a vote item.
- *
- * @param vote Vote Handle.
- * @param position Position, starting from 0.
- * @param infoBuf Info buffer.
- * @param infoBufLen Maximum length of the info buffer.
- * @return True on success, false if position is invalid.
- * @error Invalid Handlem
- */
-native bool:NativeVotes_GetItem(Handle:vote,
- position,
- String:infoBuf[],
- infoBufLen,
- String:dispBuf[]="",
- dispBufLen=0);
-
-/**
- * Returns the number of items in a vote.
- *
- * @param vote Vote Handle.
- * @return Number of items in the vote.
- * @error Invalid Handle.
- */
-native NativeVotes_GetItemCount(Handle:vote);
-
-/**
- * Sets the vote's details for votes that support details
- * If this is a custom vote, use NativeVotes_SetTitle to set the vote's title.
- *
- * @param vote Vote Handle.
- * @param argument Details string. See vote types for what details stands for.
- * @noreturn
- * @error Invalid Handle.
- */
-native NativeVotes_SetDetails(Handle:vote, const String:argument[]);
-
-/**
- * Returns the text of a vote's details if set.
- *
- * @param vote Vote Handle.
- * @param buffer Buffer to store details.
- * @param maxlength Maximum length of the buffer.
- * @noreturn
- * @error Invalid Handle.
- */
-native NativeVotes_GetDetails(Handle:vote, String:buffer[], maxlength);
-
-/**
- * Sets a custom vote's title
- *
- * @param vote Vote Handle.
- * @param title Vote title string.
- * @noreturn
- * @error Invalid Handle.
- */
-native NativeVotes_SetTitle(Handle:vote, const String:argument[]);
-
-/**
- * Return the vote's Title.
- * If not set, returns Details instead.
- * This behavior is for compatibility with NativeVotes 0.8.0 and below.
- *
- * @param vote Vote Handle.
- * @param buffer Buffer to store title.
- * @param maxlength Maximum length of the buffer.
- * @noreturn
- * @error Invalid Handle.
- */
-native NativeVotes_GetTitle(Handle:vote, String:buffer[], maxlength);
-
-/**
- * Sets the target userid for vote
- * This should be used instead of SetArgument for votes that target players
- *
- * Also sets target SteamID
- *
- * @param vote Vote Handle.
- * @param userid Client index of target player
- * @param setDetails If true, also sets vote details to client's name
- * @noreturn
- * @error Invalid Handle.
- */
-native NativeVotes_SetTarget(Handle:vote, client, bool:setDetails=true);
-
-/**
- * Returns the userid of a vote's target
- *
- * @param vote Vote Handle.
- * @return Client index of target player or 0 for no target or target disconnected since vote started
- * @error Invalid Handle.
- */
-native NativeVotes_GetTarget(Handle:vote);
-
-/**
- * Get the Steam ID of a vote's target
- * Useful if the target has disconnect from the server during a vote.
- * This was added in specifically for Kick/Ban votes
- *
- * @param vote Vote Handle.
- * @param buffer Buffer to store steamId. Should be 19 characters or more..
- * @param maxlength Maximum length of the buffer.
- * @noreturn
- * @error Invalid Handle.
- */
-native NativeVotes_GetTargetSteam(Handle:vote, String:buffer[], maxlength);
-
-/**
- * Returns whether a vote is in progress.
- *
- * @return True if a NativeVotes vote is in progress, false otherwise.
- */
-native bool:NativeVotes_IsVoteInProgress();
-
-/**
- * Returns a style's maximum items
- *
- * @return Maximum items
- */
-native NativeVotes_GetMaxItems();
-
-/**
- * Sets a vote's option flags.
- *
- * If a certain bit is not supported, it will be stripped before being set.
- *
- * NOTE: This is currently unused, but reserved for future use.
- *
- * @param menu Builtin Vote Handle.
- * @param flags A new bitstring of VOTEFLAG bits.
- * @noreturn
- * @error Invalid Handle.
- */
-native NativeVotes_SetOptionFlags(Handle:vote, flags);
-
-/**
- * Retrieves a menu's option flags.
- *
- * NOTE: This is currently unused, but reserved for future use.
- *
- * @param vote Builtin Vote Handle.
- * @return A bitstring of VOTEFLAG bits.
- * @error Invalid Handle.
- */
-native NativeVotes_GetOptionFlags(Handle:vote);
-
-/**
- * Cancels the vote in progress.
- *
- * @noreturn
- * @error If no vote is in progress.
- */
-native NativeVotes_Cancel();
-
-/**
- * Callback for when a vote has ended and results are available.
- *
- * Due to SourceMod Forward limitations in plugins, multi-dimension arrays can't be passed
- * to forwards. This means we have to split the client_info and item_info arrays into
- * their components.
- *
- * @param vote The vote being voted on.
- * @param num_votes Number of votes tallied in total.
- * @param num_clients Number of clients who could vote.
- * @param client_indexes Array of client indexes. Parallel with client_votes.
- * @param client_votes Array of client votes. Parallel with client_indexes.
- * @param num_items Number of unique items that were selected.
- * @param item_indexes Array of vote item indexes. Parallel with item_votes..
- * @param item_votes Array of vote vote counts. Parallel with item_indexes.
- * @noreturn
- */
-typedef NativeVotes_VoteHandler = function int (Handle vote,
- int num_votes,
- int num_clients,
- const int[] client_indexes,
- const int[] client_votes,
- int num_items,
- const int[] item_indexes,
- const int[] item_votes);
-/**
- * Function to convert client/vote arrays into their two-dimensional versions,
- * which can then be passed to a standard vote handler.
- *
- * client_info and item_info are the resulting arrays.
- *
- * Note: When declaring client_info and item_info, you'll probably want to declare them like this:
- * new client_info[num_clients][2];
- * new item_info[num_items][2];
- *
- * @param num_clients Number of clients who could vote.
- * @param client_indexes Array of client indexes. Parallel with client_votes.
- * @param client_votes Array of client votes. Parallel with client_indexes.
- * @param num_items Number of unique items that were selected.
- * @param item_indexes Array of vote item indexes. Parallel with item_votes..
- * @param item_votes Array of vote vote counts. Parallel with item_indexes.
- * @param client_info Array of clients. Use VOTEINFO_CLIENT_ defines.
- * @param item_info Array of items, sorted by count. Use VOTEINFO_ITEM
- * defines.
- * @noreturn
- */
-stock NativeVotes_FixResults(num_clients,
- const client_indexes[],
- const client_votes[],
- num_items,
- const item_indexes[],
- const item_votes[],
- client_info[][],
- item_info[][])
-{
- for (new i = 0; i < num_clients; ++i)
- {
- client_info[i][VOTEINFO_CLIENT_INDEX] = client_indexes[i];
- client_info[i][VOTEINFO_CLIENT_ITEM] = client_votes[i];
- }
-
- for (new i = 0; i < num_items; ++i)
- {
- item_info[i][VOTEINFO_ITEM_INDEX] = item_indexes[i];
- item_info[i][VOTEINFO_ITEM_VOTES] = item_votes[i];
- }
-}
-
-/**
- * Sets an advanced vote handling callback. If this callback is set,
- * MenuAction_VoteEnd will not be called.
- *
- * @param vote NativeVotes Handle.
- * @param callback Callback function.
- * @noreturn
- * @error Invalid Handle or callback.
- */
-native NativeVotes_SetResultCallback(Handle:vote, NativeVotes_VoteHandler:callback);
-
-/**
- * Returns the number of seconds you should "wait" before displaying
- * a public vote. This number is the time remaining until
- * (last_vote + sm_vote_delay).
- *
- * @return Number of seconds to wait, or 0 for none.
- */
-native NativeVotes_CheckVoteDelay();
-
-/**
- * Returns whether a client is in the pool of clients allowed
- * to participate in the current vote. This is determined by
- * the client list passed to NativeVotes_Display().
- *
- * @param client Client index.
- * @return True if client is allowed to vote, false otherwise.
- * @error If no vote is in progress or client index is invalid.
- */
-native bool:NativeVotes_IsClientInVotePool(client);
-
-/**
- * Redraws the current vote to a client in the voting pool.
- *
- * @param client Client index.
- * @param revotes True to allow revotes, false otherwise.
- * @return True on success, false if the client is in the vote pool
- * but cannot vote again.
- * @error No vote in progress, client is not in the voting pool,
- * or client index is invalid.
- */
-native bool:NativeVotes_RedrawClientVote(client, bool:revotes=true);
-
-/**
- * Retrieve the vote type
- *
- * @param vote NativeVotes Handle.
- * @return The built in vote type
- * @error Invalid Handle
- */
-native NativeVotesType:NativeVotes_GetType(Handle:vote);
-
-/**
- * Set the team this vote is for, or NATIVEVOTES_ALL_TEAMS for all teams.
- *
- * Defaults to NATIVEVOTES_ALL_TEAMS if not explicitly set.
- *
- * @param vote NativeVotes Handle.
- * @param team Team number this vote is for
- * @noreturn
- * @error Invalid Handle
- */
-native NativeVotes_SetTeam(Handle:vote, team);
-
-/**
- * Retrieve the team this vote is for
- *
- * @param vote NativeVotes Handle.
- * @return Team index or NATIVEVOTES_ALL_TEAMS for all teams.
- * @error Invalid Handle
- */
-native NativeVotes_GetTeam(Handle:vote);
-
-/**
- * Set the client index of the player who initiated the vote.
- * Use NATIVEVOTES_SERVER_INDEX if initiated by the server itself.
- *
- * Defaults to NATIVEVOTES_SERVER_INDEX if not explicitly set.
- *
- * @param vote NativeVotes Handle.
- * @param client Client who initiated the vote or NATIVEVOTES_SERVER_INDEX
- * @noreturn
- * @error Invalid Handle
- */
-native NativeVotes_SetInitiator(Handle:vote, client);
-
-/**
- * Retrieve the client index of the player who initiated the vote or NATIVEVOTES_SERVER_INDEX if
- * initiated by the server itself.
- *
- * @param Vote handle
- * @return Client index or NATIVEVOTES_SERVER_INDEX
- * @error Invalid Handle
- */
-native NativeVotes_GetInitiator(Handle:vote);
-
-/**
- * Broadcasts a vote to a list of clients. The most selected item will be
- * returned through MenuAction_VoteEnd. On a tie, a random item will be returned
- * from a list of the tied items.
- *
- * Note that MenuAction_VoteStart, MenuAction_VoteCancel, MenuAction_VoteEnd, and MenuAction_End are all
- * default callbacks and do not need to be enabled.
- *
- * @param vote Vote Handle.
- * @param clients Array of clients to broadcast to.
- * @param numClients Number of clients in the array.
- * @param time Maximum time to leave menu on the screen.
- * @return True on success, false if a vote is already in progress.
- * @error Invalid Handle, or a vote is already in progress.
- */
-native bool:NativeVotes_Display(Handle:vote, clients[], numClients, time);
-
-/**
- * Sends a vote menu to all clients. See NativeVotes_Display() for more information.
- *
- * @param vote Vote Handle.
- * @param time Maximum time to leave menu on the screen.
- * @return True on success, false if this menu already has a vote session
- * in progress.
- * @error Invalid Handle, or a vote is already in progress.
- */
-stock bool:NativeVotes_DisplayToAll(Handle:vote, time)
-{
- new total = 0;
- decl players[MaxClients];
-
- for (new i=1; i<=MaxClients; i++)
- {
- if (!IsClientInGame(i) || IsFakeClient(i))
- {
- continue;
- }
- players[total++] = i;
- }
-
- return NativeVotes_Display(vote, players, total, time);
-}
-
-/**
- * Sends a vote menu to a single team. See NativeVotes_Display() for more information.
- *
- * @param vote Vote Handle.
- * @param team Team to send vote to. 1 = spectators, 2 = RED/Survivors/Terrorists, 3 = BLU/Infected/Counter-Terrorists
- * @param time Maximum time to leave menu on the screen.
- * @return True on success, false if this menu already has a vote session
- * in progress.
- * @error Invalid Handle, or a vote is already in progress.
- */
-stock bool:NativeVotes_DisplayToTeam(Handle:vote, team, time)
-{
- NativeVotes_SetTeam(vote, team);
-
- new total;
- decl players[MaxClients];
-
- for (new i=1; i<=MaxClients; i++)
- {
- if (!IsClientInGame(i) || IsFakeClient(i) || (GetClientTeam(i) != team))
- {
- continue;
- }
- players[total++] = i;
- }
-
- return NativeVotes_Display(vote, players, total, time);
-}
-
-/**
- * Sends a vote menu to all clients who are not spectators or waiting to choose a team. See NativeVotes_Display() for more information.
- *
- * @param vote Vote Handle.
- * @param time Maximum time to leave menu on the screen.
- * @return True on success, false if this menu already has a vote session
- * in progress.
- * @error Invalid Handle, or a vote is already in progress.
- */
-stock bool:NativeVotes_DisplayToAllNonSpectators(Handle:vote, time)
-{
- new total;
- decl players[MaxClients];
-
- for (new i=1; i<=MaxClients; i++)
- {
- if (!IsClientInGame(i) || IsFakeClient(i) || (GetClientTeam(i) < 2))
- {
- continue;
- }
- players[total++] = i;
- }
-
- return NativeVotes_Display(vote, players, total, time);
-}
-
-/**
- * Display vote passed screen
- *
- * You MUST call one of the NativeVotesDisplayPass* or NativeVotes_DisplayFail functions
- * to hide the vote screen for users who didn't vote, and to clear out their selection
- * for the next vote.
- *
- * @param vote Vote handle
- * @param details Normally the item that won the vote or format string. Also used for custom vote winners
- * @param ... Variable number of format parameters.
- * @noreturn
- */
-native NativeVotes_DisplayPass(Handle:vote, const String:details[]="");
-
-/**
- * Display vote passed screen with custom text to a single user
- *
- * You MUST call one of the NativeVotesDisplayPass* or NativeVotes_DisplayFail functions
- * to hide the vote screen for users who didn't vote, and to clear out their selection
- * for the next vote.
- *
- * @param vote Vote handle
- * @param client client to display to
- * @param format A format string.
- * @param any Variable number of format parameters
- * @noreturn
- */
-native NativeVotes_DisplayPassCustomToOne(Handle:vote, client, const String:format[], any:...);
-
-/**
- * Display vote passed screen with custom text
- *
- * You MUST call one of the NativeVotesDisplayPass* or NativeVotes_DisplayFail functions
- * to hide the vote screen for users who didn't vote, and to clear out their selection
- * for the next vote.
- *
- * @param vote Vote handle
- * @param format A format string.
- * @param any Variable number of format parameters
- * @noreturn
- */
-stock NativeVotes_DisplayPassCustom(Handle:vote, const String:format[], any:...)
-{
- decl String:buffer[192];
-
- for (new i = 1; i <= MaxClients; ++i)
- {
- if (IsClientInGame(i))
- {
- SetGlobalTransTarget(i);
- VFormat(buffer, sizeof(buffer), format, 3);
- NativeVotes_DisplayPassCustomToOne(vote, i, "%s", buffer);
- }
- }
-}
-
-/**
- * Display vote passed screen with a custom type.
- *
- * A sample usage of this would be if Extend won an RTV vote: NativeVotes_DisplayPassEx(vote, NativeVotesPass_Extend, map);
- *
- * You MUST call one of NativeVotes_DisplayPass, NativeVotes_DisplayPassEx,
- * or NativeVotes_DisplayFail to hide the vote screen for users who didn't vote
- * and to clear out their selection for the next vote.
- *
- * #param vote Vote handle
- * @param passType The pass screen to display
- * @param details Normally the item that won the vote. Also used for custom vote winners
- * @noreturn
- */
-native NativeVotes_DisplayPassEx(Handle:vote, NativeVotesPassType:passType, const String:details[]="");
-
-/**
- * Display failure screen.
- *
- * You MUST call one of NativeVotes_DisplayPass, NativeVotes_DisplayPassEx,
- * or NativeVotes_DisplayFail to hide the vote screen for users who didn't vote,
- * and to clear out their selection for the next vote.
- *
- * @param reason Vote failure reason from NativeVotesFailType enum
- * @noreturn
- */
-native NativeVotes_DisplayFail(Handle:vote, NativeVotesFailType:reason=NativeVotesFail_Generic);
-
-/**
- * Quick stock to determine whether voting is allowed. This doesn't let you
- * fine-tune a reason for not voting, so it's not recommended for lazily
- * telling clients that voting isn't allowed.
- *
- * @return True if voting is allowed, false if voting is in progress
- * or the cooldown is active.
- */
-stock bool:NativeVotes_IsNewVoteAllowed()
-{
- if (NativeVotes_IsVoteInProgress() || NativeVotes_CheckVoteDelay() != 0)
- {
- return false;
- }
-
- return true;
-}
-
-/**
- * Used when callvote is called with no arguments.
- *
- * This is used to configure the VoteSetup usermessage on TF2 and CS:GO
- *
- * @param client Client, in case the votes are restricted by client
- * @param voteTypes Populate this array with the vote types this server supports
- * Custom and multiple choice votes are not supported from
- * the GUI and are thus ignored.
- * @return Plugin_Continue to allow the server itself (or another plugin) to process the callvote
- * Plugin_Changed if you're changing the voteTypes,
- * Plugin_Handled to return a blank VoteSetup usermessage
- * Plugin_Stop to prevent VoteSetup usermessage (not recommended)
- */
-//functag public Action:NativeVotes_CallVoteSetupHandler(client, NativeVotesType:voteTypes[]);
-
-/**
- * Forward for "callvote" handling
- *
- * You should respond to this by starting a vote or by calling NativeVotes_DisplayCallVoteFail
- *
- * @param client Client
- * @param voteType Type of vote being called. This will NEVER be a multiple-choice or custom vote.
- * @param voteArgument Vote argument or blank if the vote type has no argument.
- * @param target target userid for kick votes or 0 for all other votes
- * @return Plugin_Continue to allow the server itself (or another plugin) to process the callvote
- * Plugin_Handled if you processed this vote type
- * Plugin_Stop to block the vote type (not recommended)
- */
-//functag public Action:NativeVotes_CallVoteHandler(client, NativeVotesType:voteType, const String:voteArgument[], target);
-
-/**
- * Register a plugin as a vote manager.
- * This is used to abstract away the details of the callvote command.
- *
- * @param callHandler Handler for callvote commands.
- * @param setupHandler Handler to override the which vote types your server supports. Only useful on TF2 and CS:GO.
- * @noreturn
- */
-//native NativeVotes_RegisterVoteManager(NativeVotes_CallVoteHandler:callHandler, NativeVotes_CallVoteSetupHandler:setupHandler=INVALID_FUNCTION);
-
-/**
- * Send a call vote fail screen to a user
- * Used to respond to a callvote with invalid arguments or for other reasons
- * (such as trying to target an admin for a kick/ban vote)
- *
- * @param client The client to display the fail screen to
- * @param reason A vote call fail reason
- * @param time For NativeVotesCallFail_Recent, the number of seconds until the vote
- * can be called again
- */
-native NativeVotes_DisplayCallVoteFail(client, NativeVotesCallFailType:reason, time);
-
-/**
- * Redraws the vote title from inside a MenuAction_Display callback
- * Not supported on L4D
- *
- * @param text Vote title to draw
- * @error If called from outside MenuAction_Display
- * @return Plugin_Changed if the change is allowed, Plugin_Continue if it isn't.
- */
-native Action:NativeVotes_RedrawVoteTitle(const String:text[]);
-
-/**
- * Redraws the vote text from inside a MenuAction_DisplayItem callback.
- * Only supported on multiple-choice votes
- *
- * @param text Vote text to draw.
- * @error If called from outside MenuAction_DisplayItem
- * @return Plugin_Changed if the change is allowed, Plugin_Continue if it isn't.
- */
-native Action:NativeVotes_RedrawVoteItem(const String:text[]);
-
-/**
- * Retrieves voting information from MenuAction_VoteEnd.
- *
- * @param param2 Second parameter of MenuAction_VoteEnd.
- * @param winningVotes Number of votes received by the winning option.
- * @param totalVotes Number of total votes received.
- * @noreturn
- */
-stock NativeVotes_GetInfo(param2, &winningVotes, &totalVotes)
-{
- winningVotes = param2 & 0xFFFF;
- totalVotes = param2 >> 16;
-}
-
-/**
- * Do not edit below this line!
- */
-public SharedPlugin:__pl_nativevotes =
-{
- name = "nativevotes",
- file = "nativevotes.smx",
-#if defined REQUIRE_PLUGINS
- required = 1,
-#else
- required = 0,
-#endif
-};
-
-public __pl_nativevotes_SetNTVOptional()
-{
- MarkNativeAsOptional("NativeVotes_IsVoteTypeSupported");
- MarkNativeAsOptional("NativeVotes_Create");
- MarkNativeAsOptional("NativeVotes_Close");
- MarkNativeAsOptional("NativeVotes_AddItem");
- MarkNativeAsOptional("NativeVotes_InsertItem");
- MarkNativeAsOptional("NativeVotes_RemoveItem");
- MarkNativeAsOptional("NativeVotes_RemoveAllItems");
- MarkNativeAsOptional("NativeVotes_GetItem");
- MarkNativeAsOptional("NativeVotes_GetItemCount");
- MarkNativeAsOptional("NativeVotes_SetDetails");
- MarkNativeAsOptional("NativeVotes_GetDetails");
- MarkNativeAsOptional("NativeVotes_SetTitle");
- MarkNativeAsOptional("NativeVotes_GetTitle");
- MarkNativeAsOptional("NativeVotes_SetTarget");
- MarkNativeAsOptional("NativeVotes_GetTarget");
- MarkNativeAsOptional("NativeVotes_GetTargetSteam");
- MarkNativeAsOptional("NativeVotes_IsVoteInProgress");
- MarkNativeAsOptional("NativeVotes_GetMaxItems");
- MarkNativeAsOptional("NativeVotes_SetOptionFlags");
- MarkNativeAsOptional("NativeVotes_GetOptionFlags");
- MarkNativeAsOptional("NativeVotes_Cancel");
- MarkNativeAsOptional("NativeVotes_SetResultCallback");
- MarkNativeAsOptional("NativeVotes_CheckVoteDelay");
- MarkNativeAsOptional("NativeVotes_IsClientInVotePool");
- MarkNativeAsOptional("NativeVotes_RedrawClientVote");
- MarkNativeAsOptional("NativeVotes_RedrawClientVote");
- MarkNativeAsOptional("NativeVotes_GetType");
- MarkNativeAsOptional("NativeVotes_SetTeam");
- MarkNativeAsOptional("NativeVotes_GetTeam");
- MarkNativeAsOptional("NativeVotes_SetInitiator");
- MarkNativeAsOptional("NativeVotes_GetInitiator");
- MarkNativeAsOptional("NativeVotes_Display");
- MarkNativeAsOptional("NativeVotes_DisplayPass");
- MarkNativeAsOptional("NativeVotes_DisplayPassCustomToOne");
- MarkNativeAsOptional("NativeVotes_DisplayPassEx");
- MarkNativeAsOptional("NativeVotes_DisplayFail");
- MarkNativeAsOptional("NativeVotes_RegisterVoteManager");
- MarkNativeAsOptional("NativeVotes_DisplayCallVoteFail");
- MarkNativeAsOptional("NativeVotes_RedrawVoteTitle");
- MarkNativeAsOptional("NativeVotes_RedrawVoteItem");
-}
diff --git a/mapchooser_extended/scripting/mapchooser_extended.sp b/mapchooser_extended/scripting/mapchooser_extended.sp
index 55daeb2d..af604320 100644
--- a/mapchooser_extended/scripting/mapchooser_extended.sp
+++ b/mapchooser_extended/scripting/mapchooser_extended.sp
@@ -50,15 +50,10 @@
#include
#include
-#undef REQUIRE_PLUGIN
-#include
-#define REQUIRE_PLUGIN
-
#pragma semicolon 1
#pragma newdecls required
#define MCE_VERSION "1.13.0"
-#define NV "nativevotes"
enum RoundCounting
{
@@ -158,7 +153,6 @@ ConVar g_Cvar_StartTimePercent;
ConVar g_Cvar_StartTimePercentEnable;
ConVar g_Cvar_WarningTime;
ConVar g_Cvar_RunOffWarningTime;
-ConVar g_Cvar_MenuStyle;
ConVar g_Cvar_TimerLocation;
ConVar g_Cvar_ExtendPosition;
ConVar g_Cvar_MarkCustomMaps;
@@ -179,7 +173,6 @@ Handle g_MapVoteRunoffStartForward = INVALID_HANDLE;
/* Mapchooser Extended Globals */
int g_RunoffCount = 0;
int g_mapOfficialFileSerial = -1;
-bool g_NativeVotes = false;
char g_GameModName[64];
bool g_WarningInProgress = false;
bool g_AddNoVote = false;
@@ -259,7 +252,6 @@ public void OnPluginStart()
g_Cvar_StartTimePercentEnable = CreateConVar("mce_start_percent_enable", "0", "Enable or Disable percentage calculations when to start vote.", _, true, 0.0, true, 1.0);
g_Cvar_WarningTime = CreateConVar("mce_warningtime", "15.0", "Warning time in seconds.", _, true, 0.0, true, 60.0);
g_Cvar_RunOffWarningTime = CreateConVar("mce_runoffvotewarningtime", "5.0", "Warning time for runoff vote in seconds.", _, true, 0.0, true, 30.0);
- g_Cvar_MenuStyle = CreateConVar("mce_menustyle", "0", "Menu Style. 0 is the game's default, 1 is the older Valve style that requires you to press Escape to see the menu, 2 is the newer 1-9 button Voice Command style, unavailable in some games. Ignored on TF2 if NativeVotes Plugin is loaded.", _, true, 0.0, true, 2.0);
g_Cvar_TimerLocation = CreateConVar("mce_warningtimerlocation", "0", "Location for the warning timer text. 0 is HintBox, 1 is Center text, 2 is Chat. Defaults to HintBox.", _, true, 0.0, true, 2.0);
g_Cvar_MarkCustomMaps = CreateConVar("mce_markcustommaps", "1", "Mark custom maps in the vote list. 0 = Disabled, 1 = Mark with *, 2 = Mark with phrase.", _, true, 0.0, true, 2.0);
g_Cvar_ExtendPosition = CreateConVar("mce_extendposition", "0", "Position of Extend/Don't Change options. 0 = at end, 1 = at start.", _, true, 0.0, true, 1.0);
@@ -420,23 +412,6 @@ public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max
return APLRes_Success;
}
-public void OnAllPluginsLoaded()
-{
- g_NativeVotes = LibraryExists(NV) && NativeVotes_IsVoteTypeSupported(NativeVotesType_NextLevelMult);
-}
-
-public void OnLibraryAdded(const char[] name)
-{
- if(StrEqual(name, NV) && NativeVotes_IsVoteTypeSupported(NativeVotesType_NextLevelMult))
- g_NativeVotes = true;
-}
-
-public void OnLibraryRemoved(const char[] name)
-{
- if(StrEqual(name, NV))
- g_NativeVotes = false;
-}
-
public void OnMapStart()
{
static char folder[64];
@@ -981,10 +956,8 @@ void InitiateVote(MapChange when, Handle inputlist=INVALID_HANDLE)
g_WaitingForVote = true;
g_WarningInProgress = false;
- // Check if a nativevotes vots is in progress first
- // NativeVotes running at the same time as a regular vote can cause hintbox problems,
- // so always check for a standard vote
- if(IsVoteInProgress() || (g_NativeVotes && NativeVotes_IsVoteInProgress()))
+ // Check if a vote is in progress first
+ if(IsVoteInProgress())
{
// Can't start a vote, try again in 5 seconds.
//g_RetryTimer = CreateTimer(5.0, Timer_StartMapVote, _, TIMER_FLAG_NO_MAPCHANGE);
@@ -1021,52 +994,34 @@ void InitiateVote(MapChange when, Handle inputlist=INVALID_HANDLE)
g_HasVoteStarted = true;
- if(g_NativeVotes)
- {
- g_VoteMenu = NativeVotes_Create(Handler_MapVoteMenu, NativeVotesType_NextLevelMult, MenuAction_End | MenuAction_VoteCancel | MenuAction_Display | MenuAction_DisplayItem);
- NativeVotes_SetResultCallback(g_VoteMenu, Handler_NativeVoteFinished);
- }
- else
- {
- Handle menuStyle = GetMenuStyleHandle(view_as(GetConVarInt(g_Cvar_MenuStyle)));
+ g_VoteMenu = CreateMenu(Handler_MapVoteMenu, MenuAction_End | MenuAction_Display | MenuAction_DisplayItem | MenuAction_VoteCancel);
- if(menuStyle != INVALID_HANDLE)
+ g_AddNoVote = GetConVarBool(g_Cvar_NoVoteOption);
+
+ // Block Vote Slots
+ if(GetConVarBool(g_Cvar_BlockSlots))
+ {
+ Handle radioStyle = GetMenuStyleHandle(MenuStyle_Radio);
+
+ if(GetMenuStyle(g_VoteMenu) == radioStyle)
{
- g_VoteMenu = CreateMenuEx(menuStyle, Handler_MapVoteMenu, MenuAction_End | MenuAction_Display | MenuAction_DisplayItem | MenuAction_VoteCancel);
+ g_BlockedSlots = true;
+ AddMenuItem(g_VoteMenu, LINE_ONE, "Choose something...", ITEMDRAW_DISABLED);
+ AddMenuItem(g_VoteMenu, LINE_TWO, "...will ya?", ITEMDRAW_DISABLED);
+
+ if(!g_AddNoVote)
+ AddMenuItem(g_VoteMenu, LINE_SPACER, "", ITEMDRAW_SPACER);
}
else
- {
- // You chose... poorly
- g_VoteMenu = CreateMenu(Handler_MapVoteMenu, MenuAction_End | MenuAction_Display | MenuAction_DisplayItem | MenuAction_VoteCancel);
- }
-
- g_AddNoVote = GetConVarBool(g_Cvar_NoVoteOption);
-
- // Block Vote Slots
- if(GetConVarBool(g_Cvar_BlockSlots))
- {
- Handle radioStyle = GetMenuStyleHandle(MenuStyle_Radio);
-
- if(GetMenuStyle(g_VoteMenu) == radioStyle)
- {
- g_BlockedSlots = true;
- AddMenuItem(g_VoteMenu, LINE_ONE, "Choose something...", ITEMDRAW_DISABLED);
- AddMenuItem(g_VoteMenu, LINE_TWO, "...will ya?", ITEMDRAW_DISABLED);
-
- if(!g_AddNoVote)
- AddMenuItem(g_VoteMenu, LINE_SPACER, "", ITEMDRAW_SPACER);
- }
- else
- g_BlockedSlots = false;
- }
-
- if(g_AddNoVote)
- SetMenuOptionFlags(g_VoteMenu, MENUFLAG_BUTTON_NOVOTE);
-
- SetMenuTitle(g_VoteMenu, "Vote Nextmap");
- SetVoteResultCallback(g_VoteMenu, Handler_MapVoteFinished);
+ g_BlockedSlots = false;
}
+ if(g_AddNoVote)
+ SetMenuOptionFlags(g_VoteMenu, MENUFLAG_BUTTON_NOVOTE);
+
+ SetMenuTitle(g_VoteMenu, "Vote Nextmap");
+ SetVoteResultCallback(g_VoteMenu, Handler_MapVoteFinished);
+
/* Call OnMapVoteStarted() Forward */
// Call_StartForward(g_MapVoteStartedForward);
// Call_Finish();
@@ -1091,16 +1046,6 @@ void InitiateVote(MapChange when, Handle inputlist=INVALID_HANDLE)
int voteSize = GetVoteSize(2);
- // The if and else if could be combined, but it looks extremely messy
- // This is a hack to lower the vote menu size by 1 when Don't Change or Extend Map should appear
- if(g_NativeVotes)
- {
- if((when == MapChange_Instant || when == MapChange_RoundEnd) && GetConVarBool(g_Cvar_DontChange))
- voteSize--;
- else if(GetConVarBool(g_Cvar_Extend) && g_Extends < GetConVarInt(g_Cvar_Extend))
- voteSize--;
- }
-
/* Smaller of the two - It should be impossible for nominations to exceed the size though (cvar changed mid-map?) */
int nominationsToAdd = nominateCount >= voteSize ? voteSize : nominateCount;
@@ -1220,17 +1165,11 @@ void InitiateVote(MapChange when, Handle inputlist=INVALID_HANDLE)
// New in Mapchooser Extended
else if(StrEqual(map, VOTE_DONTCHANGE))
{
- if(g_NativeVotes)
- NativeVotes_AddItem(g_VoteMenu, VOTE_DONTCHANGE, "Don't Change");
- else
- AddMenuItem(g_VoteMenu, VOTE_DONTCHANGE, "Don't Change");
+ AddMenuItem(g_VoteMenu, VOTE_DONTCHANGE, "Don't Change");
}
else if(StrEqual(map, VOTE_EXTEND))
{
- if(g_NativeVotes)
- NativeVotes_AddItem(g_VoteMenu, VOTE_EXTEND, "Extend Map");
- else
- AddMenuItem(g_VoteMenu, VOTE_EXTEND, "Extend Map");
+ AddMenuItem(g_VoteMenu, VOTE_EXTEND, "Extend Map");
}
}
delete inputlist;
@@ -1238,23 +1177,16 @@ void InitiateVote(MapChange when, Handle inputlist=INVALID_HANDLE)
int voteDuration = GetConVarInt(g_Cvar_VoteDuration);
- if(g_NativeVotes)
- {
- NativeVotes_DisplayToAll(g_VoteMenu, voteDuration);
- }
- else
- {
- //SetMenuExitButton(g_VoteMenu, false);
+ //SetMenuExitButton(g_VoteMenu, false);
- if(GetVoteSize(2) <= GetMaxPageItems(GetMenuStyle(g_VoteMenu)))
- {
- //This is necessary to get items 9 and 0 as usable voting items
- SetMenuPagination(g_VoteMenu, MENU_NO_PAGINATION);
- }
-
- VoteMenuToAll(g_VoteMenu, voteDuration);
+ if(GetVoteSize(2) <= GetMaxPageItems(GetMenuStyle(g_VoteMenu)))
+ {
+ //This is necessary to get items 9 and 0 as usable voting items
+ SetMenuPagination(g_VoteMenu, MENU_NO_PAGINATION);
}
+ VoteMenuToAll(g_VoteMenu, voteDuration);
+
/* Call OnMapVoteStarted() Forward */
Call_StartForward(g_MapVoteStartForward); // Deprecated
Call_Finish();
@@ -1266,23 +1198,6 @@ void InitiateVote(MapChange when, Handle inputlist=INVALID_HANDLE)
CPrintToChatAll("[MCE] %t", "Nextmap Voting Started");
}
-public int Handler_NativeVoteFinished(Handle vote,
- int num_votes,
- int num_clients,
- const int[] client_indexes,
- const int[] client_votes,
- int num_items,
- const int[] item_indexes,
- const int[] item_votes)
-{
- int[][] client_info = new int[num_clients][2];
- int[][] item_info = new int[num_items][2];
-
- NativeVotes_FixResults(num_clients, client_indexes, client_votes, num_items, item_indexes, item_votes, client_info, item_info);
- Handler_MapVoteFinished(vote, num_votes, num_clients, client_info, num_items, item_info);
-}
-
-
public void Handler_VoteFinishedGeneric(Handle menu,
int num_votes,
int num_clients,
@@ -1329,9 +1244,6 @@ public void Handler_VoteFinishedGeneric(Handle menu,
SetConVarInt(g_Cvar_Fraglimit, fraglimit + GetConVarInt(g_Cvar_ExtendFragStep));
}
- if(g_NativeVotes)
- NativeVotes_DisplayPassEx(menu, NativeVotesPass_Extend);
-
CPrintToChatAll("[MCE] %t", "Current Map Extended", RoundToFloor(float(item_info[0][VOTEINFO_ITEM_VOTES])/float(num_votes)*100), num_votes);
LogAction(-1, -1, "Voting for next map has finished. The current map has been extended.");
@@ -1343,9 +1255,6 @@ public void Handler_VoteFinishedGeneric(Handle menu,
}
else if(strcmp(map, VOTE_DONTCHANGE, false) == 0)
{
- if(g_NativeVotes)
- NativeVotes_DisplayPassEx(menu, NativeVotesPass_Extend);
-
CPrintToChatAll("[MCE] %t", "Current Map Stays", RoundToFloor(float(item_info[0][VOTEINFO_ITEM_VOTES])/float(num_votes)*100), num_votes);
LogAction(-1, -1, "Voting for next map has finished. 'No Change' was the winner");
@@ -1358,9 +1267,6 @@ public void Handler_VoteFinishedGeneric(Handle menu,
if(g_ChangeTime == MapChange_MapEnd)
{
SetNextMap(map);
-
- if(g_NativeVotes)
- NativeVotes_DisplayPass(menu, map);
}
else if(g_ChangeTime == MapChange_Instant)
{
@@ -1368,17 +1274,11 @@ public void Handler_VoteFinishedGeneric(Handle menu,
CreateDataTimer(4.0, Timer_ChangeMap, data);
WritePackString(data, map);
g_ChangeMapInProgress = false;
-
- if(g_NativeVotes)
- NativeVotes_DisplayPassEx(menu, NativeVotesPass_ChgLevel, map);
}
else // MapChange_RoundEnd
{
SetNextMap(map);
g_ChangeMapAtRoundEnd = true;
-
- if(g_NativeVotes)
- NativeVotes_DisplayPass(menu, map);
}
g_HasVoteStarted = false;
@@ -1425,9 +1325,6 @@ public void Handler_MapVoteFinished(Handle menu,
break;
}
- if(g_NativeVotes)
- NativeVotes_DisplayFail(menu, NativeVotesFail_NotEnoughVotes);
-
CPrintToChatAll("[MCE] %t", "Tie Vote", GetArraySize(mapList));
SetupWarningTimer(WarningType_Revote, view_as(g_ChangeTime), mapList);
return;
@@ -1458,9 +1355,6 @@ public void Handler_MapVoteFinished(Handle menu,
break;
}
- if(g_NativeVotes)
- NativeVotes_DisplayFail(menu, NativeVotesFail_NotEnoughVotes);
-
CPrintToChatAll("[MCE] %t", "Revote Is Needed", required_percent);
SetupWarningTimer(WarningType_Revote, view_as(g_ChangeTime), mapList);
return;
@@ -1471,7 +1365,6 @@ public void Handler_MapVoteFinished(Handle menu,
Handler_VoteFinishedGeneric(menu, num_votes, num_clients, client_info, num_items, item_info);
}
-// This is shared by NativeVotes now, but NV doesn't support Display or DisplayItem
public int Handler_MapVoteMenu(Handle menu, MenuAction action, int param1, int param2)
{
switch(action)
@@ -1479,22 +1372,15 @@ public int Handler_MapVoteMenu(Handle menu, MenuAction action, int param1, int p
case MenuAction_End:
{
g_VoteMenu = INVALID_HANDLE;
- if(g_NativeVotes)
- NativeVotes_Close(menu);
- else
- delete menu;
+ delete menu;
}
case MenuAction_Display:
{
- // NativeVotes uses the standard TF2/CSGO vote screen
- if(!g_NativeVotes)
- {
- static char buffer[255];
- Format(buffer, sizeof(buffer), "%T", "Vote Nextmap", param1);
- Handle panel = view_as(param2);
- SetPanelTitle(panel, buffer);
- }
+ static char buffer[255];
+ Format(buffer, sizeof(buffer), "%T", "Vote Nextmap", param1);
+ Handle panel = view_as(param2);
+ SetPanelTitle(panel, buffer);
}
case MenuAction_DisplayItem:
@@ -1503,10 +1389,7 @@ public int Handler_MapVoteMenu(Handle menu, MenuAction action, int param1, int p
char buffer[255];
int mark = GetConVarInt(g_Cvar_MarkCustomMaps);
- if(g_NativeVotes)
- NativeVotes_GetItem(menu, param2, map, PLATFORM_MAX_PATH);
- else
- GetMenuItem(menu, param2, map, PLATFORM_MAX_PATH);
+ GetMenuItem(menu, param2, map, PLATFORM_MAX_PATH);
if(StrEqual(map, VOTE_EXTEND, false))
{
@@ -1544,13 +1427,7 @@ public int Handler_MapVoteMenu(Handle menu, MenuAction action, int param1, int p
if(buffer[0] != '\0')
{
- if(g_NativeVotes)
- {
- NativeVotes_RedrawVoteItem(buffer);
- return view_as(Plugin_Continue);
- }
- else
- return RedrawMenuItem(buffer);
+ return RedrawMenuItem(buffer);
}
// End Mapchooser Extended
}
@@ -1560,11 +1437,7 @@ public int Handler_MapVoteMenu(Handle menu, MenuAction action, int param1, int p
// If we receive 0 votes, pick at random.
if(param1 == VoteCancel_NoVotes && GetConVarBool(g_Cvar_NoVoteMode))
{
- int count;
- if(g_NativeVotes)
- count = NativeVotes_GetItemCount(menu);
- else
- count = GetMenuItemCount(menu);
+ int count = GetMenuItemCount(menu);
int item;
static char map[PLATFORM_MAX_PATH];
@@ -1572,7 +1445,7 @@ public int Handler_MapVoteMenu(Handle menu, MenuAction action, int param1, int p
do
{
int startInt = 0;
- if(!g_NativeVotes && g_BlockedSlots)
+ if(g_BlockedSlots)
{
if(g_AddNoVote)
{
@@ -1585,26 +1458,12 @@ public int Handler_MapVoteMenu(Handle menu, MenuAction action, int param1, int p
}
item = GetRandomInt(startInt, count - 1);
- if(g_NativeVotes)
- NativeVotes_GetItem(menu, item, map, PLATFORM_MAX_PATH);
- else
- GetMenuItem(menu, item, map, PLATFORM_MAX_PATH);
+ GetMenuItem(menu, item, map, PLATFORM_MAX_PATH);
}
while(strcmp(map, VOTE_EXTEND, false) == 0);
SetNextMap(map);
g_MapVoteCompleted = true;
-
- if(g_NativeVotes)
- NativeVotes_DisplayPass(menu, map);
- }
- else if(g_NativeVotes)
- {
- NativeVotesFailType reason = NativeVotesFail_Generic;
- if(param1 == VoteCancel_NoVotes)
- reason = NativeVotesFail_NotEnoughVotes;
-
- NativeVotes_DisplayFail(menu, reason);
}
g_HasVoteStarted = false;
@@ -2348,18 +2207,12 @@ public int Native_GetExtendsLeft(Handle plugin, int numParams)
stock void AddMapItem(const char[] map)
{
- if(g_NativeVotes)
- NativeVotes_AddItem(g_VoteMenu, map, map);
- else
- AddMenuItem(g_VoteMenu, map, map);
+ AddMenuItem(g_VoteMenu, map, map);
}
stock void GetMapItem(Handle menu, int position, char[] map, int mapLen)
{
- if(g_NativeVotes)
- NativeVotes_GetItem(menu, position, map, mapLen);
- else
- GetMenuItem(menu, position, map, mapLen);
+ GetMenuItem(menu, position, map, mapLen);
}
stock void AddExtendToMenu(Handle menu, MapChange when)
@@ -2370,17 +2223,11 @@ stock void AddExtendToMenu(Handle menu, MapChange when)
if((when == MapChange_Instant || when == MapChange_RoundEnd) && GetConVarBool(g_Cvar_DontChange))
{
// Built-in votes doesn't have "Don't Change", send Extend instead
- if(g_NativeVotes)
- NativeVotes_AddItem(menu, VOTE_DONTCHANGE, "Don't Change");
- else
- AddMenuItem(menu, VOTE_DONTCHANGE, "Don't Change");
+ AddMenuItem(menu, VOTE_DONTCHANGE, "Don't Change");
}
else if(GetConVarBool(g_Cvar_Extend) && g_Extends < GetConVarInt(g_Cvar_Extend))
{
- if(g_NativeVotes)
- NativeVotes_AddItem(menu, VOTE_EXTEND, "Extend Map");
- else
- AddMenuItem(menu, VOTE_EXTEND, "Extend Map");
+ AddMenuItem(menu, VOTE_EXTEND, "Extend Map");
}
}
@@ -2396,17 +2243,6 @@ stock int GetVoteSize(int what=0)
if(what == 1 || what == 2)
voteSize += includeMapsReserved;
- // New in 1.9.5 to let us bump up the included maps count
- if(g_NativeVotes)
- {
- int max = NativeVotes_GetMaxItems();
-
- if(voteSize > max)
- voteSize = max;
- if(includeMaps > max)
- includeMaps = max;
- }
-
if(what == 1)
return voteSize - includeMaps;