cl_dll/c_baseentity.h
6465666768697071727374
extern void RecvProxy_IntToColor32( const CRecvProxyData *pData, void *pStruct, void *pOut );
extern void RecvProxy_LocalVelocity( const CRecvProxyData *pData, void *pStruct, void *pOut );
enum CollideType_t
{
ENTITY_SHOULD_NOT_COLLIDE = 0,
ENTITY_SHOULD_COLLIDE,
ENTITY_SHOULD_RESPOND
};
class VarMapEntry_t
646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
extern void RecvProxy_IntToColor32( const CRecvProxyData *pData, void *pStruct, void *pOut );
extern void RecvProxy_LocalVelocity( const CRecvProxyData *pData, void *pStruct, void *pOut );
// BEG: Added by Mulchman
enum Class_T
{
CLASS_NONE = 0,
CLASS_PLAYER,
CLASS_PLAYER_ALLY,
// BEG: Added by Mulchman
CLASS_DISPENSER,
CLASS_SENTRYGUN,
CLASS_DETPACK,
CLASS_MANCANNON,
CLASS_GREN, // Normal gren
CLASS_GREN_EMP, // Emp greande
CLASS_GREN_NAIL, // Nail grenade
CLASS_GREN_MIRV, // Mirv grenade
CLASS_GREN_MIRVLET, // Mirvlet (from mirv gren)
CLASS_GREN_NAPALM, // Napalm grenade
CLASS_GREN_GAS, // Gas grenade
CLASS_GREN_CONC, // Conc grenade
CLASS_GREN_LASER,
CLASS_GREN_SLOWFIELD,
// END: Added by Mulchman
//-- Added by L0ki --
CLASS_PIPEBOMB,
CLASS_GLGRENADE,
//-------------------
// 0000936
CLASS_IC_ROCKET,
CLASS_RAIL_PROJECTILE,
CLASS_ROCKET,
CLASS_TURRET,
CLASS_BACKPACK,
CLASS_INFOSCRIPT,
CLASS_TRIGGER_CLIP,
CLASS_TRIGGERSCRIPT,
CLASS_TEAMSPAWN,
NUM_AI_CLASSES
};
// END: Added by Mulchman
enum CollideType_t
{
ENTITY_SHOULD_NOT_COLLIDE = 0,
ENTITY_SHOULD_COLLIDE,
ENTITY_SHOULD_RESPOND,
// HACKHACK: Fix to allow laser beam to shine off ragdolls
ENTITY_SHOULD_COLLIDE_RESPOND
};
class VarMapEntry_t
180181182183184185186187188
DECLARE_CLIENTCLASS();
DECLARE_PREDICTABLE();
C_BaseEntity();
virtual ~C_BaseEntity();
static C_BaseEntity *CreatePredictedEntityByName( const char *classname, const char *module, int line, bool persist = false );
// FireBullets uses shared code for prediction.
227228229230231232233234235236237238239
DECLARE_CLIENTCLASS();
DECLARE_PREDICTABLE();
void PrintDeleteInfo();
C_BaseEntity();
virtual ~C_BaseEntity();
virtual Class_T Classify( void ) { return CLASS_NONE; }
static C_BaseEntity *CreatePredictedEntityByName( const char *classname, const char *module, int line, bool persist = false );
// FireBullets uses shared code for prediction.
307308309310311312
C_BaseEntity *GetEffectEntity( void ) const;
void SetEffectEntity( C_BaseEntity *pEffectEnt );
// This function returns a value that scales all damage done by this entity.
// Use CDamageModifier to hook in damage modifiers on a guy.
virtual float GetAttackDamageScale( void );
358359360361362363364365366367
C_BaseEntity *GetEffectEntity( void ) const;
void SetEffectEntity( C_BaseEntity *pEffectEnt );
// specifies if this entity can collide with its owner entity
virtual bool CanClipOwnerEntity() const { return false; }
virtual bool CanClipPlayer() const { return true; }
// This function returns a value that scales all damage done by this entity.
// Use CDamageModifier to hook in damage modifiers on a guy.
virtual float GetAttackDamageScale( void );
542543544545546547548
// Team handling
virtual C_Team *GetTeam( void );
virtual int GetTeamNumber( void );
virtual void ChangeTeam( int iTeamNum ); // Assign this entity to a team.
virtual int GetRenderTeamNumber( void );
virtual bool InSameTeam( C_BaseEntity *pEntity ); // Returns true if the specified entity is on the same team as this one
597598599600601602603
// Team handling
virtual C_Team *GetTeam( void );
virtual int GetTeamNumber( void ) const;
virtual void ChangeTeam( int iTeamNum ); // Assign this entity to a team.
virtual int GetRenderTeamNumber( void );
virtual bool InSameTeam( C_BaseEntity *pEntity ); // Returns true if the specified entity is on the same team as this one
554555556557558559560561562
// See CSoundEmitterSystem
void EmitSound( const char *soundname, float soundtime = 0.0f, float *duration = NULL ); // Override for doing the general case of CPASAttenuationFilter( this ), and EmitSound( filter, entindex(), etc. );
void EmitSound( const char *soundname, HSOUNDSCRIPTHANDLE& handle, float soundtime = 0.0f, float *duration = NULL ); // Override for doing the general case of CPASAttenuationFilter( this ), and EmitSound( filter, entindex(), etc. );
void StopSound( const char *soundname );
void StopSound( const char *soundname, HSOUNDSCRIPTHANDLE& handle );
void GenderExpandString( char const *in, char *out, int maxlen );
static float GetSoundDuration( const char *soundname, char const *actormodel );
609610611612613614615616617618619
// See CSoundEmitterSystem
void EmitSound( const char *soundname, float soundtime = 0.0f, float *duration = NULL ); // Override for doing the general case of CPASAttenuationFilter( this ), and EmitSound( filter, entindex(), etc. );
void EmitSoundShared( const char *soundname, float soundtime = 0.0f, float *duration = NULL ); // Override for doing the general case of CPASAttenuationFilter( this ), and EmitSound( filter, entindex(), etc. );
void EmitSound( const char *soundname, HSOUNDSCRIPTHANDLE& handle, float soundtime = 0.0f, float *duration = NULL ); // Override for doing the general case of CPASAttenuationFilter( this ), and EmitSound( filter, entindex(), etc. );
void StopSound( const char *soundname );
void StopSound( const char *soundname, HSOUNDSCRIPTHANDLE& handle );
void StopSoundInChannel( const char *soundname, HSOUNDSCRIPTHANDLE& handle, const int channel ); // Jon: for AC stuff
void GenderExpandString( char const *in, char *out, int maxlen );
static float GetSoundDuration( const char *soundname, char const *actormodel );
567568569570571572
static void EmitSound( IRecipientFilter& filter, int iEntIndex, const char *soundname, const Vector *pOrigin = NULL, float soundtime = 0.0f, float *duration = NULL );
static void EmitSound( IRecipientFilter& filter, int iEntIndex, const char *soundname, HSOUNDSCRIPTHANDLE& handle, const Vector *pOrigin = NULL, float soundtime = 0.0f, float *duration = NULL );
static void StopSound( int iEntIndex, const char *soundname );
static soundlevel_t LookupSoundLevel( const char *soundname );
static soundlevel_t LookupSoundLevel( const char *soundname, HSOUNDSCRIPTHANDLE& handle );
624625626627628629630
static void EmitSound( IRecipientFilter& filter, int iEntIndex, const char *soundname, const Vector *pOrigin = NULL, float soundtime = 0.0f, float *duration = NULL );
static void EmitSound( IRecipientFilter& filter, int iEntIndex, const char *soundname, HSOUNDSCRIPTHANDLE& handle, const Vector *pOrigin = NULL, float soundtime = 0.0f, float *duration = NULL );
static void StopSound( int iEntIndex, const char *soundname );
static void StopSoundInChannel( int iEntIndex, const char *soundname, const int channel ); // Jon: for AC stuff
static soundlevel_t LookupSoundLevel( const char *soundname );
static soundlevel_t LookupSoundLevel( const char *soundname, HSOUNDSCRIPTHANDLE& handle );
790791792793794795
virtual void ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName );
virtual bool ShouldPredict( void ) { return false; };
// interface function pointers
void (C_BaseEntity::*m_pfnThink)(void);
virtual void Think( void )
848849850851852853854
virtual void ImpactTrace( trace_t *pTrace, int iDamageType, char *pCustomImpactName );
virtual bool ShouldPredict( void ) { return false; };
// interface function pointers
void (C_BaseEntity::*m_pfnThink)(void);
virtual void Think( void )
1250125112521253125412551256125712581259
// Object model index
short m_nModelIndex;
char m_takedamage;
char m_lifeState;
int m_iHealth;
// was pev->speed
float m_flSpeed;
130913101311131213131314131513161317131813191320132113221323
// Object model index
short m_nModelIndex;
unsigned char m_takedamage;
char m_lifeState;
int m_iHealth;
// BEG: Added by Mulchman
int m_iMaxHealth;
int m_iArmor;
int m_iMaxArmor;
// END: Added by Mulchman
// was pev->speed
float m_flSpeed;