diff options
| author | heinrich5991 <heinrich5991@gmail.com> | 2011-01-21 20:46:00 +0100 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2011-01-23 17:53:53 +0100 |
| commit | 43b67aaa57619ae4457458ced00a200340fdb70f (patch) | |
| tree | cdac67372c5499bec4debcef51d3196c83840fc3 /src/game | |
| parent | fbe1f9cedfc0a64993651f22df452c17aad54c42 (diff) | |
| download | zcatch-43b67aaa57619ae4457458ced00a200340fdb70f.tar.gz zcatch-43b67aaa57619ae4457458ced00a200340fdb70f.zip | |
added server command to clear the votes. this fixes #47 partially
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/client/gameclient.cpp | 1 | ||||
| -rw-r--r-- | src/game/server/gamecontext.cpp | 13 | ||||
| -rw-r--r-- | src/game/server/gamecontext.h | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/src/game/client/gameclient.cpp b/src/game/client/gameclient.cpp index 9bb3bb90..f1ff3709 100644 --- a/src/game/client/gameclient.cpp +++ b/src/game/client/gameclient.cpp @@ -194,6 +194,7 @@ void CGameClient::OnConsoleInit() Console()->Register("set_team", "ii", CFGFLAG_SERVER, 0, 0, "Set team of player to team"); Console()->Register("set_team_all", "i", CFGFLAG_SERVER, 0, 0, "Set team of all players to team"); Console()->Register("addvote", "r", CFGFLAG_SERVER, 0, 0, "Add a voting option"); + Console()->Register("clear_votes", "", CFGFLAG_SERVER, 0, 0, "Clears the voting options"); Console()->Register("vote", "r", CFGFLAG_SERVER, 0, 0, "Force a vote to yes/no"); diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp index 063e3a00..d0e13f47 100644 --- a/src/game/server/gamecontext.cpp +++ b/src/game/server/gamecontext.cpp @@ -968,6 +968,18 @@ void CGameContext::ConAddVote(IConsole::IResult *pResult, void *pUserData) pSelf->Server()->SendPackMsg(&OptionMsg, MSGFLAG_VITAL, -1); } +void CGameContext::ConClearVotes(IConsole::IResult *pResult, void *pUserData) +{ + CGameContext *pSelf = (CGameContext *)pUserData; + + pSelf->Console()->Print(IConsole::OUTPUT_LEVEL_STANDARD, "server", "cleared votes"); + CNetMsg_Sv_VoteClearOptions VoteClearOptionsMsg; + pSelf->Server()->SendPackMsg(&VoteClearOptionsMsg, MSGFLAG_VITAL, -1); + pSelf->m_pVoteOptionHeap->Reset(); + pSelf->m_pVoteOptionFirst = 0; + pSelf->m_pVoteOptionLast = 0; +} + void CGameContext::ConVote(IConsole::IResult *pResult, void *pUserData) { CGameContext *pSelf = (CGameContext *)pUserData; @@ -1011,6 +1023,7 @@ void CGameContext::OnConsoleInit() Console()->Register("set_team_all", "i", CFGFLAG_SERVER, ConSetTeamAll, this, ""); Console()->Register("addvote", "r", CFGFLAG_SERVER, ConAddVote, this, ""); + Console()->Register("clear_votes", "", CFGFLAG_SERVER, ConClearVotes, this, ""); Console()->Register("vote", "r", CFGFLAG_SERVER, ConVote, this, ""); Console()->Chain("sv_motd", ConchainSpecialMotdupdate, this); diff --git a/src/game/server/gamecontext.h b/src/game/server/gamecontext.h index 55ad520f..99e7e56d 100644 --- a/src/game/server/gamecontext.h +++ b/src/game/server/gamecontext.h @@ -54,6 +54,7 @@ class CGameContext : public IGameServer static void ConSetTeam(IConsole::IResult *pResult, void *pUserData); static void ConSetTeamAll(IConsole::IResult *pResult, void *pUserData); static void ConAddVote(IConsole::IResult *pResult, void *pUserData); + static void ConClearVotes(IConsole::IResult *pResult, void *pUserData); static void ConVote(IConsole::IResult *pResult, void *pUserData); static void ConchainSpecialMotdupdate(IConsole::IResult *pResult, void *pUserData, IConsole::FCommandCallback pfnCallback, void *pCallbackUserData); |