cl_dll/c_playerresource.cpp
6789101112
//=============================================================================//
#include "cbase.h"
#include "c_playerresource.h"
#include "c_team.h"
#ifdef HL2MP
#include "hl2mp_gamerules.h"
6789101112
//=============================================================================//
#include "cbase.h"
#include "c_playerresource.h"
#include "c_ff_team.h"
#ifdef HL2MP
#include "hl2mp_gamerules.h"
1819202122232425262728
IMPLEMENT_CLIENTCLASS_DT_NOBASE(C_PlayerResource, DT_PlayerResource, CPlayerResource)
RecvPropArray3( RECVINFO_ARRAY(m_iPing), RecvPropInt( RECVINFO(m_iPing[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_iScore), RecvPropInt( RECVINFO(m_iScore[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_iDeaths), RecvPropInt( RECVINFO(m_iDeaths[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_bConnected), RecvPropInt( RECVINFO(m_bConnected[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_iTeam), RecvPropInt( RECVINFO(m_iTeam[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_bAlive), RecvPropInt( RECVINFO(m_bAlive[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_iHealth), RecvPropInt( RECVINFO(m_iHealth[0]))),
END_RECV_TABLE()
C_PlayerResource *g_PR;
181920212223242526272829303132333435
IMPLEMENT_CLIENTCLASS_DT_NOBASE(C_PlayerResource, DT_PlayerResource, CPlayerResource)
RecvPropArray3( RECVINFO_ARRAY(m_iPing), RecvPropInt( RECVINFO(m_iPing[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_iScore), RecvPropInt( RECVINFO(m_iScore[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_iFortPoints), RecvPropInt( RECVINFO(m_iFortPoints[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_iDeaths), RecvPropInt( RECVINFO(m_iDeaths[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_bConnected), RecvPropInt( RECVINFO(m_bConnected[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_iTeam), RecvPropInt( RECVINFO(m_iTeam[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_bAlive), RecvPropInt( RECVINFO(m_bAlive[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_iHealth), RecvPropInt( RECVINFO(m_iHealth[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_iArmor), RecvPropInt( RECVINFO(m_iArmor[0]))),
RecvPropArray3( RECVINFO_ARRAY(m_iClass), RecvPropInt( RECVINFO(m_iClass[0]))), // |-- Mirv: Current class
RecvPropArray3( RECVINFO_ARRAY(m_iChannel), RecvPropInt( RECVINFO(m_iChannel[0]))), // |-- Mirv: Channel information
RecvPropBool(RECVINFO(m_bIsIntermission)),
END_RECV_TABLE()
C_PlayerResource *g_PR;
3839404142434445464748495051525354555657585960
memset( m_iPing, 0, sizeof( m_iPing ) );
// memset( m_iPacketloss, 0, sizeof( m_iPacketloss ) );
memset( m_iScore, 0, sizeof( m_iScore ) );
memset( m_iDeaths, 0, sizeof( m_iDeaths ) );
memset( m_bConnected, 0, sizeof( m_bConnected ) );
memset( m_iTeam, 0, sizeof( m_iTeam ) );
memset( m_bAlive, 0, sizeof( m_bAlive ) );
memset( m_iHealth, 0, sizeof( m_iHealth ) );
for ( int i=0; i
{
m_Colors[i] = COLOR_GREY;
}
#ifdef HL2MP
m_Colors[TEAM_COMBINE] = COLOR_BLUE;
m_Colors[TEAM_REBELS] = COLOR_RED;
m_Colors[TEAM_UNASSIGNED] = COLOR_YELLOW;
#endif
g_PR = this;
}
454647484950515253545556575859606162636465666768697071727374757677787980818283
memset( m_iPing, 0, sizeof( m_iPing ) );
// memset( m_iPacketloss, 0, sizeof( m_iPacketloss ) );
memset( m_iScore, 0, sizeof( m_iScore ) );
memset( m_iFortPoints, 0, sizeof( m_iFortPoints ) );
memset( m_iDeaths, 0, sizeof( m_iDeaths ) );
memset( m_bConnected, 0, sizeof( m_bConnected ) );
memset( m_iTeam, 0, sizeof( m_iTeam ) );
memset( m_bAlive, 0, sizeof( m_bAlive ) );
memset( m_iHealth, 0, sizeof( m_iHealth ) );
memset( m_iArmor, 0, sizeof( m_iArmor ) );
memset( m_iClass, 0, sizeof( m_iClass ) ); // |-- Mirv: Current class
memset( m_iChannel, 0, sizeof( m_iChannel ) ); // |-- Mirv: Channel information
for ( int i=0; i
{
m_Colors[i] = COLOR_GREY;
}
// BEG: Added by Mulchman
/*
#ifdef HL2MP
m_Colors[TEAM_COMBINE] = COLOR_BLUE;
m_Colors[TEAM_REBELS] = COLOR_RED;
m_Colors[TEAM_UNASSIGNED] = COLOR_YELLOW;
#endif
*/
m_Colors[ TEAM_SPECTATOR ] = Color( 0, 200, 200, 255 );
m_Colors[ TEAM_BLUE ] = Color( 56,100, 171, 255 );
m_Colors[ TEAM_RED ] = Color( 188, 0, 0, 255 );
m_Colors[ TEAM_YELLOW ] = Color( 202, 173, 33, 255 );
m_Colors[ TEAM_GREEN ] = Color( 68, 144, 65, 255 );
// END: Added by Mulchman
g_PR = this;
}
132133134135136137138139140
return team->Get_Score();
}
int C_PlayerResource::GetFrags(int index )
{
return 666;
}
bool C_PlayerResource::IsLocalPlayer(int index)
155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
return team->Get_Score();
}
int C_PlayerResource::GetTeamFortPoints(int index)
{
C_Team *team = GetGlobalTeam( index );
if ( !team )
return 0;
return team->Get_FortPoints();
}
float C_PlayerResource::GetTeamScoreTime( int index )
{
C_Team *pTeam = GetGlobalTeam( index );
if( !pTeam )
return 0.0f;
return pTeam->Get_ScoreTime();
}
int C_PlayerResource::GetTeamDeaths( int index )
{
C_Team *team = GetGlobalTeam( index );
if( !team )
return 0;
return team->Get_Deaths();
}
// --> Mirv: So menus can show correct limits
int C_PlayerResource::GetTeamClassLimits( int index, int classindex )
{
C_FFTeam *team = (C_FFTeam *) GetGlobalTeam( index );
if ( !team )
return 0;
return team->Get_Classes( classindex );
}
int C_PlayerResource::GetTeamLimits( int index )
{
C_FFTeam *team = (C_FFTeam *) GetGlobalTeam( index );
if( !team )
return -1;
return team->Get_Teams();
}
// <-- Mirv: So menus can show correct limits
int C_PlayerResource::GetFrags(int index )
{
// BEG: Added by Mulchman
if( !IsConnected( index ) )
return 0;
return m_iScore[ index ];
// END: Added by Mulchman
}
bool C_PlayerResource::IsLocalPlayer(int index)
217218219220221222
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
int C_PlayerResource::GetDeaths( int iIndex )
{
if ( !IsConnected( iIndex ) )
297298299300301302303304305306307308309310311312313
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
int C_PlayerResource::GetFortPoints( int iIndex )
{
if ( !IsConnected( iIndex ) )
return 0;
return m_iFortPoints[iIndex];
}
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
int C_PlayerResource::GetDeaths( int iIndex )
{
if ( !IsConnected( iIndex ) )
236237238239240241
return m_iHealth[iIndex];
}
const Color &C_PlayerResource::GetTeamColor(int index )
{
if ( index < 0 || index >= MAX_TEAMS )
327328329330331332333334335336337338339340341342343344345346347348349350351352353
return m_iHealth[iIndex];
}
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
int C_PlayerResource::GetArmor( int iIndex )
{
if ( !IsConnected( iIndex ) )
return 0;
return m_iArmor[iIndex];
}
// --> Mirv: Get the player's class
int C_PlayerResource::GetClass( int iIndex )
{
if ( !IsConnected( iIndex ) )
return 0;
return m_iClass[iIndex];
}
// <-- Mirv: Get the player's class
const Color &C_PlayerResource::GetTeamColor(int index )
{
if ( index < 0 || index >= MAX_TEAMS )
260261262
else
return m_bConnected[iIndex];
}
372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
else
return m_bConnected[iIndex];
}
// --> Mirv: Channel info
//-----------------------------------------------------------------------------
// Purpose: Return the voice channel that this player is using
//-----------------------------------------------------------------------------
int C_PlayerResource::GetChannel( int iIndex )
{
if ( iIndex < 0 || iIndex > MAX_PLAYERS )
{
Assert( 0 );
return 0;
}
else
return m_iChannel[iIndex];
}
// <-- Mirv: Channel info
#ifdef CLIENT_DLL
bool Client_IsIntermission()
{
C_PlayerResource *pr = dynamic_cast (GameResources());
if (!pr)
return false;
return pr->m_bIsIntermission;
}
#endif