class CFunc_DustMotes : public CFunc_Dust { DECLARE_CLASS( CFunc_DustMotes, CFunc_Dust ); public: CFunc_DustMotes(); }; class CFunc_DustCloud : public CFunc_Dust { DECLARE_CLASS( CFunc_DustCloud, CFunc_Dust ); public: }; IMPLEMENT_SERVERCLASS_ST_NOBASE( CFunc_Dust, DT_Func_Dust ) SendPropInt( SENDINFO(m_Color), 32, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_SpawnRate), 12, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_SpeedMax), 12, SPROP_UNSIGNED ), SendPropFloat( SENDINFO(m_flSizeMin), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO(m_flSizeMax), 0, SPROP_NOSCALE ), SendPropInt( SENDINFO(m_DistMax), 16, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_LifetimeMin), 4, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_LifetimeMax), 4, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_DustFlags), DUST_NUMFLAGS, SPROP_UNSIGNED ), SendPropModelIndex( SENDINFO(m_nModelIndex) ), SendPropDataTable( SENDINFO_DT( m_Collision ), &REFERENCE_SEND_TABLE(DT_CollisionProperty) ), END_SEND_TABLE() BEGIN_DATADESC( CFunc_Dust )
DEFINE_THINKFUNC( DangerSoundThink ), DEFINE_THINKFUNC( PreDetonate ), DEFINE_THINKFUNC( Detonate ), DEFINE_THINKFUNC( TumbleThink ), END_DATADESC() void SendProxy_CropFlagsToPlayerFlagBitsLength( const SendProp *pProp, const void *pStruct, const void *pVarData, DVariant *pOut, int iElement, int objectID); #endif IMPLEMENT_NETWORKCLASS_ALIASED( BaseGrenade, DT_BaseGrenade ) BEGIN_NETWORK_TABLE( CBaseGrenade, DT_BaseGrenade ) #if !defined( CLIENT_DLL ) SendPropFloat( SENDINFO( m_flDamage ), 10, SPROP_ROUNDDOWN, 0.0, 256.0f ), SendPropFloat( SENDINFO( m_DmgRadius ), 10, SPROP_ROUNDDOWN, 0.0, 1024.0f ), SendPropInt( SENDINFO( m_bIsLive ), 1, SPROP_UNSIGNED ), // SendPropTime( SENDINFO( m_flDetonateTime ) ), SendPropEHandle( SENDINFO( m_hThrower ) ), SendPropVector( SENDINFO( m_vecVelocity ), 0, SPROP_NOSCALE ), // HACK: Use same flag bits as player for now SendPropInt ( SENDINFO(m_fFlags), PLAYER_FLAG_BITS, SPROP_UNSIGNED, SendProxy_CropFlagsToPlayerFlagBitsLength ), #else RecvPropFloat( RECVINFO( m_flDamage ) ), RecvPropFloat( RECVINFO( m_DmgRadius ) ), RecvPropInt( RECVINFO( m_bIsLive ) ), // RecvPropTime( RECVINFO( m_flDetonateTime ) ), RecvPropEHandle( RECVINFO( m_hThrower ) ),
DEFINE_KEYFIELD( m_flMinOccluderArea, FIELD_FLOAT, "minoccluderarea_x360" ), #else DEFINE_KEYFIELD( m_flMaxOccludeeArea, FIELD_FLOAT, "maxoccludeearea" ), DEFINE_KEYFIELD( m_flMinOccluderArea, FIELD_FLOAT, "minoccluderarea" ), #endif DEFINE_KEYFIELD( m_flMaxPropScreenSpaceWidth, FIELD_FLOAT, "maxpropscreenwidth" ), DEFINE_KEYFIELD( m_flMinPropScreenSpaceWidth, FIELD_FLOAT, "minpropscreenwidth" ), DEFINE_KEYFIELD( m_iszDetailSpriteMaterial, FIELD_STRING, "detailmaterial" ), DEFINE_KEYFIELD( m_bColdWorld, FIELD_BOOLEAN, "coldworld" ), END_DATADESC() // SendTable stuff. IMPLEMENT_SERVERCLASS_ST(CWorld, DT_WORLD) SendPropFloat (SENDINFO(m_flWaveHeight), 8, SPROP_ROUNDUP, 0.0f, 8.0f), SendPropVector (SENDINFO(m_WorldMins), -1, SPROP_COORD), SendPropVector (SENDINFO(m_WorldMaxs), -1, SPROP_COORD), SendPropInt (SENDINFO(m_bStartDark), 1, SPROP_UNSIGNED ), SendPropFloat (SENDINFO(m_flMaxOccludeeArea), 0, SPROP_NOSCALE ), SendPropFloat (SENDINFO(m_flMinOccluderArea), 0, SPROP_NOSCALE ), SendPropFloat (SENDINFO(m_flMaxPropScreenSpaceWidth), 0, SPROP_NOSCALE ), SendPropFloat (SENDINFO(m_flMinPropScreenSpaceWidth), 0, SPROP_NOSCALE ), SendPropStringT (SENDINFO(m_iszDetailSpriteMaterial) ), SendPropInt (SENDINFO(m_bColdWorld), 1, SPROP_UNSIGNED ), END_SEND_TABLE() // // Just to ignore the "wad" field. // bool CWorld::KeyValue( const char *szKeyName, const char *szValue )
// (waits until it's out of the view frustrum or until there's a lot of motion) // (m_fDisappearDist+): the bmodel is forced to be invisible CNetworkVar( float, m_fDisappearDist ); // CBaseEntity overrides. public: virtual void Spawn(); bool CreateVPhysics(); virtual void Activate(); virtual bool KeyValue( const char *szKeyName, const char *szValue ); }; IMPLEMENT_SERVERCLASS_ST(CFunc_LOD, DT_Func_LOD) SendPropFloat(SENDINFO(m_fDisappearDist), 0, SPROP_NOSCALE), END_SEND_TABLE() LINK_ENTITY_TO_CLASS(func_lod, CFunc_LOD); //--------------------------------------------------------- // Save/Restore //--------------------------------------------------------- BEGIN_DATADESC( CFunc_LOD ) DEFINE_FIELD( m_fDisappearDist, FIELD_FLOAT ), END_DATADESC()
// Restart animation at frame 0 pViewModel->SetCycle( 0 ); pViewModel->m_flAnimTime = gpGlobals->curtime; } } #endif LINK_ENTITY_TO_CLASS( viewmodel, CBaseViewModel ); IMPLEMENT_NETWORKCLASS_ALIASED( BaseViewModel, DT_BaseViewModel ) BEGIN_NETWORK_TABLE_NOBASE(CBaseViewModel, DT_BaseViewModel) #if !defined( CLIENT_DLL ) SendPropModelIndex(SENDINFO(m_nModelIndex)), SendPropInt (SENDINFO(m_nBody), 8), SendPropInt (SENDINFO(m_nSkin), 10), SendPropInt (SENDINFO(m_nSequence), 8, SPROP_UNSIGNED), SendPropInt (SENDINFO(m_nViewModelIndex), VIEWMODEL_INDEX_BITS, SPROP_UNSIGNED), SendPropFloat (SENDINFO(m_flPlaybackRate), 8, SPROP_ROUNDUP, -4.0, 12.0f), SendPropInt (SENDINFO(m_fEffects), 10, SPROP_UNSIGNED), SendPropInt (SENDINFO(m_nAnimationParity), 3, SPROP_UNSIGNED ), SendPropEHandle (SENDINFO(m_hWeapon)), SendPropEHandle (SENDINFO(m_hOwner)), SendPropInt( SENDINFO( m_nNewSequenceParity ), EF_PARITY_BITS, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_nResetEventsParity ), EF_PARITY_BITS, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_nMuzzleFlashParity ), EF_MUZZLEFLASH_BITS, SPROP_UNSIGNED ), #if !defined( INVASION_DLL ) && !defined( INVASION_CLIENT_DLL ) SendPropArray (SendPropFloat(SENDINFO_ARRAY(m_flPoseParameter), 8, 0, 0.0f, 1.0f), m_flPoseParameter),
//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======// // // Purpose: Dropped DM weapon // //=============================================================================// #include "cbase.h" #include "tf_dropped_weapon.h" #include "tf_gamerules.h" #include "in_buttons.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" IMPLEMENT_SERVERCLASS_ST( CTFDroppedWeapon, DT_TFDroppedWeapon ) SendPropInt( SENDINFO( m_iAmmo ), 10, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_iMaxAmmo ), 10, SPROP_UNSIGNED ), END_SEND_TABLE() LINK_ENTITY_TO_CLASS( tf_dropped_weapon, CTFDroppedWeapon ); CTFDroppedWeapon::CTFDroppedWeapon() { m_pWeaponInfo = NULL; m_iMaxAmmo = 0; } //----------------------------------------------------------------------------- // Purpose: Spawn function //----------------------------------------------------------------------------- void CTFDroppedWeapon::Spawn( void )
//-------------------------------------------- // Rope Spawn Flags //-------------------------------------------- #define SF_ROPE_RESIZE 1 // Automatically resize the rope // -------------------------------------------------------------------------------- // // Fun With Tables. // -------------------------------------------------------------------------------- // LINK_ENTITY_TO_CLASS( move_rope, CRopeKeyframe ); LINK_ENTITY_TO_CLASS( keyframe_rope, CRopeKeyframe ); IMPLEMENT_SERVERCLASS_ST_NOBASE( CRopeKeyframe, DT_RopeKeyframe ) SendPropEHandle(SENDINFO(m_hStartPoint)), SendPropEHandle(SENDINFO(m_hEndPoint)), SendPropInt( SENDINFO(m_iStartAttachment), 5, 0 ), SendPropInt( SENDINFO(m_iEndAttachment), 5, 0 ), SendPropInt( SENDINFO(m_Slack), 12 ), SendPropInt( SENDINFO(m_RopeLength), 15 ), SendPropInt( SENDINFO(m_fLockedPoints), 4, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nChangeCount), 8, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_RopeFlags), ROPE_NUMFLAGS, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nSegments), 4, SPROP_UNSIGNED ), SendPropBool( SENDINFO(m_bConstrainBetweenEndpoints) ), SendPropInt( SENDINFO(m_iRopeMaterialModelIndex), 16, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_Subdiv), 4, SPROP_UNSIGNED ), SendPropFloat( SENDINFO(m_TextureScale), 10, 0, 0.1f, 10.0f ), SendPropFloat( SENDINFO(m_Width), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO(m_flScrollSpeed), 0, SPROP_NOSCALE ),
// Input : *name - //----------------------------------------------------------------------------- CTEFireBullets::CTEFireBullets( const char *name ) : CBaseTempEntity( name ) { } //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- CTEFireBullets::~CTEFireBullets( void ) { } IMPLEMENT_SERVERCLASS_ST_NOBASE(CTEFireBullets, DT_TEFireBullets) SendPropVector( SENDINFO(m_vecOrigin), -1, SPROP_COORD ), SendPropAngle( SENDINFO_VECTORELEM( m_vecAngles, 0 ), 13, 0 ), SendPropAngle( SENDINFO_VECTORELEM( m_vecAngles, 1 ), 13, 0 ), SendPropInt( SENDINFO( m_iWeaponID ), 5, SPROP_UNSIGNED ), // max 31 weapons SendPropInt( SENDINFO( m_iMode ), 1, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_iSeed ), NUM_BULLET_SEED_BITS, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_iPlayer ), 6, SPROP_UNSIGNED ), // max 64 players, see MAX_PLAYERS SendPropFloat( SENDINFO( m_flSpread ), 10, 0, 0, 1 ), END_SEND_TABLE() // Singleton static CTEFireBullets g_TEFireBullets( "Shotgun Shot" ); void TE_FireBullets(
LINK_ENTITY_TO_CLASS( env_citadel_energy_core, CCitadelEnergyCore ); BEGIN_DATADESC( CCitadelEnergyCore ) DEFINE_KEYFIELD( m_flScale, FIELD_FLOAT, "scale" ), DEFINE_FIELD( m_nState, FIELD_INTEGER ), DEFINE_FIELD( m_flDuration, FIELD_FLOAT ), DEFINE_FIELD( m_flStartTime, FIELD_TIME ), DEFINE_INPUTFUNC( FIELD_FLOAT, "StartCharge", InputStartCharge ), DEFINE_INPUTFUNC( FIELD_VOID, "StartDischarge", InputStartDischarge ), DEFINE_INPUTFUNC( FIELD_FLOAT, "Stop", InputStop ), END_DATADESC() IMPLEMENT_SERVERCLASS_ST( CCitadelEnergyCore, DT_CitadelEnergyCore ) SendPropFloat( SENDINFO(m_flScale), 0, SPROP_NOSCALE), SendPropInt( SENDINFO(m_nState), 8, SPROP_UNSIGNED), SendPropFloat( SENDINFO(m_flDuration), 0, SPROP_NOSCALE), SendPropFloat( SENDINFO(m_flStartTime), 0, SPROP_NOSCALE), SendPropInt( SENDINFO(m_spawnflags), 0, SPROP_UNSIGNED), END_SEND_TABLE() //----------------------------------------------------------------------------- // Precache: //----------------------------------------------------------------------------- void CCitadelEnergyCore::Precache() { BaseClass::Precache(); PrecacheMaterial( "effects/combinemuzzle2_dark" ); }
public: CNetworkVar( int, m_nHorizontalSize ); CNetworkVar( int, m_nVerticalSize ); CNetworkVar( int, m_nMinDist ); CNetworkVar( int, m_nMaxDist ); CNetworkVar( int, m_nOuterMaxDist ); CNetworkVar( float, m_flGlowProxySize ); CNetworkVar( float, m_flHDRColorScale ); }; extern void SendProxy_Angles( const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID ); IMPLEMENT_SERVERCLASS_ST_NOBASE( CLightGlow, DT_LightGlow ) SendPropInt( SENDINFO(m_clrRender), 32, SPROP_UNSIGNED, SendProxy_Color32ToInt32 ), SendPropInt( SENDINFO(m_nHorizontalSize), 16, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nVerticalSize), 16, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nMinDist), 16, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nMaxDist), LIGHTGLOW_MAXDIST_BITS, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nOuterMaxDist), LIGHTGLOW_OUTERMAXDIST_BITS, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_spawnflags), 8, SPROP_UNSIGNED ), SendPropVector(SENDINFO(m_vecOrigin), -1, SPROP_COORD ), SendPropQAngles (SENDINFO(m_angRotation), 13, 0, SendProxy_Angles ), SendPropEHandle (SENDINFO_NAME(m_hMoveParent, moveparent)), SendPropFloat( SENDINFO(m_flGlowProxySize ), 6, SPROP_ROUNDUP, 0.0f, 64.0f ), SendPropFloat( SENDINFO_NAME( m_flHDRColorScale, HDRColorScale ), 0, SPROP_NOSCALE, 0.0f, 100.0f ), END_SEND_TABLE() LINK_ENTITY_TO_CLASS( env_lightglow, CLightGlow );
{ pMedigun->ForceHealingTargetUpdate(); } RecvProxy_IntToEHandle( pData, pStruct, pOut ); } #endif LINK_ENTITY_TO_CLASS( tf_weapon_medigun, CWeaponMedigun ); PRECACHE_WEAPON_REGISTER( tf_weapon_medigun ); IMPLEMENT_NETWORKCLASS_ALIASED( WeaponMedigun, DT_WeaponMedigun ) BEGIN_NETWORK_TABLE( CWeaponMedigun, DT_WeaponMedigun ) #if !defined( CLIENT_DLL ) SendPropFloat( SENDINFO( m_flChargeLevel ), 0, SPROP_NOSCALE | SPROP_CHANGES_OFTEN ), SendPropEHandle( SENDINFO( m_hHealingTarget ) ), SendPropBool( SENDINFO( m_bHealing ) ), SendPropBool( SENDINFO( m_bAttacking ) ), SendPropBool( SENDINFO( m_bChargeRelease ) ), SendPropBool( SENDINFO( m_bHolstered ) ), #else RecvPropFloat( RECVINFO(m_flChargeLevel) ), RecvPropEHandle( RECVINFO( m_hHealingTarget ), RecvProxy_HealingTarget ), RecvPropBool( RECVINFO( m_bHealing ) ), RecvPropBool( RECVINFO( m_bAttacking ) ), RecvPropBool( RECVINFO( m_bChargeRelease ) ), RecvPropBool( RECVINFO( m_bHolstered ) ), #endif END_NETWORK_TABLE()
#include "smoke_trail.h" #include "dt_send.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" #define SMOKETRAIL_ENTITYNAME "env_smoketrail" #define SPORETRAIL_ENTITYNAME "env_sporetrail" #define SPOREEXPLOSION_ENTITYNAME "env_sporeexplosion" #define DUSTTRAIL_ENTITYNAME "env_dusttrail" //----------------------------------------------------------------------------- //Data table //----------------------------------------------------------------------------- IMPLEMENT_SERVERCLASS_ST(SmokeTrail, DT_SmokeTrail) SendPropFloat(SENDINFO(m_SpawnRate), 8, 0, 1, 1024), SendPropVector(SENDINFO(m_StartColor), 8, 0, 0, 1), SendPropVector(SENDINFO(m_EndColor), 8, 0, 0, 1), SendPropFloat(SENDINFO(m_ParticleLifetime), 16, SPROP_ROUNDUP, 0.1, 100), SendPropFloat(SENDINFO(m_StopEmitTime), 0, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_MinSpeed), -1, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_MaxSpeed), -1, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_MinDirectedSpeed), -1, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_MaxDirectedSpeed), -1, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_StartSize), -1, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_EndSize), -1, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_SpawnRadius), -1, SPROP_NOSCALE), SendPropBool(SENDINFO(m_bEmit) ), SendPropInt(SENDINFO(m_nAttachment), 32 ), SendPropFloat(SENDINFO(m_Opacity), -1, SPROP_NOSCALE), END_SEND_TABLE()
DEFINE_FIELD( m_flScaleX, FIELD_FLOAT ), DEFINE_FIELD( m_flScaleY, FIELD_FLOAT ), DEFINE_FIELD( m_flScaleZ, FIELD_FLOAT ), DEFINE_FIELD( m_flLerpTimeX, FIELD_FLOAT ), DEFINE_FIELD( m_flLerpTimeY, FIELD_FLOAT ), DEFINE_FIELD( m_flLerpTimeZ, FIELD_FLOAT ), DEFINE_FIELD( m_flGoalTimeX, FIELD_FLOAT ), DEFINE_FIELD( m_flGoalTimeY, FIELD_FLOAT ), DEFINE_FIELD( m_flGoalTimeZ, FIELD_FLOAT ), END_DATADESC() IMPLEMENT_SERVERCLASS_ST( CPropScalable, DT_PropScalable ) SendPropFloat( SENDINFO(m_flScaleX), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO(m_flScaleY), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO(m_flScaleZ), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO(m_flLerpTimeX), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO(m_flLerpTimeY), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO(m_flLerpTimeZ), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO(m_flGoalTimeX), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO(m_flGoalTimeY), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO(m_flGoalTimeZ), 0, SPROP_NOSCALE ), END_SEND_TABLE() CPropScalable::CPropScalable( void ) { m_flScaleX = 1.0f;
#define MORTAR_MINS Vector(-30, -50, -10) #define MORTAR_MAXS Vector( 30, 50, 55) #define MORTAR_MODEL "models/objects/vehicle_mortar.mdl" #define MORTAR_SCREEN_NAME "screen_vehicle_mortar" #define ELEVATION_INTERVAL 0.3 const char *g_pMortarThinkContextName = "MortarThinkContext"; const char *g_pMortarNextFireContextName = "MortarNextFireContext"; IMPLEMENT_SERVERCLASS_ST(CVehicleMortar, DT_VehicleMortar) SendPropFloat( SENDINFO( m_flMortarYaw ), 0, SPROP_NOSCALE ), SendPropFloat( SENDINFO( m_flMortarPitch ), 0, SPROP_NOSCALE ), SendPropBool( SENDINFO( m_bAllowedToFire ) ) END_SEND_TABLE(); LINK_ENTITY_TO_CLASS(vehicle_mortar, CVehicleMortar); PRECACHE_REGISTER(vehicle_mortar); // CVars ConVar vehicle_mortar_health( "vehicle_mortar_health","800", FCVAR_NONE, "Mortar vehicle health" ); //----------------------------------------------------------------------------- // Purpose:
m_nRandomization = 0; m_nCount = 0; m_fTime = 0.0; m_nFlags = 0; } //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- CTEBreakModel::~CTEBreakModel( void ) { } IMPLEMENT_SERVERCLASS_ST(CTEBreakModel, DT_TEBreakModel) SendPropVector( SENDINFO(m_vecOrigin), -1, SPROP_COORD), SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 0), 13 ), SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 1), 13 ), SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 2), 13 ), SendPropVector( SENDINFO(m_vecSize), -1, SPROP_COORD), SendPropVector( SENDINFO(m_vecVelocity), -1, SPROP_COORD), SendPropModelIndex( SENDINFO(m_nModelIndex) ), SendPropInt( SENDINFO(m_nRandomization), 9, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nCount), 8, SPROP_UNSIGNED ), SendPropFloat( SENDINFO(m_fTime), 10, 0, 0, 102.4 ), SendPropInt( SENDINFO(m_nFlags), 8, SPROP_UNSIGNED ), END_SEND_TABLE() // Singleton to fire TEBreakModel objects static CTEBreakModel g_TEBreakModel( "breakmodel" );
extern CBaseEntity *g_pLastSpawn; #define HL2MP_COMMAND_MAX_RATE 0.3 void DropPrimedFragGrenade( CHL2MP_Player *pPlayer, CBaseCombatWeapon *pGrenade ); LINK_ENTITY_TO_CLASS( player, CHL2MP_Player ); LINK_ENTITY_TO_CLASS( info_player_combine, CPointEntity ); LINK_ENTITY_TO_CLASS( info_player_rebel, CPointEntity ); extern void SendProxy_Origin( const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID ); BEGIN_SEND_TABLE_NOBASE( CHL2MP_Player, DT_HL2MPLocalPlayerExclusive ) // send a hi-res origin to the local player for use in prediction SendPropVector (SENDINFO(m_vecOrigin), -1, SPROP_NOSCALE|SPROP_CHANGES_OFTEN, 0.0f, HIGH_DEFAULT, SendProxy_Origin ), SendPropFloat( SENDINFO_VECTORELEM(m_angEyeAngles, 0), 8, SPROP_CHANGES_OFTEN, -90.0f, 90.0f ), // SendPropAngle( SENDINFO_VECTORELEM(m_angEyeAngles, 1), 10, SPROP_CHANGES_OFTEN ), END_SEND_TABLE() BEGIN_SEND_TABLE_NOBASE( CHL2MP_Player, DT_HL2MPNonLocalPlayerExclusive ) // send a lo-res origin to other players SendPropVector (SENDINFO(m_vecOrigin), -1, SPROP_COORD_MP_LOWPRECISION|SPROP_CHANGES_OFTEN, 0.0f, HIGH_DEFAULT, SendProxy_Origin ), SendPropFloat( SENDINFO_VECTORELEM(m_angEyeAngles, 0), 8, SPROP_CHANGES_OFTEN, -90.0f, 90.0f ), SendPropAngle( SENDINFO_VECTORELEM(m_angEyeAngles, 1), 10, SPROP_CHANGES_OFTEN ), END_SEND_TABLE() IMPLEMENT_SERVERCLASS_ST(CHL2MP_Player, DT_HL2MP_Player) SendPropExclude( "DT_BaseAnimating", "m_flPoseParameter" ), SendPropExclude( "DT_BaseAnimating", "m_flPlaybackRate" ), SendPropExclude( "DT_BaseAnimating", "m_nSequence" ),
m_vecOrigin += Vector( 0, 0, 24 ); AngleVectors( current_angles, &forward, &right, 0 ); forward[2] = 0.0; VectorNormalize( forward ); VectorMA( m_vecOrigin, 50.0, forward, m_vecOrigin.GetForModify() ); VectorMA( m_vecOrigin, 25.0, right, m_vecOrigin.GetForModify() ); CBroadcastRecipientFilter filter; Create( filter, 0.0 ); } IMPLEMENT_SERVERCLASS_ST(CTEPhysicsProp, DT_TEPhysicsProp) SendPropVector( SENDINFO(m_vecOrigin), -1, SPROP_COORD), SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 0), 13 ), SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 1), 13 ), SendPropAngle( SENDINFO_VECTORELEM(m_angRotation, 2), 13 ), SendPropVector( SENDINFO(m_vecVelocity), -1, SPROP_COORD), SendPropModelIndex( SENDINFO(m_nModelIndex) ), SendPropInt( SENDINFO(m_nSkin), ANIMATION_SKIN_BITS), SendPropInt( SENDINFO(m_nFlags), 2, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nEffects), EF_MAX_BITS, SPROP_UNSIGNED), END_SEND_TABLE() // Singleton to fire TEBreakModel objects static CTEPhysicsProp s_TEPhysicsProp( "physicsprop" ); void TE_PhysicsProp( IRecipientFilter& filter, float delay, int modelindex, int skin, const Vector& pos, const QAngle &angles, const Vector& vel, int flags, int effects )
{ public: DECLARE_CLASS( CTEConcussiveExplosion, CTEParticleSystem ); DECLARE_SERVERCLASS(); CTEConcussiveExplosion( const char *name ); virtual ~CTEConcussiveExplosion( void ); CNetworkVector( m_vecNormal ); CNetworkVar( float, m_flScale ); CNetworkVar( int, m_nRadius ); CNetworkVar( int, m_nMagnitude ); }; IMPLEMENT_SERVERCLASS_ST( CTEConcussiveExplosion, DT_TEConcussiveExplosion ) SendPropVector( SENDINFO(m_vecNormal), -1, SPROP_COORD ), SendPropFloat( SENDINFO(m_flScale), 0, SPROP_NOSCALE ), SendPropInt( SENDINFO(m_nRadius), 32, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nMagnitude), 32, SPROP_UNSIGNED ), END_SEND_TABLE() //----------------------------------------------------------------------------- // Purpose: Constructor //----------------------------------------------------------------------------- CTEConcussiveExplosion::CTEConcussiveExplosion( const char *name ) : BaseClass( name ) { m_nRadius = 0; m_nMagnitude = 0; m_flScale = 0.0f; m_vecNormal.Init();
m_vecOrigin.GetForModify()[2] += 24; AngleVectors( current_angles, &forward, &right, NULL ); forward[2] = 0.0; VectorNormalize( forward ); VectorMA( m_vecOrigin, 50.0, forward, m_vecOrigin.GetForModify() ); VectorMA( m_vecOrigin, 25.0, right, m_vecOrigin.GetForModify() ); CBroadcastRecipientFilter filter; Create( filter, 0.0 ); } IMPLEMENT_SERVERCLASS_ST(CTESmoke, DT_TESmoke) SendPropVector( SENDINFO(m_vecOrigin), -1, SPROP_COORD), SendPropModelIndex( SENDINFO(m_nModelIndex) ), SendPropFloat( SENDINFO(m_fScale ), 8, SPROP_ROUNDDOWN, 0.0, 25.6 ), SendPropInt( SENDINFO(m_nFrameRate), 8, SPROP_UNSIGNED ), END_SEND_TABLE() // Singleton to fire TESmoke objects static CTESmoke g_TESmoke( "Smoke" ); void TE_Smoke( IRecipientFilter& filter, float delay, const Vector* pos, int modelindex, float scale, int framerate ) { g_TESmoke.m_vecOrigin = *pos; g_TESmoke.m_nModelIndex = modelindex; g_TESmoke.m_fScale = scale;
m_vecOrigin.GetForModify()[2] += 24; AngleVectors( current_angles, &forward ); forward[2] = 0.0; VectorNormalize( forward ); m_vecOrigin += forward * 50; CBroadcastRecipientFilter filter; Create( filter, 0.0 ); } IMPLEMENT_SERVERCLASS_ST(CTEExplosion, DT_TEExplosion) SendPropModelIndex( SENDINFO(m_nModelIndex) ), SendPropFloat( SENDINFO(m_fScale ), 9, 0, 0.0, 51.2 ), SendPropInt( SENDINFO(m_nFrameRate), 8, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nFlags), 8, SPROP_UNSIGNED ), SendPropVector( SENDINFO(m_vecNormal), -1, SPROP_COORD), SendPropInt( SENDINFO(m_chMaterialType), 8, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nRadius), 32, SPROP_UNSIGNED ), SendPropInt( SENDINFO(m_nMagnitude), 32, SPROP_UNSIGNED ), END_SEND_TABLE() // Singleton to fire TEExplosion objects static CTEExplosion g_TEExplosion( "Explosion" ); void TE_Explosion( IRecipientFilter& filter, float delay, const Vector* pos, int modelindex, float scale, int framerate, int flags, int radius, int magnitude, const Vector* normal, unsigned char materialType ) { g_TEExplosion.m_vecOrigin = *pos;
//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: Implements the server side of a steam jet particle system entity. // // $NoKeywords: $ //=============================================================================// #include "cbase.h" #include "steamjet.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" //Networking IMPLEMENT_SERVERCLASS_ST(CSteamJet, DT_SteamJet) SendPropFloat(SENDINFO(m_SpreadSpeed), 0, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_Speed), 0, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_StartSize), 0, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_EndSize), 0, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_Rate), 0, SPROP_NOSCALE), SendPropFloat(SENDINFO(m_JetLength), 0, SPROP_NOSCALE), SendPropInt(SENDINFO(m_bEmit), 1, SPROP_UNSIGNED), SendPropInt(SENDINFO(m_bFaceLeft), 1, SPROP_UNSIGNED), // For support of legacy env_steamjet, which faced left instead of forward. SendPropInt(SENDINFO(m_nType), 32, SPROP_UNSIGNED), SendPropInt( SENDINFO(m_spawnflags), 8, SPROP_UNSIGNED ), SendPropFloat(SENDINFO(m_flRollSpeed), 0, SPROP_NOSCALE), END_SEND_TABLE() LINK_ENTITY_TO_CLASS( env_steam, CSteamJet ); LINK_ENTITY_TO_CLASS( env_steamjet, CSteamJet ); // For support of legacy env_steamjet, which faced left instead of forward.
virtual void Spawn( void ); virtual void Think( void ); // Inputs void InputRaiseShield( inputdata_t &inputdata ); void InputLowerShield( inputdata_t &inputdata ); private: CNetworkVar( bool, m_bShieldActive ); CNetworkVar( float, m_flShieldRaiseTime ); CNetworkVar( float, m_flShieldLowerTime ); }; IMPLEMENT_SERVERCLASS_ST(CCycler_TF2Commando, DT_Cycler_TF2Commando) SendPropInt (SENDINFO(m_bShieldActive), 1, SPROP_UNSIGNED ), SendPropFloat(SENDINFO(m_flShieldRaiseTime), 0, SPROP_NOSCALE ), SendPropFloat(SENDINFO(m_flShieldLowerTime), 0, SPROP_NOSCALE ), END_SEND_TABLE(); LINK_ENTITY_TO_CLASS( cycler_tf2commando, CCycler_TF2Commando ); LINK_ENTITY_TO_CLASS( cycler_aliencommando, CCycler_TF2Commando ); BEGIN_DATADESC( CCycler_TF2Commando ) // Inputs DEFINE_INPUTFUNC( CCycler_TF2Commando, FIELD_VOID, "RaiseShield", InputRaiseShield ), DEFINE_INPUTFUNC( CCycler_TF2Commando, FIELD_VOID, "LowerShield", InputLowerShield ), END_DATADESC()
#include "IEffects.h" // memdbgon must be the last include file in a .cpp file!!! #include "tier0/memdbgon.h" ConVar sk_plr_dmg_stunstick ( "sk_plr_dmg_stunstick","0"); ConVar sk_npc_dmg_stunstick ( "sk_npc_dmg_stunstick","0"); extern ConVar metropolice_move_and_melee; //----------------------------------------------------------------------------- // CWeaponStunStick //----------------------------------------------------------------------------- IMPLEMENT_SERVERCLASS_ST(CWeaponStunStick, DT_WeaponStunStick) SendPropInt( SENDINFO( m_bActive ), 1, SPROP_UNSIGNED ), END_SEND_TABLE() #ifndef HL2MP LINK_ENTITY_TO_CLASS( weapon_stunstick, CWeaponStunStick ); PRECACHE_WEAPON_REGISTER( weapon_stunstick ); #endif acttable_t CWeaponStunStick::m_acttable[] = { { ACT_MELEE_ATTACK1, ACT_MELEE_ATTACK_SWING, true }, { ACT_IDLE_ANGRY, ACT_IDLE_ANGRY_MELEE, true }, }; IMPLEMENT_ACTTABLE(CWeaponStunStick);
// Output : const Vector //----------------------------------------------------------------------------- Vector CPropVehicle::GetSmoothedVelocity( void ) { return m_vecSmoothedVelocity; } //----------------------------------------------------------------------------- // Purpose: Player driveable vehicle class //----------------------------------------------------------------------------- IMPLEMENT_SERVERCLASS_ST(CPropVehicleDriveable, DT_PropVehicleDriveable) SendPropEHandle(SENDINFO(m_hPlayer)), // SendPropFloat(SENDINFO_DT_NAME(m_controls.throttle, m_throttle), 8, SPROP_ROUNDUP, 0.0f, 1.0f), SendPropInt(SENDINFO(m_nSpeed), 8), SendPropInt(SENDINFO(m_nRPM), 13), SendPropFloat(SENDINFO(m_flThrottle), 0, SPROP_NOSCALE ), SendPropInt(SENDINFO(m_nBoostTimeLeft), 8), SendPropInt(SENDINFO(m_nHasBoost), 1, SPROP_UNSIGNED), SendPropInt(SENDINFO(m_nScannerDisabledWeapons), 1, SPROP_UNSIGNED), SendPropInt(SENDINFO(m_nScannerDisabledVehicle), 1, SPROP_UNSIGNED), SendPropVector(SENDINFO(m_vecLookCrosshair), -1, SPROP_COORD), SendPropVector(SENDINFO(m_vecGunCrosshair), -1, SPROP_COORD), SendPropInt(SENDINFO(m_bEnterAnimOn), 1, SPROP_UNSIGNED ), SendPropInt(SENDINFO(m_bExitAnimOn), 1, SPROP_UNSIGNED ), END_SEND_TABLE(); BEGIN_DATADESC( CPropVehicleDriveable )
#include "tf_weapon_builder.h" #include "vguiscreen.h" #include "tf_gamerules.h" extern ConVar tf2_object_hard_limits; extern ConVar tf_fastbuild; EXTERN_SEND_TABLE(DT_BaseCombatWeapon) BEGIN_NETWORK_TABLE_NOBASE( CTFWeaponBuilder, DT_BuilderLocalData ) SendPropInt( SENDINFO( m_iObjectType ), BUILDER_OBJECT_BITS, SPROP_UNSIGNED ), SendPropEHandle( SENDINFO( m_hObjectBeingBuilt ) ), END_NETWORK_TABLE() IMPLEMENT_SERVERCLASS_ST(CTFWeaponBuilder, DT_TFWeaponBuilder) SendPropInt( SENDINFO( m_iBuildState ), 4, SPROP_UNSIGNED ), SendPropDataTable( "BuilderLocalData", 0, &REFERENCE_SEND_TABLE( DT_BuilderLocalData ), SendProxy_SendLocalWeaponDataTable ), END_SEND_TABLE() LINK_ENTITY_TO_CLASS( tf_weapon_builder, CTFWeaponBuilder ); PRECACHE_WEAPON_REGISTER( tf_weapon_builder ); //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- CTFWeaponBuilder::CTFWeaponBuilder() { m_iObjectType.Set( BUILDER_INVALID_OBJECT ); } //-----------------------------------------------------------------------------
DEFINE_KEYFIELD( m_str_Ambient_High, FIELD_STRING, "ambient_high" ), DEFINE_KEYFIELD( m_str_Ambient_Low, FIELD_STRING, "ambient_low" ), DEFINE_KEYFIELD( m_flFadeTime, FIELD_FLOAT, "fadetime" ), DEFINE_FIELD( m_vecColor_Diff, FIELD_VECTOR ), DEFINE_FIELD( m_vecColor_Ambient_High, FIELD_VECTOR ), DEFINE_FIELD( m_vecColor_Ambient_Low, FIELD_VECTOR ), DEFINE_FIELD( m_iDefFlags, FIELD_INTEGER ), END_DATADESC() #endif IMPLEMENT_NETWORKCLASS_DT( CDeferredLightGlobal, CDeferredLightGlobal_DT ) #ifdef GAME_DLL SendPropVector( SENDINFO( m_vecColor_Diff ), 32 ), SendPropVector( SENDINFO( m_vecColor_Ambient_High ), 32 ), SendPropVector( SENDINFO( m_vecColor_Ambient_Low ), 32 ), SendPropInt( SENDINFO( m_iDefFlags ), DEFLIGHTGLOBAL_FLAGS_MAX_SHARED_BITS, SPROP_UNSIGNED ), #else RecvPropVector( RECVINFO( m_vecColor_Diff ) ), RecvPropVector( RECVINFO( m_vecColor_Ambient_High ) ), RecvPropVector( RECVINFO( m_vecColor_Ambient_Low ) ), RecvPropInt( RECVINFO( m_iDefFlags ) ), #endif END_NETWORK_TABLE(); LINK_ENTITY_TO_CLASS( light_deferred_global, CDeferredLightGlobal );
// TF Base Rocket tables. // IMPLEMENT_NETWORKCLASS_ALIASED( TFBaseRocket, DT_TFBaseRocket ) BEGIN_NETWORK_TABLE( CTFBaseRocket, DT_TFBaseRocket ) // Client specific. #ifdef CLIENT_DLL RecvPropVector( RECVINFO( m_vInitialVelocity ) ), RecvPropVector( RECVINFO_NAME( m_vecNetworkOrigin, m_vecOrigin ) ), RecvPropQAngles( RECVINFO_NAME( m_angNetworkAngles, m_angRotation ) ), // Server specific. #else SendPropVector( SENDINFO( m_vInitialVelocity ), 12 /*nbits*/, 0 /*flags*/, -3000 /*low value*/, 3000 /*high value*/ ), SendPropExclude( "DT_BaseEntity", "m_vecOrigin" ), SendPropExclude( "DT_BaseEntity", "m_angRotation" ), SendPropVector (SENDINFO(m_vecOrigin), -1, SPROP_COORD_MP_INTEGRAL|SPROP_CHANGES_OFTEN, 0.0f, HIGH_DEFAULT, SendProxy_Origin ), SendPropQAngles (SENDINFO(m_angRotation), 6, SPROP_CHANGES_OFTEN, SendProxy_Angles ), #endif END_NETWORK_TABLE() // Server specific. #ifdef GAME_DLL BEGIN_DATADESC( CTFBaseRocket ) DEFINE_FUNCTION( RocketTouch ), DEFINE_THINKFUNC( FlyThink ),
VectorMA( m_vecStart, -128.0, right, m_vecStart ); for ( int i = 0; i < m_nPoints; i++ ) { m_vecPoints.Set( i, m_vecStart ); VectorMA( m_vecStart, 128/m_nPoints, right, m_vecStart ); VectorMA( m_vecStart, 30.0/m_nPoints, forward, m_vecStart ); } CBroadcastRecipientFilter filter; Create( filter, 0.0 ); } IMPLEMENT_SERVERCLASS_ST_NOBASE(CTEBeamSpline, DT_TEBeamSpline) SendPropInt( SENDINFO( m_nPoints ), 5, SPROP_UNSIGNED ), SendPropArray( SendPropVector( SENDINFO_ARRAY(m_vecPoints), -1, SPROP_COORD), m_vecPoints) END_SEND_TABLE() // Singleton to fire TEBeamSpline objects static CTEBeamSpline g_TEBeamSpline( "BeamSpline" ); //----------------------------------------------------------------------------- // Purpose: // Input : msg_dest - // delay - // *origin -
DEFINE_KEYFIELD( m_flVolumeLOD1Dist, FIELD_FLOAT, GetLightParamName( LPARAM_VOLUME_LOD1_DIST ) ), DEFINE_KEYFIELD( m_flVolumeLOD2Dist, FIELD_FLOAT, GetLightParamName( LPARAM_VOLUME_LOD2_DIST ) ), DEFINE_KEYFIELD( m_flVolumeLOD3Dist, FIELD_FLOAT, GetLightParamName( LPARAM_VOLUME_LOD3_DIST ) ), #endif #if DEFCFG_CONFIGURABLE_VOLUMETRIC_LOD DEFINE_KEYFIELD( m_iVolumeSamples, FIELD_INTEGER, GetLightParamName( LPARAM_VOLUME_SAMPLES ) ), #endif END_DATADESC() #endif IMPLEMENT_NETWORKCLASS_DT( CDeferredLight, CDeferredLight_DT ) #ifdef GAME_DLL SendPropVector( SENDINFO( m_vecColor_Diff ), 32 ), SendPropVector( SENDINFO( m_vecColor_Ambient ), 32 ), SendPropFloat( SENDINFO( m_flRadius ) ), SendPropFloat( SENDINFO( m_flFalloffPower ) ), SendPropFloat( SENDINFO( m_flSpotConeInner ) ), SendPropFloat( SENDINFO( m_flSpotConeOuter ) ), SendPropInt( SENDINFO( m_iVisible_Dist ), 15, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_iVisible_FadeRange ), 15, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_iShadow_Dist ), 15, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_iShadow_FadeRange ), 15, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_iLightType ), MAX_DEFLIGHTTYPE_BITS, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_iDefFlags ), DEFLIGHT_FLAGS_MAX_SHARED_BITS, SPROP_UNSIGNED ), SendPropInt( SENDINFO( m_iCookieIndex ), MAX_COOKIE_TEXTURES_BITS, SPROP_UNSIGNED ),
DEFINE_OUTPUT( m_playerUse, "PlayerUse" ), DEFINE_OUTPUT( m_playerOn, "PlayerOn" ), DEFINE_OUTPUT( m_playerOff, "PlayerOff" ), DEFINE_OUTPUT( m_OnOpen, "OnOpen" ), DEFINE_OUTPUT( m_OnClose, "OnClose" ), DEFINE_EMBEDDED( m_vehicleView ), DEFINE_EMBEDDED( m_savedVehicleView ), END_DATADESC() IMPLEMENT_SERVERCLASS_ST(CPropVehicleChoreoGeneric, DT_PropVehicleChoreoGeneric) SendPropEHandle(SENDINFO(m_hPlayer)), SendPropBool(SENDINFO(m_bEnterAnimOn)), SendPropBool(SENDINFO(m_bExitAnimOn)), SendPropVector(SENDINFO(m_vecEyeExitEndpoint), -1, SPROP_COORD), SendPropBool( SENDINFO_STRUCTELEM( m_vehicleView.bClampEyeAngles ) ), SendPropFloat( SENDINFO_STRUCTELEM( m_vehicleView.flPitchCurveZero ) ), SendPropFloat( SENDINFO_STRUCTELEM( m_vehicleView.flPitchCurveLinear ) ), SendPropFloat( SENDINFO_STRUCTELEM( m_vehicleView.flRollCurveZero ) ), SendPropFloat( SENDINFO_STRUCTELEM( m_vehicleView.flRollCurveLinear ) ), SendPropFloat( SENDINFO_STRUCTELEM( m_vehicleView.flFOV ) ), SendPropFloat( SENDINFO_STRUCTELEM( m_vehicleView.flYawMin ) ), SendPropFloat( SENDINFO_STRUCTELEM( m_vehicleView.flYawMax ) ), SendPropFloat( SENDINFO_STRUCTELEM( m_vehicleView.flPitchMin ) ), SendPropFloat( SENDINFO_STRUCTELEM( m_vehicleView.flPitchMax ) ), END_SEND_TABLE(); bool ShouldVehicleIgnoreEntity( CBaseEntity *pVehicle, CBaseEntity *pCollide ) {