aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/client/c_vote_controller.cpp
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/client/c_vote_controller.cpp
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/client/c_vote_controller.cpp')
-rw-r--r--mp/src/game/client/c_vote_controller.cpp376
1 files changed, 188 insertions, 188 deletions
diff --git a/mp/src/game/client/c_vote_controller.cpp b/mp/src/game/client/c_vote_controller.cpp
index 109e355c..c900c27e 100644
--- a/mp/src/game/client/c_vote_controller.cpp
+++ b/mp/src/game/client/c_vote_controller.cpp
@@ -1,189 +1,189 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose: CS's custom C_VoteController
-//
-// $NoKeywords: $
-//=============================================================================//
-#include "cbase.h"
-#include "c_vote_controller.h"
-#include "shareddefs.h"
-#include "hud.h"
-#include "cdll_client_int.h"
-#include "igameevents.h"
-#include "hud_vote.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-IMPLEMENT_CLIENTCLASS_DT( C_VoteController, DT_VoteController, CVoteController )
- RecvPropInt( RECVINFO( m_iActiveIssueIndex ), 0, C_VoteController::RecvProxy_VoteType ),
- RecvPropInt( RECVINFO( m_iOnlyTeamToVote ) ),
- RecvPropArray3( RECVINFO_ARRAY( m_nVoteOptionCount ), RecvPropInt( RECVINFO( m_nVoteOptionCount[0] ), 0, C_VoteController::RecvProxy_VoteOption ) ),
- RecvPropInt( RECVINFO( m_nPotentialVotes ) ),
- RecvPropBool( RECVINFO( m_bIsYesNoVote ) )
-END_RECV_TABLE()
-
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_VoteController::RecvProxy_VoteType( const CRecvProxyData *pData, void *pStruct, void *pOut )
-{
- C_VoteController *pMe = (C_VoteController *)pStruct;
- if( pMe->m_iActiveIssueIndex == pData->m_Value.m_Int )
- return;
-
- pMe->m_iActiveIssueIndex = pData->m_Value.m_Int;
- pMe->m_bTypeDirty = true;
-
- // Since the contents of a new vote are in three parts, we can't directly send an event to the Hud
- // because we don't really know if we have all three parts yet. So we'll mark dirty, and our think
- // can notice that and send the event.
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_VoteController::RecvProxy_VoteOption( const CRecvProxyData *pData, void *pStruct, void *pOut )
-{
- int index = pData->m_pRecvProp->GetOffset() / sizeof(int);
-
- size_t offset = offsetof( C_VoteController, m_nVoteOptionCount );
- C_VoteController *pMe = (C_VoteController *)((byte *)pStruct - offset );
- if( pMe->m_nVoteOptionCount[index] == pData->m_Value.m_Int )
- return;
-
- pMe->m_nVoteOptionCount[index] = pData->m_Value.m_Int;
- pMe->m_bVotesDirty = true;
- pMe->SetNextClientThink( gpGlobals->curtime + 0.001 );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-C_VoteController::C_VoteController()
-{
- ResetData();
-
- ListenForGameEvent( "vote_cast" );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-C_VoteController::~C_VoteController()
-{
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_VoteController::ResetData()
-{
- m_iActiveIssueIndex = INVALID_ISSUE;
- m_iOnlyTeamToVote = TEAM_INVALID;
- for( int index = 0; index < MAX_VOTE_OPTIONS; index++ )
- {
- m_nVoteOptionCount[index] = 0;
- }
- m_nPotentialVotes = 0;
- m_bVotesDirty = false;
- m_bTypeDirty = false;
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_VoteController::Spawn( void )
-{
- ResetData();
- BaseClass::Spawn();
- SetNextClientThink( gpGlobals->curtime );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_VoteController::ClientThink()
-{
- BaseClass::ClientThink();
-
- if( m_bTypeDirty )
- {
- m_bTypeDirty = false;
- m_bVotesDirty = true;
- }
-
- if( m_bVotesDirty )
- {
- if ( m_nPotentialVotes > 0 )
- {
- // Currently hard-coded to MAX_VOTE_COUNT options per issue
- DevMsg( "Votes: Option1 - %d, Option2 - %d, Option3 - %d, Option4 - %d, Option5 - %d\n",
- m_nVoteOptionCount[0], m_nVoteOptionCount[1], m_nVoteOptionCount[2], m_nVoteOptionCount[3], m_nVoteOptionCount[4] );
-
- IGameEvent *event = gameeventmanager->CreateEvent( "vote_changed" );
- if ( event )
- {
- for ( int index = 0; index < MAX_VOTE_OPTIONS; index++ )
- {
- char szOption[2];
- Q_snprintf( szOption, sizeof( szOption ), "%i", index + 1 );
-
- char szVoteOption[13] = "vote_option";
- Q_strncat( szVoteOption, szOption, sizeof( szVoteOption ), COPY_ALL_CHARACTERS );
-
- event->SetInt( szVoteOption, m_nVoteOptionCount[index] );
- }
- event->SetInt( "potentialVotes", m_nPotentialVotes );
- gameeventmanager->FireEventClientSide( event );
- }
- }
-
- m_bVotesDirty = false;
- }
-
- SetNextClientThink( gpGlobals->curtime + 0.5f );
-}
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void C_VoteController::FireGameEvent( IGameEvent *event )
-{
- CHudVote *pHudVote = GET_HUDELEMENT( CHudVote );
- if ( pHudVote && pHudVote->IsVisible() )
- {
- const char *eventName = event->GetName();
- if ( !eventName )
- return;
-
- C_BasePlayer *pLocalPlayer = C_BasePlayer::GetLocalPlayer();
- if ( !pLocalPlayer )
- return;
-
- int team = event->GetInt( "team", TEAM_UNASSIGNED );
- if ( team > TEAM_UNASSIGNED && team != pLocalPlayer->GetTeamNumber() )
- return;
-
- if ( FStrEq( eventName, "vote_cast" ) )
- {
- if ( m_bIsYesNoVote )
- {
- int vote_option = event->GetInt( "vote_option", TEAM_UNASSIGNED );
- if( vote_option == VOTE_OPTION2 )
- {
- pLocalPlayer->EmitSound( "Vote.Cast.No" );
- }
- else if( vote_option == VOTE_OPTION1 )
- {
- pLocalPlayer->EmitSound( "Vote.Cast.Yes" );
- }
- }
- else
- {
- pLocalPlayer->EmitSound( "Vote.Cast.Yes" );
- }
- }
- }
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: CS's custom C_VoteController
+//
+// $NoKeywords: $
+//=============================================================================//
+#include "cbase.h"
+#include "c_vote_controller.h"
+#include "shareddefs.h"
+#include "hud.h"
+#include "cdll_client_int.h"
+#include "igameevents.h"
+#include "hud_vote.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+IMPLEMENT_CLIENTCLASS_DT( C_VoteController, DT_VoteController, CVoteController )
+ RecvPropInt( RECVINFO( m_iActiveIssueIndex ), 0, C_VoteController::RecvProxy_VoteType ),
+ RecvPropInt( RECVINFO( m_iOnlyTeamToVote ) ),
+ RecvPropArray3( RECVINFO_ARRAY( m_nVoteOptionCount ), RecvPropInt( RECVINFO( m_nVoteOptionCount[0] ), 0, C_VoteController::RecvProxy_VoteOption ) ),
+ RecvPropInt( RECVINFO( m_nPotentialVotes ) ),
+ RecvPropBool( RECVINFO( m_bIsYesNoVote ) )
+END_RECV_TABLE()
+
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_VoteController::RecvProxy_VoteType( const CRecvProxyData *pData, void *pStruct, void *pOut )
+{
+ C_VoteController *pMe = (C_VoteController *)pStruct;
+ if( pMe->m_iActiveIssueIndex == pData->m_Value.m_Int )
+ return;
+
+ pMe->m_iActiveIssueIndex = pData->m_Value.m_Int;
+ pMe->m_bTypeDirty = true;
+
+ // Since the contents of a new vote are in three parts, we can't directly send an event to the Hud
+ // because we don't really know if we have all three parts yet. So we'll mark dirty, and our think
+ // can notice that and send the event.
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_VoteController::RecvProxy_VoteOption( const CRecvProxyData *pData, void *pStruct, void *pOut )
+{
+ int index = pData->m_pRecvProp->GetOffset() / sizeof(int);
+
+ size_t offset = offsetof( C_VoteController, m_nVoteOptionCount );
+ C_VoteController *pMe = (C_VoteController *)((byte *)pStruct - offset );
+ if( pMe->m_nVoteOptionCount[index] == pData->m_Value.m_Int )
+ return;
+
+ pMe->m_nVoteOptionCount[index] = pData->m_Value.m_Int;
+ pMe->m_bVotesDirty = true;
+ pMe->SetNextClientThink( gpGlobals->curtime + 0.001 );
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+C_VoteController::C_VoteController()
+{
+ ResetData();
+
+ ListenForGameEvent( "vote_cast" );
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+C_VoteController::~C_VoteController()
+{
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_VoteController::ResetData()
+{
+ m_iActiveIssueIndex = INVALID_ISSUE;
+ m_iOnlyTeamToVote = TEAM_INVALID;
+ for( int index = 0; index < MAX_VOTE_OPTIONS; index++ )
+ {
+ m_nVoteOptionCount[index] = 0;
+ }
+ m_nPotentialVotes = 0;
+ m_bVotesDirty = false;
+ m_bTypeDirty = false;
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_VoteController::Spawn( void )
+{
+ ResetData();
+ BaseClass::Spawn();
+ SetNextClientThink( gpGlobals->curtime );
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_VoteController::ClientThink()
+{
+ BaseClass::ClientThink();
+
+ if( m_bTypeDirty )
+ {
+ m_bTypeDirty = false;
+ m_bVotesDirty = true;
+ }
+
+ if( m_bVotesDirty )
+ {
+ if ( m_nPotentialVotes > 0 )
+ {
+ // Currently hard-coded to MAX_VOTE_COUNT options per issue
+ DevMsg( "Votes: Option1 - %d, Option2 - %d, Option3 - %d, Option4 - %d, Option5 - %d\n",
+ m_nVoteOptionCount[0], m_nVoteOptionCount[1], m_nVoteOptionCount[2], m_nVoteOptionCount[3], m_nVoteOptionCount[4] );
+
+ IGameEvent *event = gameeventmanager->CreateEvent( "vote_changed" );
+ if ( event )
+ {
+ for ( int index = 0; index < MAX_VOTE_OPTIONS; index++ )
+ {
+ char szOption[2];
+ Q_snprintf( szOption, sizeof( szOption ), "%i", index + 1 );
+
+ char szVoteOption[13] = "vote_option";
+ Q_strncat( szVoteOption, szOption, sizeof( szVoteOption ), COPY_ALL_CHARACTERS );
+
+ event->SetInt( szVoteOption, m_nVoteOptionCount[index] );
+ }
+ event->SetInt( "potentialVotes", m_nPotentialVotes );
+ gameeventmanager->FireEventClientSide( event );
+ }
+ }
+
+ m_bVotesDirty = false;
+ }
+
+ SetNextClientThink( gpGlobals->curtime + 0.5f );
+}
+
+//-----------------------------------------------------------------------------
+// Purpose:
+//-----------------------------------------------------------------------------
+void C_VoteController::FireGameEvent( IGameEvent *event )
+{
+ CHudVote *pHudVote = GET_HUDELEMENT( CHudVote );
+ if ( pHudVote && pHudVote->IsVisible() )
+ {
+ const char *eventName = event->GetName();
+ if ( !eventName )
+ return;
+
+ C_BasePlayer *pLocalPlayer = C_BasePlayer::GetLocalPlayer();
+ if ( !pLocalPlayer )
+ return;
+
+ int team = event->GetInt( "team", TEAM_UNASSIGNED );
+ if ( team > TEAM_UNASSIGNED && team != pLocalPlayer->GetTeamNumber() )
+ return;
+
+ if ( FStrEq( eventName, "vote_cast" ) )
+ {
+ if ( m_bIsYesNoVote )
+ {
+ int vote_option = event->GetInt( "vote_option", TEAM_UNASSIGNED );
+ if( vote_option == VOTE_OPTION2 )
+ {
+ pLocalPlayer->EmitSound( "Vote.Cast.No" );
+ }
+ else if( vote_option == VOTE_OPTION1 )
+ {
+ pLocalPlayer->EmitSound( "Vote.Cast.Yes" );
+ }
+ }
+ else
+ {
+ pLocalPlayer->EmitSound( "Vote.Cast.Yes" );
+ }
+ }
+ }
} \ No newline at end of file