added request amb404
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40966
This commit is contained in:
		
							parent
							
								
									fe0d41198b
								
							
						
					
					
						commit
						8437e8ee04
					
				| @ -126,6 +126,7 @@ void VoteMenuHandler::EndVoting() | ||||
| 	 */ | ||||
| 	unsigned int dup_array[256]; | ||||
| 
 | ||||
| 	unsigned int total = m_Votes[0]; | ||||
| 	for (size_t i=1; i<m_Items; i++) | ||||
| 	{ | ||||
| 		if (m_Votes[i] > m_Votes[highest]) | ||||
| @ -141,6 +142,7 @@ void VoteMenuHandler::EndVoting() | ||||
| 			 */ | ||||
| 			dup_array[dup_count++] = i; | ||||
| 		} | ||||
| 		total += m_Votes[i]; | ||||
| 	} | ||||
| 
 | ||||
| 	/* Check if we need to pick from the duplicate list */ | ||||
| @ -160,7 +162,7 @@ void VoteMenuHandler::EndVoting() | ||||
| 	} | ||||
| 
 | ||||
| picked_item: | ||||
| 	m_pHandler->OnMenuVoteEnd(m_pCurMenu, chosen); | ||||
| 	m_pHandler->OnMenuVoteEnd(m_pCurMenu, chosen, m_Votes[highest], total); | ||||
| 	m_pHandler->OnMenuEnd(m_pCurMenu); | ||||
| 	InternalReset(); | ||||
| } | ||||
|  | ||||
| @ -69,7 +69,10 @@ public: | ||||
| 	void OnMenuEnd(IBaseMenu *menu); | ||||
| 	void OnMenuDestroy(IBaseMenu *menu); | ||||
| 	void OnMenuVoteStart(IBaseMenu *menu); | ||||
| 	void OnMenuVoteEnd(IBaseMenu *menu, unsigned int item); | ||||
| 	void OnMenuVoteEnd(IBaseMenu *menu, | ||||
| 		unsigned int item,  | ||||
| 		unsigned int winningVotes, | ||||
| 		unsigned int totalVotes); | ||||
| 	void OnMenuVoteCancel(IBaseMenu *menu); | ||||
| #if 0 | ||||
| 	void OnMenuDrawItem(IBaseMenu *menu, int client, unsigned int item, unsigned int &style); | ||||
| @ -288,9 +291,12 @@ void CMenuHandler::OnMenuVoteStart(IBaseMenu *menu) | ||||
| 	DoAction(menu, MenuAction_VoteStart, 0, 0); | ||||
| } | ||||
| 
 | ||||
| void CMenuHandler::OnMenuVoteEnd(IBaseMenu *menu, unsigned int item) | ||||
| void CMenuHandler::OnMenuVoteEnd(IBaseMenu *menu, | ||||
| 								 unsigned int item, | ||||
| 								 unsigned int winningVotes, | ||||
| 								 unsigned int totalVotes) | ||||
| { | ||||
| 	DoAction(menu, MenuAction_VoteEnd, item, 0); | ||||
| 	DoAction(menu, MenuAction_VoteEnd, item, (totalVotes << 16) | (totalVotes & 0xFFFF)); | ||||
| } | ||||
| 
 | ||||
| void CMenuHandler::OnMenuVoteCancel(IBaseMenu *menu) | ||||
|  | ||||
| @ -501,3 +501,17 @@ native GetPanelCurrentKey(Handle:panel); | ||||
|  * @error				Invalid Handle. | ||||
|  */ | ||||
| native bool:SetPanelCurrentKey(Handle:panel, key); | ||||
| 
 | ||||
| /** | ||||
|  * 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 GetMenuVoteInfo(param2, &winningVotes, &totalVotes) | ||||
| { | ||||
| 	winningVotes = param2 & 0xFFFF; | ||||
| 	totalVotes = param2 >> 16; | ||||
| } | ||||
|  | ||||
| @ -23,7 +23,7 @@ | ||||
| #include <IHandleSys.h> | ||||
| 
 | ||||
| #define SMINTERFACE_MENUMANAGER_NAME		"IMenuManager" | ||||
| #define SMINTERFACE_MENUMANAGER_VERSION		3 | ||||
| #define SMINTERFACE_MENUMANAGER_VERSION		4 | ||||
| 
 | ||||
| /**
 | ||||
|  * @file IMenuManager.h | ||||
| @ -647,8 +647,13 @@ namespace SourceMod | ||||
| 		 * | ||||
| 		 * @param menu			Menu pointer. | ||||
| 		 * @param item			Item position that was chosen by a majority. | ||||
| 		 * @param winningVotes	Number of votes from the winning item. | ||||
| 		 * @param totalVotes	Number of votes total. | ||||
| 		 */ | ||||
| 		virtual void OnMenuVoteEnd(IBaseMenu *menu, unsigned int item) | ||||
| 		virtual void OnMenuVoteEnd(IBaseMenu *menu, | ||||
| 			unsigned int item,  | ||||
| 			unsigned int winningVotes, | ||||
| 			unsigned int totalVotes) | ||||
| 		{ | ||||
| 		} | ||||
| 
 | ||||
| @ -715,6 +720,14 @@ namespace SourceMod | ||||
| 		{ | ||||
| 			return SMINTERFACE_MENUMANAGER_VERSION; | ||||
| 		} | ||||
| 		virtual bool IsVersionCompatible(unsigned int version) | ||||
| 		{ | ||||
| 			if (version < 4 || version > GetInterfaceVersion()) | ||||
| 			{ | ||||
| 				return false; | ||||
| 			} | ||||
| 			return true; | ||||
| 		} | ||||
| 	public: | ||||
| 		/**
 | ||||
| 		 * @brief Finds a style by name. | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user