dlls/player_resource.cpp
91011121314
#include "player_resource.h"
#include
// memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h"
910111213141516
#include "player_resource.h"
#include
#include "ff_player.h" // |-- Mirv: Needed for channels
// memdbgon must be the last include file in a .cpp file!!!
#include "tier0/memdbgon.h"
171819202122232425262728
// SendPropArray( SendPropString( SENDINFO(m_szName[0]) ), SENDARRAYINFO(m_szName) ),
SendPropArray3( SENDINFO_ARRAY3(m_iPing), SendPropInt( SENDINFO_ARRAY(m_iPing), 10, SPROP_UNSIGNED ) ),
// SendPropArray( SendPropInt( SENDINFO_ARRAY(m_iPacketloss), 7, SPROP_UNSIGNED ), m_iPacketloss ),
SendPropArray3( SENDINFO_ARRAY3(m_iScore), SendPropInt( SENDINFO_ARRAY(m_iScore), 12 ) ),
SendPropArray3( SENDINFO_ARRAY3(m_iDeaths), SendPropInt( SENDINFO_ARRAY(m_iDeaths), 12 ) ),
SendPropArray3( SENDINFO_ARRAY3(m_bConnected), SendPropInt( SENDINFO_ARRAY(m_bConnected), 1, SPROP_UNSIGNED ) ),
SendPropArray3( SENDINFO_ARRAY3(m_iTeam), SendPropInt( SENDINFO_ARRAY(m_iTeam), 4 ) ),
SendPropArray3( SENDINFO_ARRAY3(m_bAlive), SendPropInt( SENDINFO_ARRAY(m_bAlive), 1, SPROP_UNSIGNED ) ),
SendPropArray3( SENDINFO_ARRAY3(m_iHealth), SendPropInt( SENDINFO_ARRAY(m_iHealth), 8, SPROP_UNSIGNED ) ),
END_SEND_TABLE()
BEGIN_DATADESC( CPlayerResource )
1920212223242526272829303132333435363738
// SendPropArray( SendPropString( SENDINFO(m_szName[0]) ), SENDARRAYINFO(m_szName) ),
SendPropArray3( SENDINFO_ARRAY3(m_iPing), SendPropInt( SENDINFO_ARRAY(m_iPing), 10, SPROP_UNSIGNED ) ),
// SendPropArray( SendPropInt( SENDINFO_ARRAY(m_iPacketloss), 7, SPROP_UNSIGNED ), m_iPacketloss ),
SendPropArray3( SENDINFO_ARRAY3(m_iScore), SendPropInt( SENDINFO_ARRAY(m_iScore), 15 ) ), // |- Mirv: Upped transmission bits from 12->15
SendPropArray3( SENDINFO_ARRAY3(m_iFortPoints), SendPropInt( SENDINFO_ARRAY(m_iFortPoints), 20 ) ), // |- Shock: Upped transmission bits from 15->20 (needs to be big!)
SendPropArray3( SENDINFO_ARRAY3(m_iDeaths), SendPropInt( SENDINFO_ARRAY(m_iDeaths), 12 ) ),
SendPropArray3( SENDINFO_ARRAY3(m_bConnected), SendPropInt( SENDINFO_ARRAY(m_bConnected), 1, SPROP_UNSIGNED ) ),
SendPropArray3( SENDINFO_ARRAY3(m_iTeam), SendPropInt( SENDINFO_ARRAY(m_iTeam), 4 ) ),
SendPropArray3( SENDINFO_ARRAY3(m_bAlive), SendPropInt( SENDINFO_ARRAY(m_bAlive), 1, SPROP_UNSIGNED ) ),
SendPropArray3( SENDINFO_ARRAY3(m_iHealth), SendPropInt( SENDINFO_ARRAY(m_iHealth), 8, SPROP_UNSIGNED ) ),
SendPropArray3( SENDINFO_ARRAY3(m_iArmor), SendPropInt( SENDINFO_ARRAY(m_iArmor), 9, SPROP_UNSIGNED ) ),
SendPropArray3( SENDINFO_ARRAY3(m_iClass), SendPropInt( SENDINFO_ARRAY(m_iClass), 5 ) ), // |-- Mirv: Current class
SendPropArray3( SENDINFO_ARRAY3(m_iChannel), SendPropInt( SENDINFO_ARRAY(m_iChannel), 4 ) ), // |-- Mirv: Channel info
SendPropBool(SENDINFO(m_bIsIntermission)),
END_SEND_TABLE()
BEGIN_DATADESC( CPlayerResource )
565758596061626364656667
{
m_iPing.Set( i, 0 );
m_iScore.Set( i, 0 );
m_iDeaths.Set( i, 0 );
m_bConnected.Set( i, 0 );
m_iTeam.Set( i, 0 );
m_bAlive.Set( i, 0 );
}
SetThink( &CPlayerResource::ResourceThink );
SetNextThink( gpGlobals->curtime );
m_nUpdateCounter = 0;
666768697071727374757677787980818283
{
m_iPing.Set( i, 0 );
m_iScore.Set( i, 0 );
m_iFortPoints.Set( i, 0 );
m_iDeaths.Set( i, 0 );
m_bConnected.Set( i, 0 );
m_iTeam.Set( i, 0 );
m_bAlive.Set( i, 0 );
m_iClass.Set( i, 0 ); // |-- Mirv: Current class
m_iChannel.Set( i, 0 ); // |-- Mirv: Channel info
}
m_bIsIntermission = false;
SetThink( &CPlayerResource::ResourceThink );
SetNextThink( gpGlobals->curtime );
m_nUpdateCounter = 0;
767778798081
return SetTransmitState( FL_EDICT_ALWAYS );
}
//-----------------------------------------------------------------------------
// Purpose: Wrapper for the virtual GrabPlayerData Think function
//-----------------------------------------------------------------------------
9293949596979899
return SetTransmitState( FL_EDICT_ALWAYS );
}
extern bool Server_IsIntermission();
//-----------------------------------------------------------------------------
// Purpose: Wrapper for the virtual GrabPlayerData Think function
//-----------------------------------------------------------------------------
858687888990
UpdatePlayerData();
SetNextThink( gpGlobals->curtime + 0.1f );
}
103104105106107108109110
UpdatePlayerData();
m_bIsIntermission = Server_IsIntermission();
SetNextThink( gpGlobals->curtime + 0.1f );
}
9596979899100101102103104105106107108109110
{
for ( int i = 1; i <= gpGlobals->maxClients; i++ )
{
CBasePlayer *pPlayer = (CBasePlayer*)UTIL_PlayerByIndex( i );
if ( pPlayer && pPlayer->IsConnected() )
{
m_iScore.Set( i, pPlayer->FragCount() );
m_iDeaths.Set( i, pPlayer->DeathCount() );
m_bConnected.Set( i, 1 );
m_iTeam.Set( i, pPlayer->GetTeamNumber() );
m_bAlive.Set( i, pPlayer->IsAlive()?1:0 );
m_iHealth.Set(i, max( 0, pPlayer->GetHealth() ) );
// Don't update ping / packetloss everytime
115116117118119120121122123124125126127128129130131132133
{
for ( int i = 1; i <= gpGlobals->maxClients; i++ )
{
CFFPlayer *pPlayer = (CFFPlayer* )UTIL_PlayerByIndex( i ); // |-- Mirv: Use our class instead
if ( pPlayer && pPlayer->IsConnected() )
{
m_iScore.Set( i, pPlayer->FragCount() );
m_iFortPoints.Set( i, pPlayer->FortPointsCount() );
m_iDeaths.Set( i, pPlayer->DeathCount() );
m_bConnected.Set( i, 1 );
m_iTeam.Set( i, pPlayer->GetTeamNumber() );
m_bAlive.Set( i, pPlayer->IsAlive()?1:0 );
m_iHealth.Set(i, max( 0, pPlayer->GetHealth() ) );
m_iArmor.Set(i, max( 0, pPlayer->GetArmor() ) );
m_iClass.Set(i, pPlayer->GetClassSlot() ); // |-- Mirv: Update our class
// Don't update ping / packetloss everytime
120121122123124125
m_iPing.Set( i, ping );
// m_iPacketloss.Set( i, packetloss );
}
}
else
143144145146147148149150151152153
m_iPing.Set( i, ping );
// m_iPacketloss.Set( i, packetloss );
// --> Mirv: Update the player's channel
CFFPlayer *plyr = (CFFPlayer *)pPlayer;
m_iChannel.Set( i, plyr->m_iChannel );
// <-- Mirv: Update the player's channel
}
}
else