//----------------------------------------------------------------------------- // Purpose: // Input : *pVarName - // sizeofVar - // flags - // pId - // Output : SendProp //----------------------------------------------------------------------------- SendProp SendPropTime( const char *pVarName, int offset, int sizeofVar ) { // return SendPropInt( pVarName, offset, sizeofVar, TIME_BITS, 0, SendProxy_Time ); // FIXME: Re-enable above when it doesn't cause lots of deltas return SendPropFloat( pVarName, offset, sizeofVar, -1, SPROP_NOSCALE ); }
// Use these functions to setup your data tables. DataTableProp PropFloat( const char *pVarName, // Variable name. int offset, // Offset into container structure. int sizeofVar, int nBits, // Number of bits to use when encoding. int flags, float fLowValue, // For floating point, low and high values. float fHighValue // High value. If HIGH_DEFAULT, it's (1<<nBits). ) { #if !defined (CLIENT_DLL) return SendPropFloat( pVarName, offset, sizeofVar, nBits, flags, fLowValue, fHighValue ); #else return RecvPropFloat( pVarName, offset, sizeofVar, flags ); #endif }
// data variables SendPropArray( SendPropVector( SENDINFO_ARRAY(m_vCPPositions), -1, SPROP_COORD), m_vCPPositions ), SendPropArray3( SENDINFO_ARRAY3(m_bCPIsVisible), SendPropInt( SENDINFO_ARRAY(m_bCPIsVisible), 1, SPROP_UNSIGNED ) ), SendPropArray3( SENDINFO_ARRAY3(m_flLazyCapPerc), SendPropFloat( SENDINFO_ARRAY(m_flLazyCapPerc) ) ), SendPropArray3( SENDINFO_ARRAY3(m_iTeamIcons), SendPropInt( SENDINFO_ARRAY(m_iTeamIcons), 8, SPROP_UNSIGNED ) ), SendPropArray3( SENDINFO_ARRAY3(m_iTeamOverlays), SendPropInt( SENDINFO_ARRAY(m_iTeamOverlays), 8, SPROP_UNSIGNED ) ), SendPropArray3( SENDINFO_ARRAY3(m_iTeamReqCappers), SendPropInt( SENDINFO_ARRAY(m_iTeamReqCappers), 4, SPROP_UNSIGNED ) ), SendPropArray3( SENDINFO_ARRAY3(m_flTeamCapTime), SendPropTime( SENDINFO_ARRAY(m_flTeamCapTime) ) ), SendPropArray3( SENDINFO_ARRAY3(m_iPreviousPoints), SendPropInt( SENDINFO_ARRAY(m_iPreviousPoints), 8 ) ), SendPropArray3( SENDINFO_ARRAY3(m_bTeamCanCap), SendPropBool( SENDINFO_ARRAY(m_bTeamCanCap) ) ), SendPropArray3( SENDINFO_ARRAY3(m_iTeamBaseIcons), SendPropInt( SENDINFO_ARRAY(m_iTeamBaseIcons), 8 ) ), SendPropArray3( SENDINFO_ARRAY3(m_iBaseControlPoints), SendPropInt( SENDINFO_ARRAY(m_iBaseControlPoints), 8 ) ), SendPropArray3( SENDINFO_ARRAY3(m_bInMiniRound), SendPropBool( SENDINFO_ARRAY(m_bInMiniRound) ) ), SendPropArray3( SENDINFO_ARRAY3(m_iWarnOnCap), SendPropInt( SENDINFO_ARRAY(m_iWarnOnCap), 4, SPROP_UNSIGNED ) ), SendPropArray( SendPropStringT( SENDINFO_ARRAY( m_iszWarnSound ) ), m_iszWarnSound ), SendPropArray3( SENDINFO_ARRAY3(m_flPathDistance), SendPropFloat( SENDINFO_ARRAY(m_flPathDistance), 8, 0, 0.0f, 1.0f ) ), SendPropArray3( SENDINFO_ARRAY3(m_iCPGroup), SendPropInt( SENDINFO_ARRAY(m_iCPGroup), 5 ) ), SendPropArray3( SENDINFO_ARRAY3(m_bCPLocked), SendPropBool( SENDINFO_ARRAY(m_bCPLocked) ) ), SendPropArray3( SENDINFO_ARRAY3(m_nNumNodeHillData), SendPropInt( SENDINFO_ARRAY(m_nNumNodeHillData), 4, SPROP_UNSIGNED ) ), SendPropArray3( SENDINFO_ARRAY3(m_flNodeHillData), SendPropFloat( SENDINFO_ARRAY(m_flNodeHillData), 8, 0, 0.0f, 1.0f ) ), SendPropArray3( SENDINFO_ARRAY3(m_bTrackAlarm), SendPropBool( SENDINFO_ARRAY(m_bTrackAlarm) ) ), SendPropArray3( SENDINFO_ARRAY3(m_flUnlockTimes), SendPropFloat( SENDINFO_ARRAY(m_flUnlockTimes) ) ), SendPropArray3( SENDINFO_ARRAY3(m_bHillIsDownhill), SendPropBool( SENDINFO_ARRAY(m_bHillIsDownhill) ) ), SendPropArray3( SENDINFO_ARRAY3(m_flCPTimerTimes), SendPropFloat( SENDINFO_ARRAY(m_flCPTimerTimes) ) ), // state variables SendPropArray3( SENDINFO_ARRAY3(m_iNumTeamMembers), SendPropInt( SENDINFO_ARRAY(m_iNumTeamMembers), 4, SPROP_UNSIGNED ) ), SendPropArray3( SENDINFO_ARRAY3(m_iCappingTeam), SendPropInt( SENDINFO_ARRAY(m_iCappingTeam), 4, SPROP_UNSIGNED ) ), SendPropArray3( SENDINFO_ARRAY3(m_iTeamInZone), SendPropInt( SENDINFO_ARRAY(m_iTeamInZone), 4, SPROP_UNSIGNED ) ), SendPropArray3( SENDINFO_ARRAY3(m_bBlocked), SendPropInt( SENDINFO_ARRAY(m_bBlocked), 1, SPROP_UNSIGNED ) ), SendPropArray3( SENDINFO_ARRAY3(m_iOwner), SendPropInt( SENDINFO_ARRAY(m_iOwner), 4, SPROP_UNSIGNED ) ),
RecvPropArray3(RECVINFO_ARRAY(m_flZoneEnterSpeed2D), RecvPropFloat(RECVINFO(m_flZoneEnterSpeed2D[0]))), RecvPropArray3(RECVINFO_ARRAY(m_flZoneExitSpeed3D), RecvPropFloat(RECVINFO(m_flZoneExitSpeed3D[0]))), RecvPropArray3(RECVINFO_ARRAY(m_flZoneExitSpeed2D), RecvPropFloat(RECVINFO(m_flZoneExitSpeed2D[0]))), RecvPropArray3(RECVINFO_ARRAY(m_flZoneVelocityAvg3D), RecvPropFloat(RECVINFO(m_flZoneVelocityAvg3D[0]))), RecvPropArray3(RECVINFO_ARRAY(m_flZoneVelocityAvg2D), RecvPropFloat(RECVINFO(m_flZoneVelocityAvg2D[0]))), RecvPropArray3(RECVINFO_ARRAY(m_flZoneVelocityMax3D), RecvPropFloat(RECVINFO(m_flZoneVelocityMax3D[0]))), RecvPropArray3(RECVINFO_ARRAY(m_flZoneVelocityMax2D), RecvPropFloat(RECVINFO(m_flZoneVelocityMax2D[0]))), END_RECV_TABLE(); #else BEGIN_SEND_TABLE_NOBASE(CMomRunStats, DT_MomRunStats) SendPropInt(SENDINFO(m_iTotalZones), 7, SPROP_UNSIGNED), //Keypress SendPropArray3(SENDINFO_ARRAY3(m_iZoneJumps), SendPropInt(SENDINFO_ARRAY(m_iZoneJumps), -1, SPROP_UNSIGNED | SPROP_CHANGES_OFTEN)), SendPropArray3(SENDINFO_ARRAY3(m_iZoneStrafes), SendPropInt(SENDINFO_ARRAY(m_iZoneStrafes), -1, SPROP_UNSIGNED | SPROP_CHANGES_OFTEN)), //Sync SendPropArray3(SENDINFO_ARRAY3(m_flZoneStrafeSyncAvg), SendPropFloat(SENDINFO_ARRAY(m_flZoneStrafeSyncAvg), -1, SPROP_CHANGES_OFTEN)), SendPropArray3(SENDINFO_ARRAY3(m_flZoneStrafeSync2Avg), SendPropFloat(SENDINFO_ARRAY(m_flZoneStrafeSync2Avg), -1, SPROP_CHANGES_OFTEN)), //Time SendPropArray3(SENDINFO_ARRAY3(m_iZoneEnterTick), SendPropInt(SENDINFO_ARRAY(m_iZoneEnterTick), -1, SPROP_UNSIGNED)), SendPropArray3(SENDINFO_ARRAY3(m_iZoneTicks), SendPropInt(SENDINFO_ARRAY(m_iZoneTicks), -1, SPROP_UNSIGNED)), //Velocity SendPropArray3(SENDINFO_ARRAY3(m_flZoneEnterSpeed3D), SendPropFloat(SENDINFO_ARRAY(m_flZoneEnterSpeed3D))), SendPropArray3(SENDINFO_ARRAY3(m_flZoneEnterSpeed2D), SendPropFloat(SENDINFO_ARRAY(m_flZoneEnterSpeed2D))), SendPropArray3(SENDINFO_ARRAY3(m_flZoneExitSpeed3D), SendPropFloat(SENDINFO_ARRAY(m_flZoneExitSpeed3D))), SendPropArray3(SENDINFO_ARRAY3(m_flZoneExitSpeed2D), SendPropFloat(SENDINFO_ARRAY(m_flZoneExitSpeed2D))), SendPropArray3(SENDINFO_ARRAY3(m_flZoneVelocityAvg3D), SendPropFloat(SENDINFO_ARRAY(m_flZoneVelocityAvg3D))), SendPropArray3(SENDINFO_ARRAY3(m_flZoneVelocityAvg2D), SendPropFloat(SENDINFO_ARRAY(m_flZoneVelocityAvg2D))), SendPropArray3(SENDINFO_ARRAY3(m_flZoneVelocityMax3D), SendPropFloat(SENDINFO_ARRAY(m_flZoneVelocityMax3D))), SendPropArray3(SENDINFO_ARRAY3(m_flZoneVelocityMax2D), SendPropFloat(SENDINFO_ARRAY(m_flZoneVelocityMax2D))), END_SEND_TABLE(); #endif
void SendProxy_DTTestServerSubString( const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID ) { SendProxy_StringToString( pProp, pStruct, pData, pOut, iElement, objectID); } BEGIN_SEND_TABLE_NOBASE( CTestStruct, DT_TestStruct ) SendPropInt( SENDINFO_NOCHECK( a ) ), SendPropInt( SENDINFO_NOCHECK( b ) ), SendPropFloat( SENDINFO_NOCHECK( f ) ) END_SEND_TABLE() BEGIN_SEND_TABLE_NOBASE(DTTestServerSub, DT_DTTestSub) // - Auto type conversions (receiving an array of floats into an array of ints). SendPropArray( SendPropFloat(SENDINFO_NOCHECK(m_FloatArray[0]), 0, SPROP_NOSCALE), m_FloatArray), SendPropUtlVectorDataTable( m_UtlVectorStruct, MAX_STRUCTARRAY_ELEMENTS, DT_TestStruct ), SendPropArray( SendPropString(SENDINFO_NOCHECK(m_Strings[0]), 0, SendProxy_DTTestServerSubString), m_Strings ), SendPropUtlVector( SENDINFO_UTLVECTOR( m_UtlVectorChar ), MAX_CHARARRAY_ELEMENTS, SendPropInt( NULL, 0, sizeof( char ), 0 ) ), SendPropUtlVector( SENDINFO_UTLVECTOR( m_UtlVectorFloat ),