From 22ae6a2c59b90eb92f85b9257db44bf92efbf624 Mon Sep 17 00:00:00 2001 From: s1lentq Date: Thu, 21 Apr 2016 07:00:02 +0600 Subject: [PATCH] Regamedll API WIP: Added new api functions --- regamedll/dlls/animating.cpp | 4 +- regamedll/dlls/cbase.h | 1 + regamedll/dlls/gamerules.h | 2 - regamedll/dlls/multiplay_gamerules.cpp | 3 +- regamedll/extra/cssdk/dlls/gamerules.h | 2 - regamedll/extra/cssdk/dlls/osconfig.h | 5 + regamedll/extra/cssdk/dlls/regamedll_api.h | 78 +++- .../extra/cssdk/dlls/regamedll_interfaces.h | 410 +++++++++--------- regamedll/hookers/hooker_impl.cpp | 2 +- regamedll/public/regamedll/osconfig.h | 9 +- regamedll/public/regamedll/regamedll_api.h | 13 +- .../public/regamedll/regamedll_interfaces.h | 404 ++++++++--------- regamedll/regamedll/regamedll_api_impl.cpp | 31 +- regamedll/regamedll/regamedll_api_impl.h | 17 +- .../regamedll/regamedll_interfaces_impl.cpp | 7 +- .../regamedll/regamedll_interfaces_impl.h | 2 + 16 files changed, 547 insertions(+), 443 deletions(-) diff --git a/regamedll/dlls/animating.cpp b/regamedll/dlls/animating.cpp index fcfcee6d..d341d804 100644 --- a/regamedll/dlls/animating.cpp +++ b/regamedll/dlls/animating.cpp @@ -101,7 +101,9 @@ int CBaseAnimating::LookupSequence(const char *label) return ::LookupSequence(pmodel, label); } -void CBaseAnimating::ResetSequenceInfo() +LINK_HOOK_CLASS_VOID_CHAIN2(CBaseAnimating, ResetSequenceInfo) + +void CBaseAnimating::__API_HOOK(ResetSequenceInfo)() { void *pmodel = GET_MODEL_PTR(ENT(pev)); diff --git a/regamedll/dlls/cbase.h b/regamedll/dlls/cbase.h index 62eda91a..f66ab730 100644 --- a/regamedll/dlls/cbase.h +++ b/regamedll/dlls/cbase.h @@ -493,6 +493,7 @@ public: int LookupActivityHeaviest(int activity); int LookupSequence(const char *label); void ResetSequenceInfo(); + void ResetSequenceInfo_(); void DispatchAnimEvents(float flFutureInterval = 0.1f); // Handle events that have happend since last time called up until X seconds into the future float SetBoneController(int iController, float flValue = 0.0f); void InitBoneControllers(); diff --git a/regamedll/dlls/gamerules.h b/regamedll/dlls/gamerules.h index 9ed06795..8eb955a6 100644 --- a/regamedll/dlls/gamerules.h +++ b/regamedll/dlls/gamerules.h @@ -34,8 +34,6 @@ #include "game_shared/voice_gamemgr.h" -#define COM_TOKEN_LEN 1500 - #define MAX_RULE_BUFFER 1024 #define MAX_VOTE_MAPS 100 #define MAX_VIP_QUEUES 5 diff --git a/regamedll/dlls/multiplay_gamerules.cpp b/regamedll/dlls/multiplay_gamerules.cpp index b22d6225..37c6c258 100644 --- a/regamedll/dlls/multiplay_gamerules.cpp +++ b/regamedll/dlls/multiplay_gamerules.cpp @@ -5,7 +5,7 @@ */ #ifndef HOOK_GAMEDLL -static char mp_com_token[ COM_TOKEN_LEN ]; +static char mp_com_token[ 1500 ]; cvar_t *sv_clienttrace = NULL; #endif @@ -3461,7 +3461,6 @@ BOOL CHalfLifeMultiplay::__MAKE_VHOOK(FPlayerCanRespawn)(CBasePlayer *pPlayer) m_iNumCT = CountTeamPlayers(CT); m_iNumTerrorist = CountTeamPlayers(TERRORIST); - if (m_iNumTerrorist > 0 && m_iNumCT > 0) { // If this player just connected and fadetoblack is on, then maybe diff --git a/regamedll/extra/cssdk/dlls/gamerules.h b/regamedll/extra/cssdk/dlls/gamerules.h index 114641c5..c4914fd3 100644 --- a/regamedll/extra/cssdk/dlls/gamerules.h +++ b/regamedll/extra/cssdk/dlls/gamerules.h @@ -29,8 +29,6 @@ #include "voice_gamemgr.h" -#define COM_TOKEN_LEN 1500 - #define MAX_RULE_BUFFER 1024 #define MAX_VOTE_MAPS 100 #define MAX_VIP_QUEUES 5 diff --git a/regamedll/extra/cssdk/dlls/osconfig.h b/regamedll/extra/cssdk/dlls/osconfig.h index b92c99b2..1d956a68 100644 --- a/regamedll/extra/cssdk/dlls/osconfig.h +++ b/regamedll/extra/cssdk/dlls/osconfig.h @@ -151,6 +151,11 @@ // It's usually defined to something like "__stdcall". #else // _WIN32 + #ifdef __FUNCTION__ + #undef __FUNCTION__ + #endif + #define __FUNCTION__ __func__ + #ifndef PAGESIZE #define PAGESIZE 4096 #endif diff --git a/regamedll/extra/cssdk/dlls/regamedll_api.h b/regamedll/extra/cssdk/dlls/regamedll_api.h index 19ec58d0..ef3a47dc 100644 --- a/regamedll/extra/cssdk/dlls/regamedll_api.h +++ b/regamedll/extra/cssdk/dlls/regamedll_api.h @@ -51,8 +51,8 @@ typedef IHookChain IReGameHook_CBasePlayer_Classify; typedef IHookChainRegistryClass IReGameHookRegistry_CBasePlayer_Classify; // CBasePlayer::TraceAttack hook -typedef IVoidHookChain IReGameHook_CBasePlayer_TraceAttack; -typedef IVoidHookChainRegistryClass IReGameHookRegistry_CBasePlayer_TraceAttack; +typedef IVoidHookChain IReGameHook_CBasePlayer_TraceAttack; +typedef IVoidHookChainRegistryClass IReGameHookRegistry_CBasePlayer_TraceAttack; // CBasePlayer::TakeDamage hook typedef IHookChain IReGameHook_CBasePlayer_TakeDamage; @@ -123,20 +123,53 @@ typedef IVoidHookChain IReGameHook_CBasePlayer_Blind; typedef IVoidHookChainRegistryClass IReGameHookRegistry_CBasePlayer_Blind; - - - - - - -// Observer_IsValidTarget hook +// CBasePlayer::Observer_IsValidTarget hook typedef IHookChain IReGameHook_CBasePlayer_Observer_IsValidTarget; typedef IHookChainRegistryClass IReGameHookRegistry_CBasePlayer_Observer_IsValidTarget; +// CBasePlayer::SetAnimation hook +typedef IVoidHookChain IReGameHook_CBasePlayer_SetAnimation; +typedef IVoidHookChainRegistryClass IReGameHookRegistry_CBasePlayer_SetAnimation; + +// CBasePlayer::GiveDefaultItems hook +typedef IVoidHookChain<> IReGameHook_CBasePlayer_GiveDefaultItems; +typedef IVoidHookChainRegistryClass IReGameHookRegistry_CBasePlayer_GiveDefaultItems; + +// CBasePlayer::GiveNamedItem hook +typedef IVoidHookChain IReGameHook_CBasePlayer_GiveNamedItem; +typedef IVoidHookChainRegistryClass IReGameHookRegistry_CBasePlayer_GiveNamedItem; + +// CBasePlayer::AddAccount hook +typedef IVoidHookChain IReGameHook_CBasePlayer_AddAccount; +typedef IVoidHookChainRegistryClass IReGameHookRegistry_CBasePlayer_AddAccount; + +// CBasePlayer::GiveShield hook +typedef IVoidHookChain IReGameHook_CBasePlayer_GiveShield; +typedef IVoidHookChainRegistryClass IReGameHookRegistry_CBasePlayer_GiveShield; + + + + +// CBaseAnimating::ResetSequenceInfo hook +typedef IVoidHookChain<> IReGameHook_CBaseAnimating_ResetSequenceInfo; +typedef IVoidHookChainRegistryClass IReGameHookRegistry_CBaseAnimating_ResetSequenceInfo; + + + + + // GetForceCamera hook typedef IHookChain IReGameHook_GetForceCamera; typedef IHookChainRegistry IReGameHookRegistry_GetForceCamera; +// PlayerBlind hook +typedef IVoidHookChain IReGameHook_PlayerBlind; +typedef IVoidHookChainRegistry IReGameHookRegistry_PlayerBlind; + +// RadiusFlash_TraceLine hook +typedef IVoidHookChain IReGameHook_RadiusFlash_TraceLine; +typedef IVoidHookChainRegistry IReGameHookRegistry_RadiusFlash_TraceLine; + class IReGameHookchains { public: virtual ~IReGameHookchains() {} @@ -164,23 +197,38 @@ public: virtual IReGameHookRegistry_CBasePlayer_RoundRespawn* CBasePlayer_RoundRespawn() = 0; virtual IReGameHookRegistry_CBasePlayer_Blind* CBasePlayer_Blind() = 0; - - - - - virtual IReGameHookRegistry_CBasePlayer_Observer_IsValidTarget* CBasePlayer_Observer_IsValidTarget() = 0; + virtual IReGameHookRegistry_CBasePlayer_SetAnimation* CBasePlayer_SetAnimation() = 0; + virtual IReGameHookRegistry_CBasePlayer_GiveDefaultItems* CBasePlayer_GiveDefaultItems() = 0; + virtual IReGameHookRegistry_CBasePlayer_GiveNamedItem* CBasePlayer_GiveNamedItem() = 0; + virtual IReGameHookRegistry_CBasePlayer_AddAccount* CBasePlayer_AddAccount() = 0; + virtual IReGameHookRegistry_CBasePlayer_GiveShield* CBasePlayer_GiveShield() = 0; + + + virtual IReGameHookRegistry_CBaseAnimating_ResetSequenceInfo* CBaseAnimating_ResetSequenceInfo() = 0; + + virtual IReGameHookRegistry_GetForceCamera* GetForceCamera() = 0; + virtual IReGameHookRegistry_PlayerBlind* PlayerBlind() = 0; + virtual IReGameHookRegistry_RadiusFlash_TraceLine* RadiusFlash_TraceLine() = 0; }; struct ReGameFuncs_t { class CBaseEntity *(*UTIL_PlayerByIndex)(int playerIndex); class ICSPlayer *(*CBASE_TO_CSPLAYER)(class CBaseEntity *pEntity); - class ICSEntity *(*CBASE_TO_CSENTITY)(CBaseEntity *pEntity); + class ICSEntity *(*CBASE_TO_CSENTITY)(class CBaseEntity *pEntity); class ICSPlayer *(*INDEX_TO_CSPLAYER)(int iPlayerIndex); class ICSEntity *(*INDEX_TO_CSENTITY)(int iEntityIndex); struct edict_s *(*CREATE_NAMED_ENTITY2)(string_t iClass); + + void (*ChangeString)(char *&dest, const char *source); + + void (*RadiusDamage)(Vector vecSrc, entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, float flRadius, int iClassIgnore, int bitsDamageType); + void (*ClearMultiDamage)(); + void (*ApplyMultiDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker); + void (*AddMultiDamage)(entvars_t *pevInflictor, CBaseEntity *pEntity, float flDamage, int bitsDamageType); + }; class IReGameApi { diff --git a/regamedll/extra/cssdk/dlls/regamedll_interfaces.h b/regamedll/extra/cssdk/dlls/regamedll_interfaces.h index f3a5c087..6c411cd1 100644 --- a/regamedll/extra/cssdk/dlls/regamedll_interfaces.h +++ b/regamedll/extra/cssdk/dlls/regamedll_interfaces.h @@ -118,23 +118,25 @@ public: public: virtual struct entvars_s *GetEntVars() const = 0; virtual class CBaseEntity *GetEntity() const = 0; + virtual void FireBullets(int iShots, Vector vecSrc, Vector vecDirShooting, Vector vecSpread, float flDistance, int iBulletType, int iTracerFreq, int iDamage, entvars_t *pevAttacker) = 0; + virtual Vector FireBullets3(Vector vecSrc, Vector vecDirShooting, float vecSpread, float flDistance, int iPenetration, int iBulletType, int iDamage, float flRangeModifier, entvars_t *pevAttacker, bool bPistol, int shared_rand) = 0; }; -class ICSDelay: public virtual ICSEntity { +class ICSDelay: public ICSEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; virtual int Restore(CRestore &restore) = 0; }; -class ICSAnimating: public virtual ICSDelay { +class ICSAnimating: public ICSDelay { public: virtual int Save(CSave &save) = 0; virtual int Restore(CRestore &restore) = 0; virtual void HandleAnimEvent(struct MonsterEvent_s *pEvent) = 0; }; -class ICSPlayerItem: public virtual ICSAnimating { +class ICSPlayerItem: public ICSAnimating { public: virtual int Save(CSave &save) = 0; virtual int Restore(CRestore &restore) = 0; @@ -163,7 +165,7 @@ public: virtual int iItemSlot() = 0; }; -class ICSPlayerWeapon: public virtual ICSPlayerItem { +class ICSPlayerWeapon: public ICSPlayerItem { public: virtual int Save(CSave &save) = 0; virtual int Restore(CRestore &restore) = 0; @@ -194,7 +196,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSToggle: public virtual ICSAnimating { +class ICSToggle: public ICSAnimating { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; @@ -203,7 +205,7 @@ public: virtual float GetDelay() = 0; }; -class ICSMonster: public virtual ICSToggle { +class ICSMonster: public ICSToggle { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void TraceAttack(struct entvars_s *pevAttacker, float flDamage, Vector vecDir, struct TraceResult *ptr, int bitsDamageType) = 0; @@ -231,7 +233,7 @@ public: virtual bool FInViewCone(const Vector *pOrigin) = 0; }; -class ICSWeaponBox: public virtual ICSEntity { +class ICSWeaponBox: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -242,7 +244,7 @@ public: virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSArmoury: public virtual ICSEntity { +class ICSArmoury: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -250,7 +252,7 @@ public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSPlayer: public virtual ICSMonster { +class ICSPlayer: public ICSMonster { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -293,9 +295,15 @@ public: virtual void OnTouchingWeapon(CCSWeaponBox *pWeapon) = 0; public: virtual bool IsConnected() const = 0; + + virtual void SetAnimation(PLAYER_ANIM playerAnim) = 0; + virtual void AddAccount(int amount, bool bTrackChange = true) = 0; + virtual void GiveNamedItem(const char *pszName) = 0; + virtual void GiveDefaultItems() = 0; + virtual void GiveShield(bool bDeploy = true) = 0; }; -class IAPI_Bot: public virtual ICSPlayer { +class IAPI_Bot: public ICSPlayer { public: virtual void Spawn() = 0; virtual int TakeDamage(struct entvars_s *pevInflictor, struct entvars_s *pevAttacker, float flDamage, int bitsDamageType) = 0; @@ -334,7 +342,7 @@ public: virtual void SetModel(const char *modelName) = 0; }; -class IAPI_CSBot: public virtual IAPI_Bot { +class IAPI_CSBot: public IAPI_Bot { public: virtual int TakeDamage(struct entvars_s *pevInflictor, struct entvars_s *pevAttacker, float flDamage, int bitsDamageType) = 0; virtual void Killed(struct entvars_s *pevAttacker, int iGib) = 0; @@ -353,48 +361,48 @@ public: virtual bool IsEnemyPartVisible(VisiblePartTypeBot part) const = 0; }; -class ICSShield: public virtual ICSEntity { +class ICSShield: public ICSEntity { public: virtual void Spawn() = 0; virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSDeadHEV: public virtual ICSMonster { +class ICSDeadHEV: public ICSMonster { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Classify() = 0; }; -class ICSSprayCan: public virtual ICSEntity { +class ICSSprayCan: public ICSEntity { public: virtual void Think() = 0; virtual int ObjectCaps() = 0; }; -class ICSBloodSplat: public virtual ICSEntity { +class ICSBloodSplat: public ICSEntity { public: }; -class ICSWorld: public virtual ICSEntity { +class ICSWorld: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSDecal: public virtual ICSEntity { +class ICSDecal: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSCorpse: public virtual ICSEntity { +class ICSCorpse: public ICSEntity { public: virtual int ObjectCaps() = 0; }; -class ICSGrenade: public virtual ICSMonster { +class ICSGrenade: public ICSMonster { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -406,7 +414,7 @@ public: virtual void BounceSound() = 0; }; -class ICSAirtank: public virtual ICSGrenade { +class ICSAirtank: public ICSGrenade { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -416,116 +424,116 @@ public: virtual int BloodColor() = 0; }; -class ICSPlayerAmmo: public virtual ICSEntity { +class ICSPlayerAmmo: public ICSEntity { public: virtual void Spawn() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; virtual ICSEntity *Respawn() = 0; }; -class ICS9MMAmmo: public virtual ICSPlayerAmmo { +class ICS9MMAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICSBuckShotAmmo: public virtual ICSPlayerAmmo { +class ICSBuckShotAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS556NatoAmmo: public virtual ICSPlayerAmmo { +class ICS556NatoAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS556NatoBoxAmmo: public virtual ICSPlayerAmmo { +class ICS556NatoBoxAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS762NatoAmmo: public virtual ICSPlayerAmmo { +class ICS762NatoAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS45ACPAmmo: public virtual ICSPlayerAmmo { +class ICS45ACPAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS50AEAmmo: public virtual ICSPlayerAmmo { +class ICS50AEAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS338MagnumAmmo: public virtual ICSPlayerAmmo { +class ICS338MagnumAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS57MMAmmo: public virtual ICSPlayerAmmo { +class ICS57MMAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS357SIGAmmo: public virtual ICSPlayerAmmo { +class ICS357SIGAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICSFuncWall: public virtual ICSEntity { +class ICSFuncWall: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncWallToggle: public virtual ICSFuncWall { +class ICSFuncWallToggle: public ICSFuncWall { public: virtual void Spawn() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncConveyor: public virtual ICSFuncWall { +class ICSFuncConveyor: public ICSFuncWall { public: virtual void Spawn() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncIllusionary: public virtual ICSToggle { +class ICSFuncIllusionary: public ICSToggle { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int ObjectCaps() = 0; }; -class ICSFuncMonsterClip: public virtual ICSFuncWall { +class ICSFuncMonsterClip: public ICSFuncWall { public: virtual void Spawn() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncRotating: public virtual ICSEntity { +class ICSFuncRotating: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -536,7 +544,7 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSPendulum: public virtual ICSEntity { +class ICSPendulum: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -547,24 +555,24 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSPointEntity: public virtual ICSEntity { +class ICSPointEntity: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; }; -class ICSStripWeapons: public virtual ICSPointEntity { +class ICSStripWeapons: public ICSPointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSInfoIntermission: public virtual ICSPointEntity { +class ICSInfoIntermission: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void Think() = 0; }; -class ICSRevertSaved: public virtual ICSPointEntity { +class ICSRevertSaved: public ICSPointEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; @@ -572,7 +580,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSEnvGlobal: public virtual ICSPointEntity { +class ICSEnvGlobal: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -581,7 +589,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSMultiSource: public virtual ICSPointEntity { +class ICSMultiSource: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -592,7 +600,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSButton: public virtual ICSToggle { +class ICSButton: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -603,12 +611,12 @@ public: virtual int ObjectCaps() = 0; }; -class ICSRotButton: public virtual ICSButton { +class ICSRotButton: public ICSButton { public: virtual void Spawn() = 0; }; -class ICSMomentaryRotButton: public virtual ICSToggle { +class ICSMomentaryRotButton: public ICSToggle { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -618,7 +626,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSEnvSpark: public virtual ICSEntity { +class ICSEnvSpark: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -627,7 +635,7 @@ public: virtual int Restore(CRestore &restore) = 0; }; -class ICSButtonTarget: public virtual ICSEntity { +class ICSButtonTarget: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; @@ -635,7 +643,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSDoor: public virtual ICSToggle { +class ICSDoor: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -649,14 +657,14 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSRotDoor: public virtual ICSDoor { +class ICSRotDoor: public ICSDoor { public: virtual void Spawn() = 0; virtual void Restart() = 0; virtual void SetToggleState(int state) = 0; }; -class ICSMomentaryDoor: public virtual ICSToggle { +class ICSMomentaryDoor: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -667,12 +675,12 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGib: public virtual ICSEntity { +class ICSGib: public ICSEntity { public: virtual int ObjectCaps() = 0; }; -class ICSBubbling: public virtual ICSEntity { +class ICSBubbling: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -683,7 +691,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSBeam: public virtual ICSEntity { +class ICSBeam: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -691,7 +699,7 @@ public: virtual Vector Center() = 0; }; -class ICSLightning: public virtual ICSBeam { +class ICSLightning: public ICSBeam { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -701,7 +709,7 @@ public: virtual void Activate() = 0; }; -class ICSLaser: public virtual ICSBeam { +class ICSLaser: public ICSBeam { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -711,7 +719,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGlow: public virtual ICSPointEntity { +class ICSGlow: public ICSPointEntity { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -719,7 +727,7 @@ public: virtual void Think() = 0; }; -class ICSSprite: public virtual ICSPointEntity { +class ICSSprite: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -730,13 +738,13 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSBombGlow: public virtual ICSSprite { +class ICSBombGlow: public ICSSprite { public: virtual void Spawn() = 0; virtual void Think() = 0; }; -class ICSGibShooter: public virtual ICSDelay { +class ICSGibShooter: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -747,7 +755,7 @@ public: virtual ICSGib *CreateGib() = 0; }; -class ICSEnvShooter: public virtual ICSGibShooter { +class ICSEnvShooter: public ICSGibShooter { public: virtual void Precache() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -755,28 +763,28 @@ public: }; -class ICSTestEffect: public virtual ICSDelay { +class ICSTestEffect: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSBlood: public virtual ICSPointEntity { +class ICSBlood: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSShake: public virtual ICSPointEntity { +class ICSShake: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFade: public virtual ICSPointEntity { +class ICSFade: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -784,7 +792,7 @@ public: }; -class ICSMessage: public virtual ICSPointEntity { +class ICSMessage: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -792,27 +800,27 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSEnvFunnel: public virtual ICSDelay { +class ICSEnvFunnel: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSEnvBeverage: public virtual ICSDelay { +class ICSEnvBeverage: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSItemSoda: public virtual ICSEntity { +class ICSItemSoda: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; }; -class ICSShower: public virtual ICSEntity { +class ICSShower: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; @@ -820,7 +828,7 @@ public: virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSEnvExplosion: public virtual ICSMonster { +class ICSEnvExplosion: public ICSMonster { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -829,7 +837,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSBreakable: public virtual ICSDelay { +class ICSBreakable: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -844,7 +852,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSPushable: public virtual ICSBreakable { +class ICSPushable: public ICSBreakable { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -857,7 +865,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncTank: public virtual ICSEntity { +class ICSFuncTank: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -872,12 +880,12 @@ public: virtual Vector UpdateTargetPosition(CCSEntity *pTarget) = 0; }; -class ICSFuncTankGun: public virtual ICSFuncTank { +class ICSFuncTankGun: public ICSFuncTank { public: virtual void Fire(const Vector &barrelEnd, const Vector &forward, struct entvars_s *pevAttacker) = 0; }; -class ICSFuncTankLaser: public virtual ICSFuncTank { +class ICSFuncTankLaser: public ICSFuncTank { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; @@ -887,19 +895,19 @@ public: virtual void Fire(const Vector &barrelEnd, const Vector &forward, struct entvars_s *pevAttacker) = 0; }; -class ICSFuncTankRocket: public virtual ICSFuncTank { +class ICSFuncTankRocket: public ICSFuncTank { public: virtual void Precache() = 0; virtual void Fire(const Vector &barrelEnd, const Vector &forward, struct entvars_s *pevAttacker) = 0; }; -class ICSFuncTankMortar: public virtual ICSFuncTank { +class ICSFuncTankMortar: public ICSFuncTank { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Fire(const Vector &barrelEnd, const Vector &forward, struct entvars_s *pevAttacker) = 0; }; -class ICSFuncTankControls: public virtual ICSEntity { +class ICSFuncTankControls: public ICSEntity { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -909,7 +917,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSRecharge: public virtual ICSToggle { +class ICSRecharge: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -920,7 +928,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSCycler: public virtual ICSMonster { +class ICSCycler: public ICSMonster { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -932,17 +940,17 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGenericCycler: public virtual ICSCycler { +class ICSGenericCycler: public ICSCycler { public: virtual void Spawn() = 0; }; -class ICSCyclerProbe: public virtual ICSCycler { +class ICSCyclerProbe: public ICSCycler { public: virtual void Spawn() = 0; }; -class ICSCyclerSprite: public virtual ICSEntity { +class ICSCyclerSprite: public ICSEntity { public: virtual void Spawn() = 0; virtual void Restart() = 0; @@ -954,7 +962,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSWeaponCycler: public virtual ICSPlayerWeapon { +class ICSWeaponCycler: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual int GetItemInfo(struct ItemInfo *p) = 0; @@ -965,7 +973,7 @@ public: virtual void SecondaryAttack() = 0; }; -class ICSWreckage: public virtual ICSMonster { +class ICSWreckage: public ICSMonster { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -974,27 +982,27 @@ public: virtual void Think() = 0; }; -class ICSWorldItem: public virtual ICSEntity { +class ICSWorldItem: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSItem: public virtual ICSEntity { +class ICSItem: public ICSEntity { public: virtual void Spawn() = 0; virtual ICSEntity *Respawn() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSHealthKit: public virtual ICSItem { +class ICSHealthKit: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSWallHealth: public virtual ICSToggle { +class ICSWallHealth: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1005,63 +1013,63 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSItemSuit: public virtual ICSItem { +class ICSItemSuit: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemBattery: public virtual ICSItem { +class ICSItemBattery: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemAntidote: public virtual ICSItem { +class ICSItemAntidote: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemSecurity: public virtual ICSItem { +class ICSItemSecurity: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemLongJump: public virtual ICSItem { +class ICSItemLongJump: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemKevlar: public virtual ICSItem { +class ICSItemKevlar: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemAssaultSuit: public virtual ICSItem { +class ICSItemAssaultSuit: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemThighPack: public virtual ICSItem { +class ICSItemThighPack: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSGrenCatch: public virtual ICSEntity { +class ICSGrenCatch: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1072,7 +1080,7 @@ public: virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSFuncWeaponCheck: public virtual ICSEntity { +class ICSFuncWeaponCheck: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1081,7 +1089,7 @@ public: virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSHostage: public virtual ICSMonster { +class ICSHostage: public ICSMonster { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1093,7 +1101,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSLight: public virtual ICSPointEntity { +class ICSLight: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void Restart() = 0; @@ -1103,13 +1111,13 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSEnvLight: public virtual ICSLight { +class ICSEnvLight: public ICSLight { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSRuleEntity: public virtual ICSEntity { +class ICSRuleEntity: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1117,29 +1125,29 @@ public: virtual int Restore(CRestore &restore) = 0; }; -class ICSRulePointEntity: public virtual ICSRuleEntity { +class ICSRulePointEntity: public ICSRuleEntity { public: virtual void Spawn() = 0; }; -class ICSRuleBrushEntity: public virtual ICSRuleEntity { +class ICSRuleBrushEntity: public ICSRuleEntity { public: virtual void Spawn() = 0; }; -class ICSGameScore: public virtual ICSRulePointEntity { +class ICSGameScore: public ICSRulePointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameEnd: public virtual ICSRulePointEntity { +class ICSGameEnd: public ICSRulePointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameText: public virtual ICSRulePointEntity { +class ICSGameText: public ICSRulePointEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; @@ -1147,7 +1155,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameTeamMaster: public virtual ICSRulePointEntity { +class ICSGameTeamMaster: public ICSRulePointEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int ObjectCaps() = 0; @@ -1156,12 +1164,12 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameTeamSet: public virtual ICSRulePointEntity { +class ICSGameTeamSet: public ICSRulePointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGamePlayerZone: public virtual ICSRuleBrushEntity { +class ICSGamePlayerZone: public ICSRuleBrushEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; @@ -1169,35 +1177,35 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGamePlayerHurt: public virtual ICSRulePointEntity { +class ICSGamePlayerHurt: public ICSRulePointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameCounter: public virtual ICSRulePointEntity { +class ICSGameCounter: public ICSRulePointEntity { public: virtual void Spawn() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameCounterSet: public virtual ICSRulePointEntity { +class ICSGameCounterSet: public ICSRulePointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGamePlayerEquip: public virtual ICSRulePointEntity { +class ICSGamePlayerEquip: public ICSRulePointEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Touch(CCSEntity *pOther) = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGamePlayerTeam: public virtual ICSRulePointEntity { +class ICSGamePlayerTeam: public ICSRulePointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncMortarField: public virtual ICSToggle { +class ICSFuncMortarField: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1207,19 +1215,19 @@ public: virtual int ObjectCaps() = 0; }; -class ICSMortar: public virtual ICSGrenade { +class ICSMortar: public ICSGrenade { public: virtual void Spawn() = 0; virtual void Precache() = 0; }; -class ICSMapInfo: public virtual ICSPointEntity { +class ICSMapInfo: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSPathCorner: public virtual ICSPointEntity { +class ICSPathCorner: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1228,7 +1236,7 @@ public: virtual float GetDelay() = 0; }; -class ICSPathTrack: public virtual ICSPointEntity { +class ICSPathTrack: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1238,7 +1246,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncTrackTrain: public virtual ICSEntity { +class ICSFuncTrackTrain: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1253,13 +1261,13 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSFuncVehicleControls: public virtual ICSEntity { +class ICSFuncVehicleControls: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; }; -class ICSFuncVehicle: public virtual ICSEntity { +class ICSFuncVehicle: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1275,7 +1283,7 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSPlatTrain: public virtual ICSToggle { +class ICSPlatTrain: public ICSToggle { public: virtual void Precache() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1285,7 +1293,7 @@ public: virtual bool IsTogglePlat() = 0; }; -class ICSFuncPlat: public virtual ICSPlatTrain { +class ICSFuncPlat: public ICSPlatTrain { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1296,13 +1304,13 @@ public: virtual void HitBottom() = 0; }; -class ICSPlatTrigger: public virtual ICSEntity { +class ICSPlatTrigger: public ICSEntity { public: virtual int ObjectCaps() = 0; virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSFuncPlatRot: public virtual ICSFuncPlat { +class ICSFuncPlatRot: public ICSFuncPlat { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -1313,7 +1321,7 @@ public: virtual void HitBottom() = 0; }; -class ICSFuncTrain: public virtual ICSPlatTrain { +class ICSFuncTrain: public ICSPlatTrain { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1327,13 +1335,13 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSFuncTrainControls: public virtual ICSEntity { +class ICSFuncTrainControls: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; }; -class ICSFuncTrackChange: public virtual ICSFuncPlatRot { +class ICSFuncTrackChange: public ICSFuncPlatRot { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1351,13 +1359,13 @@ public: virtual void UpdateAutoTargets(int toggleState) = 0; }; -class ICSFuncTrackAuto: public virtual ICSFuncTrackChange { +class ICSFuncTrackAuto: public ICSFuncTrackChange { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; virtual void UpdateAutoTargets(int toggleState) = 0; }; -class ICSGunTarget: public virtual ICSMonster { +class ICSGunTarget: public ICSMonster { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -1371,7 +1379,7 @@ public: virtual Vector BodyTarget(const Vector &posSrc) = 0; }; -class ICSAmbientGeneric: public virtual ICSEntity { +class ICSAmbientGeneric: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1382,7 +1390,7 @@ public: virtual int ObjectCaps() = 0; }; -class ICSEnvSound: public virtual ICSPointEntity { +class ICSEnvSound: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1391,7 +1399,7 @@ public: virtual void Think() = 0; }; -class ICSSpeaker: public virtual ICSEntity { +class ICSSpeaker: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1401,7 +1409,7 @@ public: virtual int ObjectCaps() = 0; }; -class ICSSoundEnt: public virtual ICSEntity { +class ICSSoundEnt: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1409,7 +1417,7 @@ public: virtual void Think() = 0; }; -class ICSUSP: public virtual ICSPlayerWeapon { +class ICSUSP: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1424,7 +1432,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSMP5N: public virtual ICSPlayerWeapon { +class ICSMP5N: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1438,7 +1446,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSSG552: public virtual ICSPlayerWeapon { +class ICSSG552: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1453,7 +1461,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSAK47: public virtual ICSPlayerWeapon { +class ICSAK47: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1468,7 +1476,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSAUG: public virtual ICSPlayerWeapon { +class ICSAUG: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1483,7 +1491,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSAWP: public virtual ICSPlayerWeapon { +class ICSAWP: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1498,7 +1506,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSC4: public virtual ICSPlayerWeapon { +class ICSC4: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1514,7 +1522,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSDEAGLE: public virtual ICSPlayerWeapon { +class ICSDEAGLE: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1530,7 +1538,7 @@ public: virtual bool IsPistol() = 0; }; -class ICSFlashbang: public virtual ICSPlayerWeapon { +class ICSFlashbang: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1548,7 +1556,7 @@ public: virtual bool IsPistol() = 0; }; -class ICSG3SG1: public virtual ICSPlayerWeapon { +class ICSG3SG1: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1563,7 +1571,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSGLOCK18: public virtual ICSPlayerWeapon { +class ICSGLOCK18: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1578,7 +1586,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSHEGrenade: public virtual ICSPlayerWeapon { +class ICSHEGrenade: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1595,7 +1603,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSKnife: public virtual ICSPlayerWeapon { +class ICSKnife: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1610,7 +1618,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSM249: public virtual ICSPlayerWeapon { +class ICSM249: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1624,7 +1632,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSM3: public virtual ICSPlayerWeapon { +class ICSM3: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1638,7 +1646,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSM4A1: public virtual ICSPlayerWeapon { +class ICSM4A1: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1653,7 +1661,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSMAC10: public virtual ICSPlayerWeapon { +class ICSMAC10: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1667,7 +1675,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSP228: public virtual ICSPlayerWeapon { +class ICSP228: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1683,7 +1691,7 @@ public: virtual bool IsPistol() = 0; }; -class ICSP90: public virtual ICSPlayerWeapon { +class ICSP90: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1697,7 +1705,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSSCOUT: public virtual ICSPlayerWeapon { +class ICSSCOUT: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1712,7 +1720,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSSmokeGrenade: public virtual ICSPlayerWeapon { +class ICSSmokeGrenade: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1729,7 +1737,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSTMP: public virtual ICSPlayerWeapon { +class ICSTMP: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1743,7 +1751,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSXM1014: public virtual ICSPlayerWeapon { +class ICSXM1014: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1757,7 +1765,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSELITE: public virtual ICSPlayerWeapon { +class ICSELITE: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1771,7 +1779,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSFiveSeven: public virtual ICSPlayerWeapon { +class ICSFiveSeven: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1786,7 +1794,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSUMP45: public virtual ICSPlayerWeapon { +class ICSUMP45: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1800,7 +1808,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSSG550: public virtual ICSPlayerWeapon { +class ICSSG550: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1815,7 +1823,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSGalil: public virtual ICSPlayerWeapon { +class ICSGalil: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1830,7 +1838,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSFamas: public virtual ICSPlayerWeapon { +class ICSFamas: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1845,18 +1853,18 @@ public: virtual bool UseDecrement() = 0; }; -class ICSNullEntity: public virtual ICSEntity { +class ICSNullEntity: public ICSEntity { public: virtual void Spawn() = 0; }; -class ICSDMStart: public virtual ICSPointEntity { +class ICSDMStart: public ICSPointEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual bool IsTriggered(CCSEntity *pEntity) = 0; }; -class ICSFrictionModifier: public virtual ICSEntity { +class ICSFrictionModifier: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1865,7 +1873,7 @@ public: virtual int ObjectCaps() = 0; }; -class ICSAutoTrigger: public virtual ICSDelay { +class ICSAutoTrigger: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1876,7 +1884,7 @@ public: virtual void Think() = 0; }; -class ICSTriggerRelay: public virtual ICSDelay { +class ICSTriggerRelay: public ICSDelay { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1886,7 +1894,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSMultiManager: public virtual ICSToggle { +class ICSMultiManager: public ICSToggle { public: virtual void Spawn() = 0; virtual void Restart() = 0; @@ -1897,38 +1905,38 @@ public: virtual bool HasTarget(string_t targetname) = 0; }; -class ICSRenderFxManager: public virtual ICSEntity { +class ICSRenderFxManager: public ICSEntity { public: virtual void Spawn() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSTrigger: public virtual ICSToggle { +class ICSTrigger: public ICSToggle { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int ObjectCaps() = 0; }; -class ICSTriggerHurt: public virtual ICSTrigger { +class ICSTriggerHurt: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerMonsterJump: public virtual ICSTrigger { +class ICSTriggerMonsterJump: public ICSTrigger { public: virtual void Spawn() = 0; virtual void Think() = 0; virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSTriggerCDAudio: public virtual ICSTrigger { +class ICSTriggerCDAudio: public ICSTrigger { public: virtual void Spawn() = 0; virtual void Touch(CCSEntity *pOther) = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSTargetCDAudio: public virtual ICSPointEntity { +class ICSTargetCDAudio: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1936,27 +1944,27 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSTriggerMultiple: public virtual ICSTrigger { +class ICSTriggerMultiple: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerOnce: public virtual ICSTriggerMultiple { +class ICSTriggerOnce: public ICSTriggerMultiple { public: virtual void Spawn() = 0; }; -class ICSTriggerCounter: public virtual ICSTrigger { +class ICSTriggerCounter: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerVolume: public virtual ICSPointEntity { +class ICSTriggerVolume: public ICSPointEntity { public: virtual void Spawn() = 0; }; -class ICSFireAndDie: public virtual ICSDelay { +class ICSFireAndDie: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1964,7 +1972,7 @@ public: virtual void Think() = 0; }; -class ICSChangeLevel: public virtual ICSTrigger { +class ICSChangeLevel: public ICSTrigger { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1972,67 +1980,67 @@ public: virtual int Restore(CRestore &restore) = 0; }; -class ICSLadder: public virtual ICSTrigger { +class ICSLadder: public ICSTrigger { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSTriggerPush: public virtual ICSTrigger { +class ICSTriggerPush: public ICSTrigger { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSTriggerTeleport: public virtual ICSTrigger { +class ICSTriggerTeleport: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSBuyZone: public virtual ICSTrigger { +class ICSBuyZone: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSBombTarget: public virtual ICSTrigger { +class ICSBombTarget: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSHostageRescue: public virtual ICSTrigger { +class ICSHostageRescue: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSEscapeZone: public virtual ICSTrigger { +class ICSEscapeZone: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSVIP_SafetyZone: public virtual ICSTrigger { +class ICSVIP_SafetyZone: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerSave: public virtual ICSTrigger { +class ICSTriggerSave: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerEndSection: public virtual ICSTrigger { +class ICSTriggerEndSection: public ICSTrigger { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSTriggerGravity: public virtual ICSTrigger { +class ICSTriggerGravity: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerChangeTarget: public virtual ICSDelay { +class ICSTriggerChangeTarget: public ICSDelay { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -2042,7 +2050,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSTriggerCamera: public virtual ICSDelay { +class ICSTriggerCamera: public ICSDelay { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -2052,12 +2060,12 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSWeather: public virtual ICSTrigger { +class ICSWeather: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSClientFog: public virtual ICSEntity { +class ICSClientFog: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; diff --git a/regamedll/hookers/hooker_impl.cpp b/regamedll/hookers/hooker_impl.cpp index 4bd28a38..689312ce 100644 --- a/regamedll/hookers/hooker_impl.cpp +++ b/regamedll/hookers/hooker_impl.cpp @@ -76,7 +76,7 @@ TYPEDESCRIPTION gGlobalEntitySaveData[3]; // globals gamerules CGameRules *g_pGameRules; -char mp_com_token[ COM_TOKEN_LEN ]; +char mp_com_token[ 1500 ]; cvar_t *sv_clienttrace; // globals player.cpp diff --git a/regamedll/public/regamedll/osconfig.h b/regamedll/public/regamedll/osconfig.h index 60112626..1d956a68 100644 --- a/regamedll/public/regamedll/osconfig.h +++ b/regamedll/public/regamedll/osconfig.h @@ -124,6 +124,7 @@ #endif typedef unsigned char byte; + typedef unsigned char BYTE; typedef unsigned short uchar16; typedef wchar_t uchar32; #endif // _WIN32 @@ -198,12 +199,4 @@ // DLLEXPORT is defined, for convenience. #define C_DLLEXPORT extern "C" DLLEXPORT -#ifdef _WIN32 - static const bool __isWindows = true; - static const bool __isLinux = false; -#else - static const bool __isWindows = false; - static const bool __isLinux = true; -#endif - #define EXT_FUNC /*FORCE_STACK_ALIGN*/ diff --git a/regamedll/public/regamedll/regamedll_api.h b/regamedll/public/regamedll/regamedll_api.h index 129eec30..ef3a47dc 100644 --- a/regamedll/public/regamedll/regamedll_api.h +++ b/regamedll/public/regamedll/regamedll_api.h @@ -150,6 +150,9 @@ typedef IVoidHookChainRegistryClass IReGameHookRegistry +// CBaseAnimating::ResetSequenceInfo hook +typedef IVoidHookChain<> IReGameHook_CBaseAnimating_ResetSequenceInfo; +typedef IVoidHookChainRegistryClass IReGameHookRegistry_CBaseAnimating_ResetSequenceInfo; @@ -201,6 +204,8 @@ public: virtual IReGameHookRegistry_CBasePlayer_AddAccount* CBasePlayer_AddAccount() = 0; virtual IReGameHookRegistry_CBasePlayer_GiveShield* CBasePlayer_GiveShield() = 0; + + virtual IReGameHookRegistry_CBaseAnimating_ResetSequenceInfo* CBaseAnimating_ResetSequenceInfo() = 0; virtual IReGameHookRegistry_GetForceCamera* GetForceCamera() = 0; @@ -217,7 +222,13 @@ struct ReGameFuncs_t { class ICSEntity *(*INDEX_TO_CSENTITY)(int iEntityIndex); struct edict_s *(*CREATE_NAMED_ENTITY2)(string_t iClass); - void (*CopyString)(char *dest, const char *source); + void (*ChangeString)(char *&dest, const char *source); + + void (*RadiusDamage)(Vector vecSrc, entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, float flRadius, int iClassIgnore, int bitsDamageType); + void (*ClearMultiDamage)(); + void (*ApplyMultiDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker); + void (*AddMultiDamage)(entvars_t *pevInflictor, CBaseEntity *pEntity, float flDamage, int bitsDamageType); + }; class IReGameApi { diff --git a/regamedll/public/regamedll/regamedll_interfaces.h b/regamedll/public/regamedll/regamedll_interfaces.h index d8909389..6c411cd1 100644 --- a/regamedll/public/regamedll/regamedll_interfaces.h +++ b/regamedll/public/regamedll/regamedll_interfaces.h @@ -118,23 +118,25 @@ public: public: virtual struct entvars_s *GetEntVars() const = 0; virtual class CBaseEntity *GetEntity() const = 0; + virtual void FireBullets(int iShots, Vector vecSrc, Vector vecDirShooting, Vector vecSpread, float flDistance, int iBulletType, int iTracerFreq, int iDamage, entvars_t *pevAttacker) = 0; + virtual Vector FireBullets3(Vector vecSrc, Vector vecDirShooting, float vecSpread, float flDistance, int iPenetration, int iBulletType, int iDamage, float flRangeModifier, entvars_t *pevAttacker, bool bPistol, int shared_rand) = 0; }; -class ICSDelay: public virtual ICSEntity { +class ICSDelay: public ICSEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; virtual int Restore(CRestore &restore) = 0; }; -class ICSAnimating: public virtual ICSDelay { +class ICSAnimating: public ICSDelay { public: virtual int Save(CSave &save) = 0; virtual int Restore(CRestore &restore) = 0; virtual void HandleAnimEvent(struct MonsterEvent_s *pEvent) = 0; }; -class ICSPlayerItem: public virtual ICSAnimating { +class ICSPlayerItem: public ICSAnimating { public: virtual int Save(CSave &save) = 0; virtual int Restore(CRestore &restore) = 0; @@ -163,7 +165,7 @@ public: virtual int iItemSlot() = 0; }; -class ICSPlayerWeapon: public virtual ICSPlayerItem { +class ICSPlayerWeapon: public ICSPlayerItem { public: virtual int Save(CSave &save) = 0; virtual int Restore(CRestore &restore) = 0; @@ -194,7 +196,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSToggle: public virtual ICSAnimating { +class ICSToggle: public ICSAnimating { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; @@ -203,7 +205,7 @@ public: virtual float GetDelay() = 0; }; -class ICSMonster: public virtual ICSToggle { +class ICSMonster: public ICSToggle { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void TraceAttack(struct entvars_s *pevAttacker, float flDamage, Vector vecDir, struct TraceResult *ptr, int bitsDamageType) = 0; @@ -231,7 +233,7 @@ public: virtual bool FInViewCone(const Vector *pOrigin) = 0; }; -class ICSWeaponBox: public virtual ICSEntity { +class ICSWeaponBox: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -242,7 +244,7 @@ public: virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSArmoury: public virtual ICSEntity { +class ICSArmoury: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -250,7 +252,7 @@ public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSPlayer: public virtual ICSMonster { +class ICSPlayer: public ICSMonster { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -301,7 +303,7 @@ public: virtual void GiveShield(bool bDeploy = true) = 0; }; -class IAPI_Bot: public virtual ICSPlayer { +class IAPI_Bot: public ICSPlayer { public: virtual void Spawn() = 0; virtual int TakeDamage(struct entvars_s *pevInflictor, struct entvars_s *pevAttacker, float flDamage, int bitsDamageType) = 0; @@ -340,7 +342,7 @@ public: virtual void SetModel(const char *modelName) = 0; }; -class IAPI_CSBot: public virtual IAPI_Bot { +class IAPI_CSBot: public IAPI_Bot { public: virtual int TakeDamage(struct entvars_s *pevInflictor, struct entvars_s *pevAttacker, float flDamage, int bitsDamageType) = 0; virtual void Killed(struct entvars_s *pevAttacker, int iGib) = 0; @@ -359,48 +361,48 @@ public: virtual bool IsEnemyPartVisible(VisiblePartTypeBot part) const = 0; }; -class ICSShield: public virtual ICSEntity { +class ICSShield: public ICSEntity { public: virtual void Spawn() = 0; virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSDeadHEV: public virtual ICSMonster { +class ICSDeadHEV: public ICSMonster { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Classify() = 0; }; -class ICSSprayCan: public virtual ICSEntity { +class ICSSprayCan: public ICSEntity { public: virtual void Think() = 0; virtual int ObjectCaps() = 0; }; -class ICSBloodSplat: public virtual ICSEntity { +class ICSBloodSplat: public ICSEntity { public: }; -class ICSWorld: public virtual ICSEntity { +class ICSWorld: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSDecal: public virtual ICSEntity { +class ICSDecal: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSCorpse: public virtual ICSEntity { +class ICSCorpse: public ICSEntity { public: virtual int ObjectCaps() = 0; }; -class ICSGrenade: public virtual ICSMonster { +class ICSGrenade: public ICSMonster { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -412,7 +414,7 @@ public: virtual void BounceSound() = 0; }; -class ICSAirtank: public virtual ICSGrenade { +class ICSAirtank: public ICSGrenade { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -422,116 +424,116 @@ public: virtual int BloodColor() = 0; }; -class ICSPlayerAmmo: public virtual ICSEntity { +class ICSPlayerAmmo: public ICSEntity { public: virtual void Spawn() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; virtual ICSEntity *Respawn() = 0; }; -class ICS9MMAmmo: public virtual ICSPlayerAmmo { +class ICS9MMAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICSBuckShotAmmo: public virtual ICSPlayerAmmo { +class ICSBuckShotAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS556NatoAmmo: public virtual ICSPlayerAmmo { +class ICS556NatoAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS556NatoBoxAmmo: public virtual ICSPlayerAmmo { +class ICS556NatoBoxAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS762NatoAmmo: public virtual ICSPlayerAmmo { +class ICS762NatoAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS45ACPAmmo: public virtual ICSPlayerAmmo { +class ICS45ACPAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS50AEAmmo: public virtual ICSPlayerAmmo { +class ICS50AEAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS338MagnumAmmo: public virtual ICSPlayerAmmo { +class ICS338MagnumAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS57MMAmmo: public virtual ICSPlayerAmmo { +class ICS57MMAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICS357SIGAmmo: public virtual ICSPlayerAmmo { +class ICS357SIGAmmo: public ICSPlayerAmmo { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool AddAmmo(CCSEntity *pOther) = 0; }; -class ICSFuncWall: public virtual ICSEntity { +class ICSFuncWall: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncWallToggle: public virtual ICSFuncWall { +class ICSFuncWallToggle: public ICSFuncWall { public: virtual void Spawn() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncConveyor: public virtual ICSFuncWall { +class ICSFuncConveyor: public ICSFuncWall { public: virtual void Spawn() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncIllusionary: public virtual ICSToggle { +class ICSFuncIllusionary: public ICSToggle { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int ObjectCaps() = 0; }; -class ICSFuncMonsterClip: public virtual ICSFuncWall { +class ICSFuncMonsterClip: public ICSFuncWall { public: virtual void Spawn() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncRotating: public virtual ICSEntity { +class ICSFuncRotating: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -542,7 +544,7 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSPendulum: public virtual ICSEntity { +class ICSPendulum: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -553,24 +555,24 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSPointEntity: public virtual ICSEntity { +class ICSPointEntity: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; }; -class ICSStripWeapons: public virtual ICSPointEntity { +class ICSStripWeapons: public ICSPointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSInfoIntermission: public virtual ICSPointEntity { +class ICSInfoIntermission: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void Think() = 0; }; -class ICSRevertSaved: public virtual ICSPointEntity { +class ICSRevertSaved: public ICSPointEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; @@ -578,7 +580,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSEnvGlobal: public virtual ICSPointEntity { +class ICSEnvGlobal: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -587,7 +589,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSMultiSource: public virtual ICSPointEntity { +class ICSMultiSource: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -598,7 +600,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSButton: public virtual ICSToggle { +class ICSButton: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -609,12 +611,12 @@ public: virtual int ObjectCaps() = 0; }; -class ICSRotButton: public virtual ICSButton { +class ICSRotButton: public ICSButton { public: virtual void Spawn() = 0; }; -class ICSMomentaryRotButton: public virtual ICSToggle { +class ICSMomentaryRotButton: public ICSToggle { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -624,7 +626,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSEnvSpark: public virtual ICSEntity { +class ICSEnvSpark: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -633,7 +635,7 @@ public: virtual int Restore(CRestore &restore) = 0; }; -class ICSButtonTarget: public virtual ICSEntity { +class ICSButtonTarget: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; @@ -641,7 +643,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSDoor: public virtual ICSToggle { +class ICSDoor: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -655,14 +657,14 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSRotDoor: public virtual ICSDoor { +class ICSRotDoor: public ICSDoor { public: virtual void Spawn() = 0; virtual void Restart() = 0; virtual void SetToggleState(int state) = 0; }; -class ICSMomentaryDoor: public virtual ICSToggle { +class ICSMomentaryDoor: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -673,12 +675,12 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGib: public virtual ICSEntity { +class ICSGib: public ICSEntity { public: virtual int ObjectCaps() = 0; }; -class ICSBubbling: public virtual ICSEntity { +class ICSBubbling: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -689,7 +691,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSBeam: public virtual ICSEntity { +class ICSBeam: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -697,7 +699,7 @@ public: virtual Vector Center() = 0; }; -class ICSLightning: public virtual ICSBeam { +class ICSLightning: public ICSBeam { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -707,7 +709,7 @@ public: virtual void Activate() = 0; }; -class ICSLaser: public virtual ICSBeam { +class ICSLaser: public ICSBeam { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -717,7 +719,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGlow: public virtual ICSPointEntity { +class ICSGlow: public ICSPointEntity { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -725,7 +727,7 @@ public: virtual void Think() = 0; }; -class ICSSprite: public virtual ICSPointEntity { +class ICSSprite: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -736,13 +738,13 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSBombGlow: public virtual ICSSprite { +class ICSBombGlow: public ICSSprite { public: virtual void Spawn() = 0; virtual void Think() = 0; }; -class ICSGibShooter: public virtual ICSDelay { +class ICSGibShooter: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -753,7 +755,7 @@ public: virtual ICSGib *CreateGib() = 0; }; -class ICSEnvShooter: public virtual ICSGibShooter { +class ICSEnvShooter: public ICSGibShooter { public: virtual void Precache() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -761,28 +763,28 @@ public: }; -class ICSTestEffect: public virtual ICSDelay { +class ICSTestEffect: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSBlood: public virtual ICSPointEntity { +class ICSBlood: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSShake: public virtual ICSPointEntity { +class ICSShake: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFade: public virtual ICSPointEntity { +class ICSFade: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -790,7 +792,7 @@ public: }; -class ICSMessage: public virtual ICSPointEntity { +class ICSMessage: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -798,27 +800,27 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSEnvFunnel: public virtual ICSDelay { +class ICSEnvFunnel: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSEnvBeverage: public virtual ICSDelay { +class ICSEnvBeverage: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSItemSoda: public virtual ICSEntity { +class ICSItemSoda: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; }; -class ICSShower: public virtual ICSEntity { +class ICSShower: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; @@ -826,7 +828,7 @@ public: virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSEnvExplosion: public virtual ICSMonster { +class ICSEnvExplosion: public ICSMonster { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -835,7 +837,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSBreakable: public virtual ICSDelay { +class ICSBreakable: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -850,7 +852,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSPushable: public virtual ICSBreakable { +class ICSPushable: public ICSBreakable { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -863,7 +865,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncTank: public virtual ICSEntity { +class ICSFuncTank: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -878,12 +880,12 @@ public: virtual Vector UpdateTargetPosition(CCSEntity *pTarget) = 0; }; -class ICSFuncTankGun: public virtual ICSFuncTank { +class ICSFuncTankGun: public ICSFuncTank { public: virtual void Fire(const Vector &barrelEnd, const Vector &forward, struct entvars_s *pevAttacker) = 0; }; -class ICSFuncTankLaser: public virtual ICSFuncTank { +class ICSFuncTankLaser: public ICSFuncTank { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; @@ -893,19 +895,19 @@ public: virtual void Fire(const Vector &barrelEnd, const Vector &forward, struct entvars_s *pevAttacker) = 0; }; -class ICSFuncTankRocket: public virtual ICSFuncTank { +class ICSFuncTankRocket: public ICSFuncTank { public: virtual void Precache() = 0; virtual void Fire(const Vector &barrelEnd, const Vector &forward, struct entvars_s *pevAttacker) = 0; }; -class ICSFuncTankMortar: public virtual ICSFuncTank { +class ICSFuncTankMortar: public ICSFuncTank { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Fire(const Vector &barrelEnd, const Vector &forward, struct entvars_s *pevAttacker) = 0; }; -class ICSFuncTankControls: public virtual ICSEntity { +class ICSFuncTankControls: public ICSEntity { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -915,7 +917,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSRecharge: public virtual ICSToggle { +class ICSRecharge: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -926,7 +928,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSCycler: public virtual ICSMonster { +class ICSCycler: public ICSMonster { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -938,17 +940,17 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGenericCycler: public virtual ICSCycler { +class ICSGenericCycler: public ICSCycler { public: virtual void Spawn() = 0; }; -class ICSCyclerProbe: public virtual ICSCycler { +class ICSCyclerProbe: public ICSCycler { public: virtual void Spawn() = 0; }; -class ICSCyclerSprite: public virtual ICSEntity { +class ICSCyclerSprite: public ICSEntity { public: virtual void Spawn() = 0; virtual void Restart() = 0; @@ -960,7 +962,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSWeaponCycler: public virtual ICSPlayerWeapon { +class ICSWeaponCycler: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual int GetItemInfo(struct ItemInfo *p) = 0; @@ -971,7 +973,7 @@ public: virtual void SecondaryAttack() = 0; }; -class ICSWreckage: public virtual ICSMonster { +class ICSWreckage: public ICSMonster { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -980,27 +982,27 @@ public: virtual void Think() = 0; }; -class ICSWorldItem: public virtual ICSEntity { +class ICSWorldItem: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSItem: public virtual ICSEntity { +class ICSItem: public ICSEntity { public: virtual void Spawn() = 0; virtual ICSEntity *Respawn() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSHealthKit: public virtual ICSItem { +class ICSHealthKit: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSWallHealth: public virtual ICSToggle { +class ICSWallHealth: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1011,63 +1013,63 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSItemSuit: public virtual ICSItem { +class ICSItemSuit: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemBattery: public virtual ICSItem { +class ICSItemBattery: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemAntidote: public virtual ICSItem { +class ICSItemAntidote: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemSecurity: public virtual ICSItem { +class ICSItemSecurity: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemLongJump: public virtual ICSItem { +class ICSItemLongJump: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemKevlar: public virtual ICSItem { +class ICSItemKevlar: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemAssaultSuit: public virtual ICSItem { +class ICSItemAssaultSuit: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSItemThighPack: public virtual ICSItem { +class ICSItemThighPack: public ICSItem { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual bool MyTouch(CCSPlayer *pPlayer) = 0; }; -class ICSGrenCatch: public virtual ICSEntity { +class ICSGrenCatch: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1078,7 +1080,7 @@ public: virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSFuncWeaponCheck: public virtual ICSEntity { +class ICSFuncWeaponCheck: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1087,7 +1089,7 @@ public: virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSHostage: public virtual ICSMonster { +class ICSHostage: public ICSMonster { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1099,7 +1101,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSLight: public virtual ICSPointEntity { +class ICSLight: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void Restart() = 0; @@ -1109,13 +1111,13 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSEnvLight: public virtual ICSLight { +class ICSEnvLight: public ICSLight { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSRuleEntity: public virtual ICSEntity { +class ICSRuleEntity: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1123,29 +1125,29 @@ public: virtual int Restore(CRestore &restore) = 0; }; -class ICSRulePointEntity: public virtual ICSRuleEntity { +class ICSRulePointEntity: public ICSRuleEntity { public: virtual void Spawn() = 0; }; -class ICSRuleBrushEntity: public virtual ICSRuleEntity { +class ICSRuleBrushEntity: public ICSRuleEntity { public: virtual void Spawn() = 0; }; -class ICSGameScore: public virtual ICSRulePointEntity { +class ICSGameScore: public ICSRulePointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameEnd: public virtual ICSRulePointEntity { +class ICSGameEnd: public ICSRulePointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameText: public virtual ICSRulePointEntity { +class ICSGameText: public ICSRulePointEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; @@ -1153,7 +1155,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameTeamMaster: public virtual ICSRulePointEntity { +class ICSGameTeamMaster: public ICSRulePointEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int ObjectCaps() = 0; @@ -1162,12 +1164,12 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameTeamSet: public virtual ICSRulePointEntity { +class ICSGameTeamSet: public ICSRulePointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGamePlayerZone: public virtual ICSRuleBrushEntity { +class ICSGamePlayerZone: public ICSRuleBrushEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int Save(CSave &save) = 0; @@ -1175,35 +1177,35 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGamePlayerHurt: public virtual ICSRulePointEntity { +class ICSGamePlayerHurt: public ICSRulePointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameCounter: public virtual ICSRulePointEntity { +class ICSGameCounter: public ICSRulePointEntity { public: virtual void Spawn() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGameCounterSet: public virtual ICSRulePointEntity { +class ICSGameCounterSet: public ICSRulePointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGamePlayerEquip: public virtual ICSRulePointEntity { +class ICSGamePlayerEquip: public ICSRulePointEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Touch(CCSEntity *pOther) = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSGamePlayerTeam: public virtual ICSRulePointEntity { +class ICSGamePlayerTeam: public ICSRulePointEntity { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncMortarField: public virtual ICSToggle { +class ICSFuncMortarField: public ICSToggle { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1213,19 +1215,19 @@ public: virtual int ObjectCaps() = 0; }; -class ICSMortar: public virtual ICSGrenade { +class ICSMortar: public ICSGrenade { public: virtual void Spawn() = 0; virtual void Precache() = 0; }; -class ICSMapInfo: public virtual ICSPointEntity { +class ICSMapInfo: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSPathCorner: public virtual ICSPointEntity { +class ICSPathCorner: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1234,7 +1236,7 @@ public: virtual float GetDelay() = 0; }; -class ICSPathTrack: public virtual ICSPointEntity { +class ICSPathTrack: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1244,7 +1246,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSFuncTrackTrain: public virtual ICSEntity { +class ICSFuncTrackTrain: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1259,13 +1261,13 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSFuncVehicleControls: public virtual ICSEntity { +class ICSFuncVehicleControls: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; }; -class ICSFuncVehicle: public virtual ICSEntity { +class ICSFuncVehicle: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1281,7 +1283,7 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSPlatTrain: public virtual ICSToggle { +class ICSPlatTrain: public ICSToggle { public: virtual void Precache() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1291,7 +1293,7 @@ public: virtual bool IsTogglePlat() = 0; }; -class ICSFuncPlat: public virtual ICSPlatTrain { +class ICSFuncPlat: public ICSPlatTrain { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1302,13 +1304,13 @@ public: virtual void HitBottom() = 0; }; -class ICSPlatTrigger: public virtual ICSEntity { +class ICSPlatTrigger: public ICSEntity { public: virtual int ObjectCaps() = 0; virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSFuncPlatRot: public virtual ICSFuncPlat { +class ICSFuncPlatRot: public ICSFuncPlat { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -1319,7 +1321,7 @@ public: virtual void HitBottom() = 0; }; -class ICSFuncTrain: public virtual ICSPlatTrain { +class ICSFuncTrain: public ICSPlatTrain { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1333,13 +1335,13 @@ public: virtual void Blocked(CCSEntity *pOther) = 0; }; -class ICSFuncTrainControls: public virtual ICSEntity { +class ICSFuncTrainControls: public ICSEntity { public: virtual void Spawn() = 0; virtual int ObjectCaps() = 0; }; -class ICSFuncTrackChange: public virtual ICSFuncPlatRot { +class ICSFuncTrackChange: public ICSFuncPlatRot { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1357,13 +1359,13 @@ public: virtual void UpdateAutoTargets(int toggleState) = 0; }; -class ICSFuncTrackAuto: public virtual ICSFuncTrackChange { +class ICSFuncTrackAuto: public ICSFuncTrackChange { public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; virtual void UpdateAutoTargets(int toggleState) = 0; }; -class ICSGunTarget: public virtual ICSMonster { +class ICSGunTarget: public ICSMonster { public: virtual void Spawn() = 0; virtual int Save(CSave &save) = 0; @@ -1377,7 +1379,7 @@ public: virtual Vector BodyTarget(const Vector &posSrc) = 0; }; -class ICSAmbientGeneric: public virtual ICSEntity { +class ICSAmbientGeneric: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1388,7 +1390,7 @@ public: virtual int ObjectCaps() = 0; }; -class ICSEnvSound: public virtual ICSPointEntity { +class ICSEnvSound: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1397,7 +1399,7 @@ public: virtual void Think() = 0; }; -class ICSSpeaker: public virtual ICSEntity { +class ICSSpeaker: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1407,7 +1409,7 @@ public: virtual int ObjectCaps() = 0; }; -class ICSSoundEnt: public virtual ICSEntity { +class ICSSoundEnt: public ICSEntity { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1415,7 +1417,7 @@ public: virtual void Think() = 0; }; -class ICSUSP: public virtual ICSPlayerWeapon { +class ICSUSP: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1430,7 +1432,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSMP5N: public virtual ICSPlayerWeapon { +class ICSMP5N: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1444,7 +1446,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSSG552: public virtual ICSPlayerWeapon { +class ICSSG552: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1459,7 +1461,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSAK47: public virtual ICSPlayerWeapon { +class ICSAK47: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1474,7 +1476,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSAUG: public virtual ICSPlayerWeapon { +class ICSAUG: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1489,7 +1491,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSAWP: public virtual ICSPlayerWeapon { +class ICSAWP: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1504,7 +1506,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSC4: public virtual ICSPlayerWeapon { +class ICSC4: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1520,7 +1522,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSDEAGLE: public virtual ICSPlayerWeapon { +class ICSDEAGLE: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1536,7 +1538,7 @@ public: virtual bool IsPistol() = 0; }; -class ICSFlashbang: public virtual ICSPlayerWeapon { +class ICSFlashbang: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1554,7 +1556,7 @@ public: virtual bool IsPistol() = 0; }; -class ICSG3SG1: public virtual ICSPlayerWeapon { +class ICSG3SG1: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1569,7 +1571,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSGLOCK18: public virtual ICSPlayerWeapon { +class ICSGLOCK18: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1584,7 +1586,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSHEGrenade: public virtual ICSPlayerWeapon { +class ICSHEGrenade: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1601,7 +1603,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSKnife: public virtual ICSPlayerWeapon { +class ICSKnife: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1616,7 +1618,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSM249: public virtual ICSPlayerWeapon { +class ICSM249: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1630,7 +1632,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSM3: public virtual ICSPlayerWeapon { +class ICSM3: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1644,7 +1646,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSM4A1: public virtual ICSPlayerWeapon { +class ICSM4A1: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1659,7 +1661,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSMAC10: public virtual ICSPlayerWeapon { +class ICSMAC10: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1673,7 +1675,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSP228: public virtual ICSPlayerWeapon { +class ICSP228: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1689,7 +1691,7 @@ public: virtual bool IsPistol() = 0; }; -class ICSP90: public virtual ICSPlayerWeapon { +class ICSP90: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1703,7 +1705,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSSCOUT: public virtual ICSPlayerWeapon { +class ICSSCOUT: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1718,7 +1720,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSSmokeGrenade: public virtual ICSPlayerWeapon { +class ICSSmokeGrenade: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1735,7 +1737,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSTMP: public virtual ICSPlayerWeapon { +class ICSTMP: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1749,7 +1751,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSXM1014: public virtual ICSPlayerWeapon { +class ICSXM1014: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1763,7 +1765,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSELITE: public virtual ICSPlayerWeapon { +class ICSELITE: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1777,7 +1779,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSFiveSeven: public virtual ICSPlayerWeapon { +class ICSFiveSeven: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1792,7 +1794,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSUMP45: public virtual ICSPlayerWeapon { +class ICSUMP45: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1806,7 +1808,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSSG550: public virtual ICSPlayerWeapon { +class ICSSG550: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1821,7 +1823,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSGalil: public virtual ICSPlayerWeapon { +class ICSGalil: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1836,7 +1838,7 @@ public: virtual bool UseDecrement() = 0; }; -class ICSFamas: public virtual ICSPlayerWeapon { +class ICSFamas: public ICSPlayerWeapon { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1851,18 +1853,18 @@ public: virtual bool UseDecrement() = 0; }; -class ICSNullEntity: public virtual ICSEntity { +class ICSNullEntity: public ICSEntity { public: virtual void Spawn() = 0; }; -class ICSDMStart: public virtual ICSPointEntity { +class ICSDMStart: public ICSPointEntity { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual bool IsTriggered(CCSEntity *pEntity) = 0; }; -class ICSFrictionModifier: public virtual ICSEntity { +class ICSFrictionModifier: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1871,7 +1873,7 @@ public: virtual int ObjectCaps() = 0; }; -class ICSAutoTrigger: public virtual ICSDelay { +class ICSAutoTrigger: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1882,7 +1884,7 @@ public: virtual void Think() = 0; }; -class ICSTriggerRelay: public virtual ICSDelay { +class ICSTriggerRelay: public ICSDelay { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1892,7 +1894,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSMultiManager: public virtual ICSToggle { +class ICSMultiManager: public ICSToggle { public: virtual void Spawn() = 0; virtual void Restart() = 0; @@ -1903,38 +1905,38 @@ public: virtual bool HasTarget(string_t targetname) = 0; }; -class ICSRenderFxManager: public virtual ICSEntity { +class ICSRenderFxManager: public ICSEntity { public: virtual void Spawn() = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSTrigger: public virtual ICSToggle { +class ICSTrigger: public ICSToggle { public: virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual int ObjectCaps() = 0; }; -class ICSTriggerHurt: public virtual ICSTrigger { +class ICSTriggerHurt: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerMonsterJump: public virtual ICSTrigger { +class ICSTriggerMonsterJump: public ICSTrigger { public: virtual void Spawn() = 0; virtual void Think() = 0; virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSTriggerCDAudio: public virtual ICSTrigger { +class ICSTriggerCDAudio: public ICSTrigger { public: virtual void Spawn() = 0; virtual void Touch(CCSEntity *pOther) = 0; virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSTargetCDAudio: public virtual ICSPointEntity { +class ICSTargetCDAudio: public ICSPointEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1942,27 +1944,27 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSTriggerMultiple: public virtual ICSTrigger { +class ICSTriggerMultiple: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerOnce: public virtual ICSTriggerMultiple { +class ICSTriggerOnce: public ICSTriggerMultiple { public: virtual void Spawn() = 0; }; -class ICSTriggerCounter: public virtual ICSTrigger { +class ICSTriggerCounter: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerVolume: public virtual ICSPointEntity { +class ICSTriggerVolume: public ICSPointEntity { public: virtual void Spawn() = 0; }; -class ICSFireAndDie: public virtual ICSDelay { +class ICSFireAndDie: public ICSDelay { public: virtual void Spawn() = 0; virtual void Precache() = 0; @@ -1970,7 +1972,7 @@ public: virtual void Think() = 0; }; -class ICSChangeLevel: public virtual ICSTrigger { +class ICSChangeLevel: public ICSTrigger { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -1978,67 +1980,67 @@ public: virtual int Restore(CRestore &restore) = 0; }; -class ICSLadder: public virtual ICSTrigger { +class ICSLadder: public ICSTrigger { public: virtual void Spawn() = 0; virtual void Precache() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSTriggerPush: public virtual ICSTrigger { +class ICSTriggerPush: public ICSTrigger { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; virtual void Touch(CCSEntity *pOther) = 0; }; -class ICSTriggerTeleport: public virtual ICSTrigger { +class ICSTriggerTeleport: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSBuyZone: public virtual ICSTrigger { +class ICSBuyZone: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSBombTarget: public virtual ICSTrigger { +class ICSBombTarget: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSHostageRescue: public virtual ICSTrigger { +class ICSHostageRescue: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSEscapeZone: public virtual ICSTrigger { +class ICSEscapeZone: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSVIP_SafetyZone: public virtual ICSTrigger { +class ICSVIP_SafetyZone: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerSave: public virtual ICSTrigger { +class ICSTriggerSave: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerEndSection: public virtual ICSTrigger { +class ICSTriggerEndSection: public ICSTrigger { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; }; -class ICSTriggerGravity: public virtual ICSTrigger { +class ICSTriggerGravity: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSTriggerChangeTarget: public virtual ICSDelay { +class ICSTriggerChangeTarget: public ICSDelay { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -2048,7 +2050,7 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSTriggerCamera: public virtual ICSDelay { +class ICSTriggerCamera: public ICSDelay { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; @@ -2058,12 +2060,12 @@ public: virtual void Use(CCSEntity *pActivator, CCSEntity *pCaller, USE_TYPE useType, float value) = 0; }; -class ICSWeather: public virtual ICSTrigger { +class ICSWeather: public ICSTrigger { public: virtual void Spawn() = 0; }; -class ICSClientFog: public virtual ICSEntity { +class ICSClientFog: public ICSEntity { public: virtual void Spawn() = 0; virtual void KeyValue(struct KeyValueData_s *pkvd) = 0; diff --git a/regamedll/regamedll/regamedll_api_impl.cpp b/regamedll/regamedll/regamedll_api_impl.cpp index c468a26e..0bc09c59 100644 --- a/regamedll/regamedll/regamedll_api_impl.cpp +++ b/regamedll/regamedll/regamedll_api_impl.cpp @@ -38,7 +38,12 @@ ReGameFuncs_t g_ReGameApiFuncs = { &INDEX_TO_CSENTITY, &CREATE_NAMED_ENTITY, - &Regamedll_CopyString_api, + &Regamedll_ChangeString_api, + + &RadiusDamage_api, + &ClearMultiDamage_api, + &ApplyMultiDamage_api, + &AddMultiDamage_api, }; IReGameHookRegistry_CBasePlayer_Spawn* CReGameHookchains::CBasePlayer_Spawn() { return &m_CBasePlayer_Spawn; } @@ -72,6 +77,8 @@ IReGameHookRegistry_CBasePlayer_AddAccount* CReGameHookchains::CBasePlayer_AddAc IReGameHookRegistry_CBasePlayer_GiveShield* CReGameHookchains::CBasePlayer_GiveShield() { return &m_CBasePlayer_GiveShield; } +IReGameHookRegistry_CBaseAnimating_ResetSequenceInfo* CReGameHookchains::CBaseAnimating_ResetSequenceInfo() { return &m_CBaseAnimating_ResetSequenceInfo; } + IReGameHookRegistry_GetForceCamera* CReGameHookchains::GetForceCamera() { return &m_GetForceCamera; } IReGameHookRegistry_PlayerBlind* CReGameHookchains::PlayerBlind() { return &m_PlayerBlind; } IReGameHookRegistry_RadiusFlash_TraceLine* CReGameHookchains::RadiusFlash_TraceLine() { return &m_RadiusFlash_TraceLine; } @@ -101,7 +108,7 @@ IReGameData *CReGameApi::GetGameData() return &g_ReGameData; } -void EXT_FUNC Regamedll_CopyString_api(char *dest, const char *source) +void EXT_FUNC Regamedll_ChangeString_api(char *&dest, const char *source) { size_t len = Q_strlen(source); if (dest == nullptr || Q_strlen(dest) != len) { @@ -112,4 +119,24 @@ void EXT_FUNC Regamedll_CopyString_api(char *dest, const char *source) Q_strcpy(dest, source); } +void EXT_FUNC RadiusDamage_api(Vector vecSrc, entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, float flRadius, int iClassIgnore, int bitsDamageType) +{ + RadiusDamage(vecSrc, pevInflictor, pevAttacker, flDamage, flRadius, iClassIgnore, bitsDamageType); +} + +void EXT_FUNC ClearMultiDamage_api() +{ + ClearMultiDamage(); +} + +void EXT_FUNC ApplyMultiDamage_api(entvars_t *pevInflictor, entvars_t *pevAttacker) +{ + ApplyMultiDamage(pevInflictor, pevAttacker); +} + +void EXT_FUNC AddMultiDamage_api(entvars_t *pevInflictor, CBaseEntity *pEntity, float flDamage, int bitsDamageType) +{ + AddMultiDamage(pevInflictor, pEntity, flDamage, bitsDamageType); +} + EXPOSE_SINGLE_INTERFACE(CReGameApi, IReGameApi, VRE_GAMEDLL_API_VERSION); diff --git a/regamedll/regamedll/regamedll_api_impl.h b/regamedll/regamedll/regamedll_api_impl.h index 7207e0cb..6882054b 100644 --- a/regamedll/regamedll/regamedll_api_impl.h +++ b/regamedll/regamedll/regamedll_api_impl.h @@ -147,6 +147,11 @@ typedef IVoidHookChainRegistryClassImpl CReGameHookRegistry_C +// CBaseAnimating::ResetSequenceInfo hook +typedef IVoidHookChainClassImpl CRegameHook_CBaseAnimating_ResetSequenceInfo; +typedef IVoidHookChainRegistryClassImpl CReGameHookRegistry_CBaseAnimating_ResetSequenceInfo; + + // GetForceCamera hook typedef IHookChainImpl CReGameHook_GetForceCamera; typedef IHookChainRegistryImpl CReGameHookRegistry_GetForceCamera; @@ -193,6 +198,8 @@ public: CReGameHookRegistry_CBasePlayer_GiveShield m_CBasePlayer_GiveShield; + CReGameHookRegistry_CBaseAnimating_ResetSequenceInfo m_CBaseAnimating_ResetSequenceInfo; + CReGameHookRegistry_GetForceCamera m_GetForceCamera; CReGameHookRegistry_PlayerBlind m_PlayerBlind; CReGameHookRegistry_RadiusFlash_TraceLine m_RadiusFlash_TraceLine; @@ -229,7 +236,7 @@ public: virtual IReGameHookRegistry_CBasePlayer_GiveShield* CBasePlayer_GiveShield(); - + virtual IReGameHookRegistry_CBaseAnimating_ResetSequenceInfo* CBaseAnimating_ResetSequenceInfo(); virtual IReGameHookRegistry_GetForceCamera* GetForceCamera(); virtual IReGameHookRegistry_PlayerBlind* PlayerBlind(); @@ -251,4 +258,10 @@ public: virtual IReGameData* GetGameData(); }; -extern void Regamedll_CopyString_api(char *dest, const char *source); +void Regamedll_ChangeString_api(char *&dest, const char *source); + +void RadiusDamage_api(Vector vecSrc, entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, float flRadius, int iClassIgnore, int bitsDamageType); + +void ClearMultiDamage_api(); +void ApplyMultiDamage_api(entvars_t *pevInflictor, entvars_t *pevAttacker); +void AddMultiDamage_api(entvars_t *pevInflictor, CBaseEntity *pEntity, float flDamage, int bitsDamageType); diff --git a/regamedll/regamedll/regamedll_interfaces_impl.cpp b/regamedll/regamedll/regamedll_interfaces_impl.cpp index a7f1ba59..ac35c630 100644 --- a/regamedll/regamedll/regamedll_interfaces_impl.cpp +++ b/regamedll/regamedll/regamedll_interfaces_impl.cpp @@ -47,9 +47,6 @@ void Regamedll_AllocEntities(int maxEdicts) ADD_SERVER_COMMAND("check_ent", [](){ Regamedll_MonitorEntities(); - - //ICSPlayer *pPlayer = CSPlayer(1); - //pPlayer->Spawn(); }); #endif } @@ -113,7 +110,7 @@ ICSPlayer *EXT_FUNC CBASE_TO_CSPLAYER(CBaseEntity *pEntity) ICSPlayer *EXT_FUNC INDEX_TO_CSPLAYER(int iPlayerIndex) { - CBaseEntity *pEntity = CBaseEntity::Instance(iPlayerIndex); + CBaseEntity *pEntity = UTIL_PlayerByIndex(iPlayerIndex); return CBASE_TO_CSPLAYER(pEntity); } @@ -134,7 +131,7 @@ ICSEntity *EXT_FUNC CBASE_TO_CSENTITY(CBaseEntity *pEntity) ICSEntity *EXT_FUNC INDEX_TO_CSENTITY(int iEntityIndex) { - CBaseEntity *pEntity = CBaseEntity::Instance(iEntityIndex); + CBaseEntity *pEntity = CBaseEntity::Instance(INDEXENT(iEntityIndex)); return CBASE_TO_CSENTITY(pEntity); } diff --git a/regamedll/regamedll/regamedll_interfaces_impl.h b/regamedll/regamedll/regamedll_interfaces_impl.h index a2c0b92d..9af0bf4d 100644 --- a/regamedll/regamedll/regamedll_interfaces_impl.h +++ b/regamedll/regamedll/regamedll_interfaces_impl.h @@ -149,6 +149,8 @@ public: public: virtual entvars_t *GetEntVars() const { return m_pEntity->pev; } virtual CBaseEntity *GetEntity() const { return m_pEntity; } + virtual void FireBullets(int iShots, Vector vecSrc, Vector vecDirShooting, Vector vecSpread, float flDistance, int iBulletType, int iTracerFreq, int iDamage, entvars_t *pevAttacker) { m_pEntity->FireBullets(iShots, vecSrc, vecDirShooting, vecSpread, flDistance, iBulletType, iTracerFreq, iDamage, pevAttacker); }; + virtual Vector FireBullets3(Vector vecSrc, Vector vecDirShooting, float vecSpread, float flDistance, int iPenetration, int iBulletType, int iDamage, float flRangeModifier, entvars_t *pevAttacker, bool bPistol, int shared_rand) { return m_pEntity->FireBullets3(vecSrc, vecDirShooting, vecSpread, flDistance, iPenetration, iBulletType, iDamage, flRangeModifier, pevAttacker, bPistol, shared_rand); }; }; class CCSDelay: public CCSEntity {