Code cleanup

Hookers Refactoring
Removed __MAKE_VHOOK
Fix compilation under linux with ICC 17 (GCC 6.2)
This commit is contained in:
s1lent 2017-07-02 03:40:10 +07:00
parent 63e16f78ab
commit adaddda871
No known key found for this signature in database
GPG Key ID: 0FE401DC73916B5C
191 changed files with 8524 additions and 12451 deletions

View File

@ -4,6 +4,7 @@
#include <stdlib.h>
#include <string.h>
#include <sstream>
#include <cmath>
void Assertions::StringEquals(std::string message, std::string expected, std::string actual, const char* fileName, long lineNumber) {
if (expected != actual) {
@ -57,7 +58,7 @@ void Assertions::CharEquals(std::string message, char expected, char actual, con
}
void Assertions::DoubleEquals(std::string message, double expected, double actual, double epsilon, const char* fileName, long lineNumber) {
if (abs(expected - actual) > epsilon) {
if (std::abs(expected - actual) > epsilon) {
std::stringstream ss;
ss << message << " (expected '" << expected << "', got '" << actual << "')";
throw TestFailException(ss.str(), std::string(fileName), lineNumber);

View File

@ -154,7 +154,7 @@ void setupToolchain(NativeBinarySpec b)
])
cfg.linkerOptions.args '-no-opt-class-analysis'
cfg.compilerOptions.args '-Qoption,cpp,--treat_func_as_string_literal_cpp', '-g0', '-fno-rtti'
cfg.compilerOptions.args '-Qoption,cpp,--treat_func_as_string_literal_cpp', '-g0', '-fno-rtti', '-fno-exceptions'
cfg.projectLibpath(project, '/lib/linux32')
cfg.extraLibs 'dl', 'm', 'stdc++', 'aelf32'
}

View File

@ -15,7 +15,7 @@ TYPEDESCRIPTION CAirtank::m_SaveData[] =
LINK_ENTITY_TO_CLASS(item_airtank, CAirtank, CCSAirtank)
IMPLEMENT_SAVERESTORE(CAirtank, CGrenade)
void CAirtank::__MAKE_VHOOK(Spawn)()
void CAirtank::Spawn()
{
Precache();
@ -37,13 +37,13 @@ void CAirtank::__MAKE_VHOOK(Spawn)()
m_state = 1;
}
void CAirtank::__MAKE_VHOOK(Precache)()
void CAirtank::Precache()
{
PRECACHE_MODEL("models/w_oxygen.mdl");
PRECACHE_SOUND("doors/aliendoor3.wav");
}
void CAirtank::__MAKE_VHOOK(Killed)(entvars_t *pevAttacker, int iGib)
void CAirtank::Killed(entvars_t *pevAttacker, int iGib)
{
pev->owner = ENT(pevAttacker);

View File

@ -46,16 +46,6 @@ public:
void EXPORT TankThink();
void EXPORT TankTouch(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Killed_(entvars_t *pevAttacker, int iGib);
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[1];

View File

@ -1,19 +1,19 @@
#include "precompiled.h"
void C9MMAmmo::__MAKE_VHOOK(Spawn)()
void C9MMAmmo::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
CBasePlayerAmmo::Spawn();
}
void C9MMAmmo::__MAKE_VHOOK(Precache)()
void C9MMAmmo::Precache()
{
PRECACHE_MODEL("models/w_9mmclip.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
}
BOOL C9MMAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
BOOL C9MMAmmo::AddAmmo(CBaseEntity *pOther)
{
if (pOther->GiveAmmo(AMMO_9MM_BUY, "9mm") == -1)
{
@ -26,20 +26,20 @@ BOOL C9MMAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
LINK_ENTITY_TO_CLASS(ammo_9mm, C9MMAmmo, CCS9MMAmmo)
void CBuckShotAmmo::__MAKE_VHOOK(Spawn)()
void CBuckShotAmmo::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_shotbox.mdl");
CBasePlayerAmmo::Spawn();
}
void CBuckShotAmmo::__MAKE_VHOOK(Precache)()
void CBuckShotAmmo::Precache()
{
PRECACHE_MODEL("models/w_shotbox.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
}
BOOL CBuckShotAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
BOOL CBuckShotAmmo::AddAmmo(CBaseEntity *pOther)
{
if (pOther->GiveAmmo(AMMO_BUCKSHOT_BUY, "buckshot") == -1)
{
@ -52,20 +52,20 @@ BOOL CBuckShotAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
LINK_ENTITY_TO_CLASS(ammo_buckshot, CBuckShotAmmo, CCSBuckShotAmmo)
void C556NatoAmmo::__MAKE_VHOOK(Spawn)()
void C556NatoAmmo::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
CBasePlayerAmmo::Spawn();
}
void C556NatoAmmo::__MAKE_VHOOK(Precache)()
void C556NatoAmmo::Precache()
{
PRECACHE_MODEL("models/w_9mmclip.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
}
BOOL C556NatoAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
BOOL C556NatoAmmo::AddAmmo(CBaseEntity *pOther)
{
if (pOther->GiveAmmo(AMMO_556NATO_BUY, "556Nato") == -1)
{
@ -78,20 +78,20 @@ BOOL C556NatoAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
LINK_ENTITY_TO_CLASS(ammo_556nato, C556NatoAmmo, CCS556NatoAmmo)
void C556NatoBoxAmmo::__MAKE_VHOOK(Spawn)()
void C556NatoBoxAmmo::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
CBasePlayerAmmo::Spawn();
}
void C556NatoBoxAmmo::__MAKE_VHOOK(Precache)()
void C556NatoBoxAmmo::Precache()
{
PRECACHE_MODEL("models/w_9mmclip.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
}
BOOL C556NatoBoxAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
BOOL C556NatoBoxAmmo::AddAmmo(CBaseEntity *pOther)
{
if (pOther->GiveAmmo(AMMO_556NATOBOX_BUY, "556NatoBox") == -1)
{
@ -104,20 +104,20 @@ BOOL C556NatoBoxAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
LINK_ENTITY_TO_CLASS(ammo_556natobox, C556NatoBoxAmmo, CCS556NatoBoxAmmo)
void C762NatoAmmo::__MAKE_VHOOK(Spawn)()
void C762NatoAmmo::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
CBasePlayerAmmo::Spawn();
}
void C762NatoAmmo::__MAKE_VHOOK(Precache)()
void C762NatoAmmo::Precache()
{
PRECACHE_MODEL("models/w_9mmclip.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
}
BOOL C762NatoAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
BOOL C762NatoAmmo::AddAmmo(CBaseEntity *pOther)
{
if (pOther->GiveAmmo(AMMO_762NATO_BUY, "762Nato") == -1)
{
@ -130,20 +130,20 @@ BOOL C762NatoAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
LINK_ENTITY_TO_CLASS(ammo_762nato, C762NatoAmmo, CCS762NatoAmmo)
void C45ACPAmmo::__MAKE_VHOOK(Spawn)()
void C45ACPAmmo::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
CBasePlayerAmmo::Spawn();
}
void C45ACPAmmo::__MAKE_VHOOK(Precache)()
void C45ACPAmmo::Precache()
{
PRECACHE_MODEL("models/w_9mmclip.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
}
BOOL C45ACPAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
BOOL C45ACPAmmo::AddAmmo(CBaseEntity *pOther)
{
if (pOther->GiveAmmo(AMMO_45ACP_BUY, "45acp") == -1)
{
@ -156,20 +156,20 @@ BOOL C45ACPAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
LINK_ENTITY_TO_CLASS(ammo_45acp, C45ACPAmmo, CCS45ACPAmmo)
void C50AEAmmo::__MAKE_VHOOK(Spawn)()
void C50AEAmmo::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
CBasePlayerAmmo::Spawn();
}
void C50AEAmmo::__MAKE_VHOOK(Precache)()
void C50AEAmmo::Precache()
{
PRECACHE_MODEL("models/w_9mmclip.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
}
BOOL C50AEAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
BOOL C50AEAmmo::AddAmmo(CBaseEntity *pOther)
{
if (pOther->GiveAmmo(AMMO_50AE_BUY, "50AE") == -1)
{
@ -182,20 +182,20 @@ BOOL C50AEAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
LINK_ENTITY_TO_CLASS(ammo_50ae, C50AEAmmo, CCS50AEAmmo)
void C338MagnumAmmo::__MAKE_VHOOK(Spawn)()
void C338MagnumAmmo::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
CBasePlayerAmmo::Spawn();
}
void C338MagnumAmmo::__MAKE_VHOOK(Precache)()
void C338MagnumAmmo::Precache()
{
PRECACHE_MODEL("models/w_9mmclip.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
}
BOOL C338MagnumAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
BOOL C338MagnumAmmo::AddAmmo(CBaseEntity *pOther)
{
if (pOther->GiveAmmo(AMMO_338MAG_BUY, "338Magnum") == -1)
{
@ -208,20 +208,20 @@ BOOL C338MagnumAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
LINK_ENTITY_TO_CLASS(ammo_338magnum, C338MagnumAmmo, CCS338MagnumAmmo)
void C57MMAmmo::__MAKE_VHOOK(Spawn)()
void C57MMAmmo::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
CBasePlayerAmmo::Spawn();
}
void C57MMAmmo::__MAKE_VHOOK(Precache)()
void C57MMAmmo::Precache()
{
PRECACHE_MODEL("models/w_9mmclip.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
}
BOOL C57MMAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
BOOL C57MMAmmo::AddAmmo(CBaseEntity *pOther)
{
if (pOther->GiveAmmo(AMMO_57MM_BUY, "57mm") == -1)
{
@ -234,20 +234,20 @@ BOOL C57MMAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
LINK_ENTITY_TO_CLASS(ammo_57mm, C57MMAmmo, CCS57MMAmmo)
void C357SIGAmmo::__MAKE_VHOOK(Spawn)()
void C357SIGAmmo::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_9mmclip.mdl");
CBasePlayerAmmo::Spawn();
}
void C357SIGAmmo::__MAKE_VHOOK(Precache)()
void C357SIGAmmo::Precache()
{
PRECACHE_MODEL("models/w_9mmclip.mdl");
PRECACHE_SOUND("items/9mmclip1.wav");
}
BOOL C357SIGAmmo::__MAKE_VHOOK(AddAmmo)(CBaseEntity *pOther)
BOOL C357SIGAmmo::AddAmmo(CBaseEntity *pOther)
{
if (pOther->GiveAmmo(AMMO_357SIG_BUY, "357SIG") == -1)
{

View File

@ -38,15 +38,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL AddAmmo(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL AddAmmo_(CBaseEntity *pOther);
#endif
};
class CBuckShotAmmo: public CBasePlayerAmmo
@ -55,15 +46,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL AddAmmo(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL AddAmmo_(CBaseEntity *pOther);
#endif
};
class C556NatoAmmo: public CBasePlayerAmmo
@ -72,15 +54,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL AddAmmo(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL AddAmmo_(CBaseEntity *pOther);
#endif
};
class C556NatoBoxAmmo: public CBasePlayerAmmo
@ -89,15 +62,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL AddAmmo(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL AddAmmo_(CBaseEntity *pOther);
#endif
};
class C762NatoAmmo: public CBasePlayerAmmo
@ -106,15 +70,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL AddAmmo(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL AddAmmo_(CBaseEntity *pOther);
#endif
};
class C45ACPAmmo: public CBasePlayerAmmo
@ -123,15 +78,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL AddAmmo(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL AddAmmo_(CBaseEntity *pOther);
#endif
};
class C50AEAmmo: public CBasePlayerAmmo
@ -140,15 +86,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL AddAmmo(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL AddAmmo_(CBaseEntity *pOther);
#endif
};
class C338MagnumAmmo: public CBasePlayerAmmo
@ -157,15 +94,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL AddAmmo(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL AddAmmo_(CBaseEntity *pOther);
#endif
};
class C57MMAmmo: public CBasePlayerAmmo
@ -174,14 +102,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL AddAmmo(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL AddAmmo_(CBaseEntity *pOther);
#endif
};
class C357SIGAmmo: public CBasePlayerAmmo
@ -190,15 +110,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL AddAmmo(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL AddAmmo_(CBaseEntity *pOther);
#endif
};
#endif // AMMO_H

View File

@ -32,11 +32,11 @@
#pragma once
#endif
#define NUM_BLENDING 9
#define NUM_BLENDING 9
#define ANIM_SWIM_1 8
#define ANIM_SWIM_2 9
#define ANIM_FIRST_DEATH_SEQUENCE 101
#define ANIM_SWIM_1 8
#define ANIM_SWIM_2 9
#define ANIM_FIRST_DEATH_SEQUENCE 101
#include "monsterevent.h"

View File

@ -77,30 +77,6 @@ public:
virtual BOOL FInViewCone(CBaseEntity *pEntity);
virtual BOOL FInViewCone(const Vector *pOrigin);
#ifdef HOOK_GAMEDLL
void KeyValue_(KeyValueData *pkvd);
void TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
BOOL TakeHealth_(float flHealth, int bitsDamageType);
void Killed_(entvars_t *pevAttacker, int iGib);
float ChangeYaw_(int speed);
BOOL HasHumanGibs_();
BOOL HasAlienGibs_();
void FadeMonster_();
void GibMonster_();
Activity GetDeathActivity_();
void BecomeDead_();
BOOL ShouldFadeOnDeath_();
int IRelationship_(CBaseEntity *pTarget);
void MonsterInitDead_();
void Look_(int iDistance);
CBaseEntity *BestVisibleEnemy_();
BOOL FInViewCone_(CBaseEntity *pEntity);
BOOL FInViewCone_(const Vector *pOrigin);
#endif
public:
void MakeIdealYaw(Vector vecTarget);
Activity GetSmallFlinchActivity();
@ -134,7 +110,7 @@ public:
public:
Activity m_Activity; // what the monster is doing (animation)
Activity m_IdealActivity; // monster should switch to this activity
int m_LastHitGroup; // the last body region that took damage
int m_LastHitGroup; // the last body region that took damage
int m_bitsDamageType; // what types of damage has monster (player) taken
byte m_rgbTimeBasedDamage[8];
@ -144,10 +120,10 @@ public:
int m_afMemory;
float m_flNextAttack; // cannot attack again until this time
EHANDLE m_hEnemy; // the entity that the monster is fighting.
EHANDLE m_hEnemy; // the entity that the monster is fighting.
EHANDLE m_hTargetEnt; // the entity that the monster is trying to reach
float m_flFieldOfView; // width of monster's field of view ( dot product )
int m_bloodColor; // color of blood particless
int m_bloodColor; // color of blood particless
Vector m_HackedGunPos; // HACK until we can query end of gun
Vector m_vecEnemyLKP; // last known position of enemy. (enemy's origin)
};

View File

@ -36,7 +36,7 @@ Vector VecBModelOrigin(entvars_t *pevBModel)
LINK_ENTITY_TO_CLASS(func_wall, CFuncWall, CCSFuncWall)
void CFuncWall::__MAKE_VHOOK(Spawn)()
void CFuncWall::Spawn()
{
pev->angles = g_vecZero;
@ -50,7 +50,7 @@ void CFuncWall::__MAKE_VHOOK(Spawn)()
pev->flags |= FL_WORLDBRUSH;
}
void CFuncWall::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CFuncWall::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (ShouldToggle(useType, int(pev->frame)))
{
@ -60,7 +60,7 @@ void CFuncWall::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller,
LINK_ENTITY_TO_CLASS(func_wall_toggle, CFuncWallToggle, CCSFuncWallToggle)
void CFuncWallToggle::__MAKE_VHOOK(Spawn)()
void CFuncWallToggle::Spawn()
{
CFuncWall::Spawn();
@ -94,7 +94,7 @@ BOOL CFuncWallToggle::IsOn()
return TRUE;
}
void CFuncWallToggle::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CFuncWallToggle::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
int status = IsOn();
@ -109,7 +109,7 @@ void CFuncWallToggle::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pC
LINK_ENTITY_TO_CLASS(func_conveyor, CFuncConveyor, CCSFuncConveyor)
void CFuncConveyor::__MAKE_VHOOK(Spawn)()
void CFuncConveyor::Spawn()
{
SetMovedir(pev);
CFuncWall::Spawn();
@ -148,7 +148,7 @@ void CFuncConveyor::UpdateSpeed(float speed)
pev->rendercolor.z = (speedCode & 0xFF);
}
void CFuncConveyor::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CFuncConveyor::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
pev->speed = -pev->speed;
UpdateSpeed(pev->speed);
@ -156,7 +156,7 @@ void CFuncConveyor::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCal
LINK_ENTITY_TO_CLASS(func_illusionary, CFuncIllusionary, CCSFuncIllusionary)
void CFuncIllusionary::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CFuncIllusionary::KeyValue(KeyValueData *pkvd)
{
// skin is used for content type
if (FStrEq(pkvd->szKeyName, "skin"))
@ -168,7 +168,7 @@ void CFuncIllusionary::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CBaseToggle::KeyValue(pkvd);
}
void CFuncIllusionary::__MAKE_VHOOK(Spawn)()
void CFuncIllusionary::Spawn()
{
pev->angles = g_vecZero;
pev->movetype = MOVETYPE_NONE;
@ -186,7 +186,7 @@ void CFuncIllusionary::__MAKE_VHOOK(Spawn)()
LINK_ENTITY_TO_CLASS(func_monsterclip, CFuncMonsterClip, CCSFuncMonsterClip)
void CFuncMonsterClip::__MAKE_VHOOK(Spawn)()
void CFuncMonsterClip::Spawn()
{
CFuncWall::Spawn();
@ -201,7 +201,7 @@ void CFuncMonsterClip::__MAKE_VHOOK(Spawn)()
LINK_ENTITY_TO_CLASS(func_rotating, CFuncRotating, CCSFuncRotating)
IMPLEMENT_SAVERESTORE(CFuncRotating, CBaseEntity)
void CFuncRotating::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CFuncRotating::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "fanfriction"))
{
@ -250,7 +250,7 @@ void CFuncRotating::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
// "dmg" damage to inflict when blocked (2 default)
// REVERSE will cause the it to rotate in the opposite direction.
void CFuncRotating::__MAKE_VHOOK(Spawn)()
void CFuncRotating::Spawn()
{
#ifdef REGAMEDLL_FIXES
m_angles = pev->angles;
@ -404,7 +404,7 @@ void CFuncRotating::Restart()
}
#endif
void CFuncRotating::__MAKE_VHOOK(Precache)()
void CFuncRotating::Precache()
{
char *szSoundFile = (char *)STRING(pev->message);
@ -652,7 +652,7 @@ void CFuncRotating::RotatingUse(CBaseEntity *pActivator, CBaseEntity *pCaller, U
}
// RotatingBlocked - An entity has blocked the brush
void CFuncRotating::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
void CFuncRotating::Blocked(CBaseEntity *pOther)
{
pOther->TakeDamage(pev, pev, pev->dmg, DMG_CRUSH);
}
@ -660,7 +660,7 @@ void CFuncRotating::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
LINK_ENTITY_TO_CLASS(func_pendulum, CPendulum, CCSPendulum)
IMPLEMENT_SAVERESTORE(CPendulum, CBaseEntity)
void CPendulum::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CPendulum::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "distance"))
{
@ -676,7 +676,7 @@ void CPendulum::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CBaseEntity::KeyValue(pkvd);
}
void CPendulum::__MAKE_VHOOK(Spawn)()
void CPendulum::Spawn()
{
// set the axis of rotation
CBaseToggle::AxisDir(pev);
@ -760,7 +760,7 @@ void CPendulum::Stop()
pev->avelocity = g_vecZero;
}
void CPendulum::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
void CPendulum::Blocked(CBaseEntity *pOther)
{
m_time = gpGlobals->time;
}
@ -816,7 +816,7 @@ void CPendulum::Swing()
}
}
void CPendulum::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
void CPendulum::Touch(CBaseEntity *pOther)
{
entvars_t *pevOther = pOther->pev;

View File

@ -77,14 +77,6 @@ public:
// Bmodels don't go across transitions
virtual int ObjectCaps() { return CBaseEntity::ObjectCaps() & ~FCAP_ACROSS_TRANSITION; }
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
};
class CFuncWallToggle: public CFuncWall
@ -93,13 +85,6 @@ public:
virtual void Spawn();
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void TurnOff();
void TurnOn();
@ -112,13 +97,6 @@ public:
virtual void Spawn();
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void UpdateSpeed(float speed);
};
@ -131,13 +109,6 @@ public:
virtual void KeyValue(KeyValueData *pkvd);
virtual int ObjectCaps() { return CBaseEntity::ObjectCaps() & ~FCAP_ACROSS_TRANSITION; }
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
#endif
public:
void EXPORT SloshTouch(CBaseEntity *pOther);
};
@ -156,14 +127,6 @@ public:
// Clear out func_wall's use function
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value) {}
#ifdef HOOK_GAMEDLL
void Spawn_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
};
class CFuncRotating: public CBaseEntity
@ -182,17 +145,6 @@ public:
virtual void Restart();
#endif
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Blocked_(CBaseEntity *pOther);
#endif
public:
void EXPORT SpinUp();
void EXPORT SpinDown();
@ -227,17 +179,6 @@ public:
virtual void Touch(CBaseEntity *pOther);
virtual void Blocked(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Touch_(CBaseEntity *pOther);
void Blocked_(CBaseEntity *pOther);
#endif
public:
void EXPORT Swing();
void EXPORT PendulumUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
@ -249,7 +190,7 @@ public:
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[8];
float m_accel; // Acceleration
float m_accel; // acceleration
float m_distance;
float m_time;
float m_damp;

View File

@ -39,7 +39,7 @@ int GetBotFollowCount(CBasePlayer *leader)
}
// Change movement speed to walking
void CCSBot::__MAKE_VHOOK(Walk)()
void CCSBot::Walk()
{
if (m_mustRunTimer.IsElapsed())
{
@ -53,7 +53,7 @@ void CCSBot::__MAKE_VHOOK(Walk)()
// Return true if jump was started.
// This is extended from the base jump to disallow jumping when in a crouch area.
bool CCSBot::__MAKE_VHOOK(Jump)(bool mustJump)
bool CCSBot::Jump(bool mustJump)
{
// prevent jumping if we're crouched, unless we're in a crouchjump area - jump wins
bool inCrouchJumpArea = (m_lastKnownArea &&
@ -70,7 +70,7 @@ bool CCSBot::__MAKE_VHOOK(Jump)(bool mustJump)
// Invoked when injured by something
// NOTE: We dont want to directly call Attack() here, or the bots will have super-human reaction times when injured
BOOL CCSBot::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
BOOL CCSBot::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{
CBaseEntity *attacker = GetClassPtr<CCSEntity>((CBaseEntity *)pevInflictor);
@ -146,7 +146,7 @@ BOOL CCSBot::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAtt
}
// Invoked when killed
void CCSBot::__MAKE_VHOOK(Killed)(entvars_t *pevAttacker, int iGib)
void CCSBot::Killed(entvars_t *pevAttacker, int iGib)
{
PrintIfWatched("Killed( attacker = %s )\n", STRING(pevAttacker->netname));

View File

@ -80,13 +80,6 @@ public:
virtual void OnEnter(CCSBot *me);
virtual void OnUpdate(CCSBot *me);
virtual const char *GetName() const { return "Idle"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
#endif
};
class HuntState: public BotState
@ -97,15 +90,8 @@ public:
virtual void OnExit(CCSBot *me);
virtual const char *GetName() const { return "Hunt"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
void OnExit_(CCSBot *me);
#endif
void ClearHuntArea() { m_huntArea = NULL; }
private:
CNavArea *m_huntArea;
};
@ -118,14 +104,6 @@ public:
virtual void OnExit(CCSBot *me);
virtual const char *GetName() const { return "Attack"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
void OnExit_(CCSBot *me);
#endif
void SetCrouchAndHold(bool crouch) { m_crouchAndHold = crouch; }
void StopAttacking(CCSBot *me);
@ -164,14 +142,6 @@ public:
virtual void OnExit(CCSBot *me);
virtual const char *GetName() const { return "InvestigateNoise"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
void OnExit_(CCSBot *me);
#endif
private:
void AttendCurrentNoise(CCSBot *me);
Vector m_checkNoisePosition;
@ -185,14 +155,6 @@ public:
virtual void OnExit(CCSBot *me);
virtual const char *GetName() const { return "Buy"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
void OnExit_(CCSBot *me);
#endif
private:
bool m_isInitialDelay;
int m_prefRetries;
@ -213,14 +175,6 @@ public:
virtual void OnExit(CCSBot *me);
virtual const char *GetName() const { return "MoveTo"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
void OnExit_(CCSBot *me);
#endif
void SetGoalPosition(const Vector &pos) { m_goalPosition = pos; }
void SetRouteType(RouteType route) { m_routeType = route; }
@ -237,14 +191,6 @@ public:
virtual void OnEnter(CCSBot *me);
virtual void OnUpdate(CCSBot *me);
virtual const char *GetName() const { return "FetchBomb"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
#endif
};
class PlantBombState: public BotState
@ -254,15 +200,6 @@ public:
virtual void OnUpdate(CCSBot *me);
virtual void OnExit(CCSBot *me);
virtual const char *GetName() const { return "PlantBomb"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
void OnExit_(CCSBot *me);
#endif
};
class DefuseBombState: public BotState
@ -272,14 +209,6 @@ public:
virtual void OnUpdate(CCSBot *me);
virtual void OnExit(CCSBot *me);
virtual const char *GetName() const { return "DefuseBomb"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
void OnExit_(CCSBot *me);
#endif
};
class HideState: public BotState
@ -290,14 +219,6 @@ public:
virtual void OnExit(CCSBot *me);
virtual const char *GetName() const { return "Hide"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
void OnExit_(CCSBot *me);
#endif
public:
void SetHidingSpot(const Vector &pos) { m_hidingSpot = pos; }
const Vector &GetHidingSpot() const { return m_hidingSpot; }
@ -333,15 +254,6 @@ public:
virtual void OnUpdate(CCSBot *me);
virtual void OnExit(CCSBot *me);
virtual const char *GetName() const { return "EscapeFromBomb"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
void OnExit_(CCSBot *me);
#endif
};
class FollowState: public BotState
@ -352,19 +264,9 @@ public:
virtual void OnExit(CCSBot *me);
virtual const char *GetName() const { return "Follow"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
void OnExit_(CCSBot *me);
#endif
void SetLeader(CBaseEntity *leader) { m_leader = leader; }
#ifndef HOOK_GAMEDLL
private:
#endif
void ComputeLeaderMotionState(float leaderSpeed);
EHANDLE m_leader;
@ -402,14 +304,6 @@ public:
virtual void OnExit(CCSBot *me);
virtual const char *GetName() const { return "UseEntity"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CCSBot *me);
void OnUpdate_(CCSBot *me);
void OnExit_(CCSBot *me);
#endif
void SetEntity(CBaseEntity *entity) { m_entity = entity; }
private:
@ -422,47 +316,27 @@ class CCSBot: public CBot
public:
CCSBot(); // constructor initializes all values to zero
virtual BOOL TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType); // invoked when injured by something (EXTEND) - returns the amount of damage inflicted
virtual void Killed(entvars_t *pevAttacker, int iGib); // invoked when killed (EXTEND)
virtual void Killed(entvars_t *pevAttacker, int iGib); // invoked when killed (EXTEND)
virtual void RoundRespawn();
virtual void Blind(float duration, float holdTime, float fadeTime, int alpha = 255); // player blinded by a flashbang
virtual void OnTouchingWeapon(CWeaponBox *box); // invoked when in contact with a CWeaponBox
virtual void Blind(float duration, float holdTime, float fadeTime, int alpha = 255); // player blinded by a flashbang
virtual void OnTouchingWeapon(CWeaponBox *box); // invoked when in contact with a CWeaponBox
virtual bool Initialize(const BotProfile *profile); // (EXTEND) prepare bot for action
virtual bool Initialize(const BotProfile *profile); // (EXTEND) prepare bot for action
virtual void SpawnBot(); // (EXTEND) spawn the bot into the game
virtual void Upkeep(); // lightweight maintenance, invoked frequently
virtual void Update(); // heavyweight algorithms, invoked less often
virtual void Walk();
virtual bool Jump(bool mustJump = false); // returns true if jump was started
virtual bool Jump(bool mustJump = false); // returns true if jump was started
virtual void OnEvent(GameEventType event, CBaseEntity *entity = NULL, CBaseEntity *other = NULL); // invoked when event occurs in the game (some events have NULL entity)
#define CHECK_FOV true
virtual bool IsVisible(const Vector *pos, bool testFOV = false) const; // return true if we can see the point
virtual bool IsVisible(CBasePlayer *player, bool testFOV = false, unsigned char *visParts = NULL) const; // return true if we can see any part of the player
virtual bool IsVisible(const Vector *pos, bool testFOV = false) const; // return true if we can see the point
virtual bool IsVisible(CBasePlayer *player, bool testFOV = false, unsigned char *visParts = NULL) const; // return true if we can see any part of the player
virtual bool IsEnemyPartVisible(VisiblePartType part) const; // if enemy is visible, return the part we see for our current enemy
#ifdef HOOK_GAMEDLL
bool Initialize_(const BotProfile *profile);
void SpawnBot_();
void Upkeep_();
void Update_();
void Walk_();
bool Jump_(bool mustJump);
void Blind_(float duration, float holdTime, float fadeTime, int alpha);
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
void Killed_(entvars_t *pevAttacker, int iGib);
void OnTouchingWeapon_(CWeaponBox *box);
void OnEvent_(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
bool IsVisible_(const Vector *pos, bool testFOV) const;
bool IsVisible_(CBasePlayer *player, bool testFOV, unsigned char *visParts) const;
bool IsEnemyPartVisible_(VisiblePartType part) const;
void RoundRespawn_();
#endif
virtual bool IsEnemyPartVisible(VisiblePartType part) const; // if enemy is visible, return the part we see for our current enemy
public:
void Disconnect();
@ -488,70 +362,70 @@ public:
void Hide(const Vector *hidingSpot, float duration = -1.0f, bool holdPosition = false); // move to the given hiding place
bool IsHiding() const; // returns true if bot is currently hiding
bool IsAtHidingSpot() const; // return true if we are hiding and at our hiding spot
bool IsAtHidingSpot() const; // return true if we are hiding and at our hiding spot
bool TryToRetreat(); // retreat to a nearby hiding spot, away from enemies
void Hunt();
bool IsHunting() const; // returns true if bot is currently hunting
bool IsHunting() const; // returns true if bot is currently hunting
void Attack(CBasePlayer *victim);
void FireWeaponAtEnemy(); // fire our active weapon towards our current enemy
void FireWeaponAtEnemy(); // fire our active weapon towards our current enemy
void StopAttacking();
bool IsAttacking() const; // returns true if bot is currently engaging a target
bool IsAttacking() const; // returns true if bot is currently engaging a target
void MoveTo(const Vector *pos, RouteType route = SAFEST_ROUTE); // move to potentially distant position
bool IsMovingTo() const; // return true if we are in the MoveTo state
void MoveTo(const Vector *pos, RouteType route = SAFEST_ROUTE); // move to potentially distant position
bool IsMovingTo() const; // return true if we are in the MoveTo state
void PlantBomb();
void FetchBomb(); // bomb has been dropped - go get it
bool NoticeLooseBomb() const; // return true if we noticed the bomb on the ground or on radar
bool CanSeeLooseBomb() const; // return true if we directly see the loose bomb
bool NoticeLooseBomb() const; // return true if we noticed the bomb on the ground or on radar
bool CanSeeLooseBomb() const; // return true if we directly see the loose bomb
bool IsCarryingBomb() const;
void DefuseBomb();
bool IsDefusingBomb() const; // returns true if bot is currently defusing the bomb
bool CanSeePlantedBomb() const; // return true if we directly see the planted bomb
bool IsDefusingBomb() const; // returns true if bot is currently defusing the bomb
bool CanSeePlantedBomb() const; // return true if we directly see the planted bomb
void EscapeFromBomb();
bool IsEscapingFromBomb() const; // return true if we are escaping from the bomb
bool IsEscapingFromBomb() const; // return true if we are escaping from the bomb
void RescueHostages();
void UseEntity(CBaseEntity *entity); // use the entity
void UseEntity(CBaseEntity *entity); // use the entity
bool IsBuying() const;
void Panic(CBasePlayer *enemy); // look around in panic
void Follow(CBasePlayer *player); // begin following given Player
void ContinueFollowing(); // continue following our leader after finishing what we were doing
void StopFollowing(); // stop following
bool IsFollowing() const; // return true if we are following someone (not necessarily in the follow state)
CBasePlayer *GetFollowLeader(); // return the leader we are following
float GetFollowDuration() const; // return how long we've been following our leader
bool CanAutoFollow() const; // return true if we can auto-follow
void Panic(CBasePlayer *enemy); // look around in panic
void Follow(CBasePlayer *player); // begin following given Player
void ContinueFollowing(); // continue following our leader after finishing what we were doing
void StopFollowing(); // stop following
bool IsFollowing() const; // return true if we are following someone (not necessarily in the follow state)
CBasePlayer *GetFollowLeader(); // return the leader we are following
float GetFollowDuration() const; // return how long we've been following our leader
bool CanAutoFollow() const; // return true if we can auto-follow
bool IsNotMoving() const; // return true if we are currently standing still
bool IsNotMoving() const; // return true if we are currently standing still
void AimAtEnemy(); // point our weapon towards our enemy
void StopAiming(); // stop aiming at enemy
bool IsAimingAtEnemy() const; // returns true if we are trying to aim at an enemy
bool IsAimingAtEnemy() const; // returns true if we are trying to aim at an enemy
bool IsSurprised() const; // return true if we are "surprised"
bool IsSurprised() const; // return true if we are "surprised"
float GetSurpriseDelay() const;
void ClearSurpriseDelay();
float GetStateTimestamp() const; // get time current state was entered
float GetStateTimestamp() const; // get time current state was entered
bool IsDoingScenario() const; // return true if we will do scenario-related tasks
bool IsDoingScenario() const; // return true if we will do scenario-related tasks
// scenario / gamestate
CSGameState *GetGameState(); // return an interface to this bot's gamestate
const CSGameState *GetGameState() const; // return an interface to this bot's gamestate
CSGameState *GetGameState(); // return an interface to this bot's gamestate
const CSGameState *GetGameState() const; // return an interface to this bot's gamestate
bool IsAtBombsite(); // return true if we are in a bomb planting zone
bool GuardRandomZone(float range = 500.0f); // pick a random zone and hide near it
bool IsAtBombsite(); // return true if we are in a bomb planting zone
bool GuardRandomZone(float range = 500.0f); // pick a random zone and hide near it
bool IsBusy() const; // return true if we are busy doing something important
bool IsBusy() const; // return true if we are busy doing something important
// high-level tasks
enum TaskType
@ -587,7 +461,7 @@ public:
// behavior modifiers
enum DispositionType
{
ENGAGE_AND_INVESTIGATE, // engage enemies on sight and investigate enemy noises
ENGAGE_AND_INVESTIGATE, // engage enemies on sight and investigate enemy noises
OPPORTUNITY_FIRE, // engage enemies on sight, but only look towards enemy noises, dont investigate
SELF_DEFENSE, // only engage if fired on, or very close to enemy
IGNORE_ENEMIES, // ignore all enemies - useful for ducking around corners, running away, etc
@ -595,8 +469,8 @@ public:
NUM_DISPOSITIONS
};
void SetDisposition(DispositionType disposition); // define how we react to enemies
DispositionType GetDisposition() const; // return enum describing current disposition
void SetDisposition(DispositionType disposition); // define how we react to enemies
DispositionType GetDisposition() const; // return enum describing current disposition
void IgnoreEnemies(float duration); // ignore enemies for a short duration
@ -616,24 +490,24 @@ public:
void DecreaseMorale();
// listening for noises
bool IsNoiseHeard() const; // return true if we have heard a noise
bool IsNoiseHeard() const; // return true if we have heard a noise
bool ShouldInvestigateNoise(float *retNoiseDist = NULL);
void InvestigateNoise(); // investigate recent enemy noise
const Vector *GetNoisePosition() const; // return position of last heard noise, or NULL if none heard
void InvestigateNoise(); // investigate recent enemy noise
const Vector *GetNoisePosition() const; // return position of last heard noise, or NULL if none heard
CNavArea *GetNoiseArea() const; // return area where noise was heard
void ForgetNoise(); // clear the last heard noise
void ForgetNoise(); // clear the last heard noise
bool CanSeeNoisePosition() const; // return true if we directly see where we think the noise came from
float GetNoiseRange() const; // return approximate distance to last noise heard
bool CanHearNearbyEnemyGunfire(float range = -1.0f) const; // return true if we hear nearby threatening enemy gunfire within given range (-1 == infinite)
PriorityType GetNoisePriority() const; // return priority of last heard noise
bool CanHearNearbyEnemyGunfire(float range = -1.0f) const; // return true if we hear nearby threatening enemy gunfire within given range (-1 == infinite)
PriorityType GetNoisePriority() const; // return priority of last heard noise
// radio and chatter
void SendRadioMessage(GameEventType event); // send voice chatter
void SendRadioMessage(GameEventType event); // send voice chatter
BotChatterInterface *GetChatter(); // return an interface to this bot's chatter system
bool RespondToHelpRequest(CBasePlayer *them, Place place, float maxRange = -1.0f); // decide if we should move to help the player, return true if we will
void StartVoiceFeedback(float duration);
bool IsUsingVoice() const; // new-style "voice" chatter gets voice feedback
bool IsUsingVoice() const; // new-style "voice" chatter gets voice feedback
// enemies
// BOTPORT: GetEnemy() collides with GetEnemy() in CBaseEntity - need to use different nomenclature
@ -642,32 +516,32 @@ public:
CBasePlayer *GetEnemy();
int GetNearbyEnemyCount() const; // return max number of nearby enemies we've seen recently
unsigned int GetEnemyPlace() const; // return location where we see the majority of our enemies
bool CanSeeBomber() const; // return true if we can see the bomb carrier
bool CanSeeBomber() const; // return true if we can see the bomb carrier
CBasePlayer *GetBomber() const;
int GetNearbyFriendCount() const; // return number of nearby teammates
CBasePlayer *GetClosestVisibleFriend() const; // return the closest friend that we can see
CBasePlayer *GetClosestVisibleHumanFriend() const; // return the closest human friend that we can see
CBasePlayer *GetClosestVisibleFriend() const; // return the closest friend that we can see
CBasePlayer *GetClosestVisibleHumanFriend() const; // return the closest human friend that we can see
bool IsOutnumbered() const; // return true if we are outnumbered by enemies
bool IsOutnumbered() const; // return true if we are outnumbered by enemies
int OutnumberedCount() const; // return number of enemies we are outnumbered by
#define ONLY_VISIBLE_ENEMIES true
CBasePlayer *GetImportantEnemy(bool checkVisibility = false) const; // return the closest "important" enemy for the given scenario (bomb carrier, VIP, hostage escorter)
void UpdateReactionQueue(); // update our reaction time queue
void UpdateReactionQueue(); // update our reaction time queue
CBasePlayer *GetRecognizedEnemy(); // return the most dangerous threat we are "conscious" of
bool IsRecognizedEnemyReloading(); // return true if the enemy we are "conscious" of is reloading
bool IsRecognizedEnemyProtectedByShield(); // return true if the enemy we are "conscious" of is hiding behind a shield
float GetRangeToNearestRecognizedEnemy(); // return distance to closest enemy we are "conscious" of
bool IsRecognizedEnemyProtectedByShield(); // return true if the enemy we are "conscious" of is hiding behind a shield
float GetRangeToNearestRecognizedEnemy(); // return distance to closest enemy we are "conscious" of
CBasePlayer *GetAttacker() const; // return last enemy that hurt us
float GetTimeSinceAttacked() const; // return duration since we were last injured by an attacker
float GetFirstSawEnemyTimestamp() const; // time since we saw any enemies
float GetFirstSawEnemyTimestamp() const; // time since we saw any enemies
float GetLastSawEnemyTimestamp() const;
float GetTimeSinceLastSawEnemy() const;
float GetTimeSinceAcquiredCurrentEnemy() const;
bool HasNotSeenEnemyForLongTime() const; // return true if we haven't seen an enemy for "a long time"
bool HasNotSeenEnemyForLongTime() const; // return true if we haven't seen an enemy for "a long time"
const Vector &GetLastKnownEnemyPosition() const;
bool IsEnemyVisible() const; // is our current enemy visible
float GetEnemyDeathTimestamp() const;
@ -679,7 +553,7 @@ public:
bool HasPath() const;
void DestroyPath();
float GetFeetZ() const; // return Z of bottom of feet
float GetFeetZ() const; // return Z of bottom of feet
enum PathResult
{
@ -688,12 +562,12 @@ public:
PATH_FAILURE, // we failed to reach the end of the path
};
#define NO_SPEED_CHANGE false
PathResult UpdatePathMovement(bool allowSpeedChange = true); // move along our computed path - if allowSpeedChange is true, bot will walk when near goal to ensure accuracy
PathResult UpdatePathMovement(bool allowSpeedChange = true); // move along our computed path - if allowSpeedChange is true, bot will walk when near goal to ensure accuracy
bool AStarSearch(CNavArea *startArea, CNavArea *goalArea); // find shortest path from startArea to goalArea - don't actually buid the path
bool ComputePath(CNavArea *goalArea, const Vector *goal, RouteType route); // compute path to goal position
bool ComputePath(CNavArea *goalArea, const Vector *goal, RouteType route); // compute path to goal position
bool StayOnNavMesh();
CNavArea *GetLastKnownArea() const; // return the last area we know we were inside of
CNavArea *GetLastKnownArea() const; // return the last area we know we were inside of
const Vector &GetPathEndpoint() const; // return final position of our current path
float GetPathDistanceRemaining() const; // eturn estimated distance left to travel along path
void ResetStuckMonitor();
@ -701,38 +575,38 @@ public:
const Vector &GetPathPosition(int numpath) const;
bool GetSimpleGroundHeightWithFloor(const Vector *pos, float *height, Vector *normal = NULL); // find "simple" ground height, treating current nav area as part of the floor
Place GetPlace() const; // get our current radio chatter place
Place GetPlace() const; // get our current radio chatter place
bool IsUsingLadder() const; // returns true if we are in the process of negotiating a ladder
bool IsUsingLadder() const; // returns true if we are in the process of negotiating a ladder
void GetOffLadder();
void SetGoalEntity(CBaseEntity *entity);
CBaseEntity *GetGoalEntity();
bool IsNearJump() const; // return true if nearing a jump in the path
float GetApproximateFallDamage(float height) const; // return how much damage will will take from the given fall height
bool IsNearJump() const; // return true if nearing a jump in the path
float GetApproximateFallDamage(float height) const; // return how much damage will will take from the given fall height
void ForceRun(float duration); // force the bot to run if it moves for the given duration
void Wiggle(); // random movement, for getting un-stuck
void ForceRun(float duration); // force the bot to run if it moves for the given duration
void Wiggle(); // random movement, for getting un-stuck
bool IsFriendInTheWay(const Vector *goalPos) const; // return true if a friend is between us and the given position
void FeelerReflexAdjustment(Vector *goalPosition); // do reflex avoidance movements if our "feelers" are touched
bool IsFriendInTheWay(const Vector *goalPos) const; // return true if a friend is between us and the given position
void FeelerReflexAdjustment(Vector *goalPosition); // do reflex avoidance movements if our "feelers" are touched
// looking around
void SetLookAngles(float yaw, float pitch); // set our desired look angles
void UpdateLookAngles(); // move actual view angles towards desired ones
void UpdateLookAround(bool updateNow = false); // update "looking around" mechanism
void UpdateLookAngles(); // move actual view angles towards desired ones
void UpdateLookAround(bool updateNow = false); // update "looking around" mechanism
void InhibitLookAround(float duration); // block all "look at" and "looking around" behavior for given duration - just look ahead
// TODO: Clean up notion of "forward angle" and "look ahead angle"
void SetForwardAngle(float angle); // define our forward facing
void SetForwardAngle(float angle); // define our forward facing
void SetLookAheadAngle(float angle); // define default look ahead angle
// look at the given point in space for the given duration (-1 means forever)
void SetLookAt(const char *desc, const Vector *pos, PriorityType pri, float duration = -1.0f, bool clearIfClose = false, float angleTolerance = 5.0f);
void ClearLookAt(); // stop looking at a point in space and just look ahead
void ClearLookAt(); // stop looking at a point in space and just look ahead
bool IsLookingAtSpot(PriorityType pri = PRIORITY_LOW) const; // return true if we are looking at spot with equal or higher priority
bool IsViewMoving(float angleVelThreshold = 1.0f) const; // returns true if bot's view angles are rotating (not still)
bool IsViewMoving(float angleVelThreshold = 1.0f) const; // returns true if bot's view angles are rotating (not still)
const Vector &GetEyePosition() const
{
@ -745,31 +619,31 @@ public:
void ComputeApproachPoints(); // determine the set of "approach points" representing where the enemy can enter this region
void UpdateApproachPoints(); // recompute the approach point set if we have moved far enough to invalidate the current ones
void ClearApproachPoints();
void DrawApproachPoints(); // for debugging
void DrawApproachPoints(); // for debugging
float GetHidingSpotCheckTimestamp(HidingSpot *spot) const; // return time when given spot was last checked
void SetHidingSpotCheckTimestamp(HidingSpot *spot); // set the timestamp of the given spot to now
void SetHidingSpotCheckTimestamp(HidingSpot *spot); // set the timestamp of the given spot to now
// weapon query and equip
#define MUST_EQUIP true
void EquipBestWeapon(bool mustEquip = false); // equip the best weapon we are carrying that has ammo
void EquipPistol(); // equip our pistol
void EquipKnife(); // equip our knife
void EquipBestWeapon(bool mustEquip = false); // equip the best weapon we are carrying that has ammo
void EquipPistol(); // equip our pistol
void EquipKnife(); // equip our knife
#define DONT_USE_SMOKE_GRENADE true
bool EquipGrenade(bool noSmoke = false); // equip a grenade, return false if we cant
bool EquipGrenade(bool noSmoke = false); // equip a grenade, return false if we cant
bool IsUsingKnife() const; // returns true if we have knife equipped
bool IsUsingPistol() const; // returns true if we have pistol equipped
bool IsUsingGrenade() const; // returns true if we have grenade equipped
bool IsUsingSniperRifle() const; // returns true if using a "sniper" rifle
bool IsUsingGrenade() const; // returns true if we have grenade equipped
bool IsUsingSniperRifle() const; // returns true if using a "sniper" rifle
bool IsUsingAWP() const; // returns true if we have AWP equipped
bool IsSniper() const; // return true if we have a sniper rifle in our inventory
bool IsSniping() const; // return true if we are actively sniping (moving to sniper spot or settled in)
bool IsUsingShotgun() const; // returns true if using a shotgun
bool IsUsingMachinegun() const; // returns true if using the big 'ol machinegun
void ThrowGrenade(const Vector *target); // begin the process of throwing the grenade
bool IsThrowingGrenade() const; // return true if we are in the process of throwing a grenade
bool IsUsingShotgun() const; // returns true if using a shotgun
bool IsUsingMachinegun() const; // returns true if using the big 'ol machinegun
void ThrowGrenade(const Vector *target); // begin the process of throwing the grenade
bool IsThrowingGrenade() const; // return true if we are in the process of throwing a grenade
bool HasGrenade() const; // return true if we have a grenade in our inventory
bool DoesActiveWeaponHaveSilencer() const;
@ -779,34 +653,32 @@ public:
bool IsRapidFiring() const;
enum ZoomType { NO_ZOOM, LOW_ZOOM, HIGH_ZOOM };
ZoomType GetZoomLevel() const; // return the current zoom level of our weapon
ZoomType GetZoomLevel() const; // return the current zoom level of our weapon
bool AdjustZoom(float range); // change our zoom level to be appropriate for the given range
bool AdjustZoom(float range); // change our zoom level to be appropriate for the given range
bool IsPrimaryWeaponEmpty() const; // return true if primary weapon doesn't exist or is totally out of ammo
bool IsPrimaryWeaponEmpty() const; // return true if primary weapon doesn't exist or is totally out of ammo
bool IsPistolEmpty() const; // return true if secondary weapon doesn't exist or is totally out of ammo
int GetHostageEscortCount() const;
void IncreaseHostageEscortCount();
float GetRangeToFarthestEscortedHostage() const;
void ResetWaitForHostagePatience();
void ResetValues(); // reset internal data to initial state
void ResetValues(); // reset internal data to initial state
void BotDeathThink();
CBasePlayer *FindNearbyPlayer();
void AdjustSafeTime(); // called when enemy seen to adjust safe time for this round
void EXPORT BotTouch(CBaseEntity *other);
bool HasAnyAmmo(CBasePlayerWeapon *weapon) const;
#ifndef HOOK_GAMEDLL
private:
#endif
friend class CCSBotManager;
// TODO: Get rid of these
friend class AttackState;
friend class BuyState;
char m_name[64]; // copied from STRING(pev->netname) for debugging
char m_name[64]; // copied from STRING(pev->netname) for debugging
// behavior properties
float m_combatRange; // desired distance between us and them during gunplay
@ -814,21 +686,21 @@ private:
mutable CountdownTimer m_rogueTimer;
MoraleType m_morale; // our current morale, based on our win/loss history
bool m_diedLastRound; // true if we died last round
float m_safeTime; // duration at the beginning of the round where we feel "safe"
bool m_wasSafe; // true if we were in the safe time last update
NavRelativeDirType m_blindMoveDir; // which way to move when we're blind
bool m_blindFire; // if true, fire weapon while blinded
float m_safeTime; // duration at the beginning of the round where we feel "safe"
bool m_wasSafe; // true if we were in the safe time last update
NavRelativeDirType m_blindMoveDir; // which way to move when we're blind
bool m_blindFire; // if true, fire weapon while blinded
// TODO: implement through CountdownTimer
float m_surpriseDelay; // when we were surprised
float m_surpriseTimestamp;
bool m_isFollowing; // true if we are following someone
EHANDLE m_leader; // the ID of who we are following
bool m_isFollowing; // true if we are following someone
EHANDLE m_leader; // the ID of who we are following
float m_followTimestamp; // when we started following
float m_allowAutoFollowTime; // time when we can auto follow
float m_allowAutoFollowTime; // time when we can auto follow
CountdownTimer m_hurryTimer; // if valid, bot is in a hurry
CountdownTimer m_hurryTimer; // if valid, bot is in a hurry
// instances of each possible behavior state, to avoid dynamic memory allocation during runtime
IdleState m_idleState;
@ -846,13 +718,13 @@ private:
UseEntityState m_useEntityState;
// TODO: Allow multiple simultaneous state machines (look around, etc)
void SetState(BotState *state); // set the current behavior state
void SetState(BotState *state); // set the current behavior state
BotState *m_state; // current behavior state
float m_stateTimestamp; // time state was entered
float m_stateTimestamp; // time state was entered
bool m_isAttacking; // if true, special Attack state is overriding the state machine
TaskType m_task; // our current task
EHANDLE m_taskEntity; // an entity used for our task
EHANDLE m_taskEntity; // an entity used for our task
// navigation
Vector m_goalPosition;
@ -860,10 +732,10 @@ private:
void MoveTowardsPosition(const Vector *pos); // move towards position, independant of view angle
void MoveAwayFromPosition(const Vector *pos); // move away from position, independant of view angle
void StrafeAwayFromPosition(const Vector *pos); // strafe (sidestep) away from position, independant of view angle
void StuckCheck(); // check if we have become stuck
void StuckCheck(); // check if we have become stuck
CNavArea *m_currentArea; // the nav area we are standing on
CNavArea *m_lastKnownArea; // the last area we were in
CNavArea *m_currentArea; // the nav area we are standing on
CNavArea *m_lastKnownArea; // the last area we were in
EHANDLE m_avoid; // higher priority player we need to make way for
float m_avoidTimestamp;
bool m_isJumpCrouching;
@ -874,16 +746,16 @@ private:
enum { MAX_PATH_LENGTH = 256 };
struct ConnectInfo
{
CNavArea *area; // the area along the path
CNavArea *area; // the area along the path
NavTraverseType how; // how to enter this area from the previous one
Vector pos; // our movement goal position at this point in the path
Vector pos; // our movement goal position at this point in the path
const CNavLadder *ladder; // if "how" refers to a ladder, this is it
}
m_path[MAX_PATH_LENGTH];
int m_pathLength;
int m_pathIndex;
float m_areaEnteredTimestamp;
void BuildTrivialPath(const Vector *goal); // build trivial path to goal, assuming we are already in the same area
void BuildTrivialPath(const Vector *goal); // build trivial path to goal, assuming we are already in the same area
bool FindGrenadeTossPathTarget(Vector *pos);
CountdownTimer m_repathTimer; // must have elapsed before bot can pathfind again
@ -893,11 +765,11 @@ private:
void SetPathIndex(int newIndex); // set the current index along the path
void DrawPath();
int FindOurPositionOnPath(Vector *close, bool local = false) const; // compute the closest point to our current position on our path
int FindPathPoint(float aheadRange, Vector *point, int *prevIndex = NULL); // compute a point a fixed distance ahead along our path.
int FindPathPoint(float aheadRange, Vector *point, int *prevIndex = NULL); // compute a point a fixed distance ahead along our path.
bool FindClosestPointOnPath(const Vector *worldPos, int startIndex, int endIndex, Vector *close) const; // compute closest point on path to given point
bool IsStraightLinePathWalkable(const Vector *goal) const; // test for un-jumpable height change, or unrecoverable fall
bool IsStraightLinePathWalkable(const Vector *goal) const; // test for un-jumpable height change, or unrecoverable fall
mutable CountdownTimer m_avoidFriendTimer; // used to throttle how often we check for friends in our path
mutable CountdownTimer m_avoidFriendTimer; // used to throttle how often we check for friends in our path
mutable bool m_isFriendInTheWay; // true if a friend is blocking our path
CountdownTimer m_politeTimer; // we'll wait for friend to move until this runs out
bool m_isWaitingBehindFriend; // true if we are waiting for a friend to move
@ -913,23 +785,23 @@ private:
FACE_DESCENDING_LADDER,
MOUNT_ASCENDING_LADDER, // move toward ladder until "on" it
MOUNT_DESCENDING_LADDER, // move toward ladder until "on" it
ASCEND_LADDER, // go up the ladder
DESCEND_LADDER, // go down the ladder
ASCEND_LADDER, // go up the ladder
DESCEND_LADDER, // go down the ladder
DISMOUNT_ASCENDING_LADDER, // get off of the ladder
DISMOUNT_DESCENDING_LADDER, // get off of the ladder
MOVE_TO_DESTINATION, // dismount ladder and move to destination area
}
m_pathLadderState;
bool m_pathLadderFaceIn; // if true, face towards ladder, otherwise face away
const CNavLadder *m_pathLadder; // the ladder we need to use to reach the next area
bool UpdateLadderMovement(); // called by UpdatePathMovement()
NavRelativeDirType m_pathLadderDismountDir; // which way to dismount
float m_pathLadderDismountTimestamp; // time when dismount started
float m_pathLadderEnd; // if ascending, z of top, if descending z of bottom
bool m_pathLadderFaceIn; // if true, face towards ladder, otherwise face away
const CNavLadder *m_pathLadder; // the ladder we need to use to reach the next area
bool UpdateLadderMovement(); // called by UpdatePathMovement()
NavRelativeDirType m_pathLadderDismountDir; // which way to dismount
float m_pathLadderDismountTimestamp; // time when dismount started
float m_pathLadderEnd; // if ascending, z of top, if descending z of bottom
void ComputeLadderEndpoint(bool isAscending);
float m_pathLadderTimestamp; // time when we started using ladder - for timeout check
float m_pathLadderTimestamp; // time when we started using ladder - for timeout check
CountdownTimer m_mustRunTimer; // if nonzero, bot cannot walk
CountdownTimer m_mustRunTimer; // if nonzero, bot cannot walk
// game scenario mechanisms
CSGameState m_gameState;
@ -947,32 +819,32 @@ private:
float m_noiseTimestamp; // when we heard it (can get zeroed)
CNavArea *m_noiseArea; // the nav area containing the noise
float m_noiseCheckTimestamp;
PriorityType m_noisePriority; // priority of currently heard noise
PriorityType m_noisePriority; // priority of currently heard noise
bool UpdateLookAtNoise(); // return true if we decided to look towards the most recent noise source
bool m_isNoiseTravelRangeChecked;
// "looking around" mechanism
float m_lookAroundStateTimestamp; // time of next state change
float m_lookAroundStateTimestamp; // time of next state change
float m_lookAheadAngle; // our desired forward look angle
float m_forwardAngle; // our current forward facing direction
float m_inhibitLookAroundTimestamp; // time when we can look around again
float m_inhibitLookAroundTimestamp; // time when we can look around again
enum LookAtSpotState
{
NOT_LOOKING_AT_SPOT, // not currently looking at a point in space
NOT_LOOKING_AT_SPOT, // not currently looking at a point in space
LOOK_TOWARDS_SPOT, // in the process of aiming at m_lookAtSpot
LOOK_AT_SPOT, // looking at m_lookAtSpot
NUM_LOOK_AT_SPOT_STATES
}
m_lookAtSpotState;
Vector m_lookAtSpot; // the spot we're currently looking at
Vector m_lookAtSpot; // the spot we're currently looking at
PriorityType m_lookAtSpotPriority;
float m_lookAtSpotDuration; // how long we need to look at the spot
float m_lookAtSpotDuration; // how long we need to look at the spot
float m_lookAtSpotTimestamp; // when we actually began looking at the spot
float m_lookAtSpotAngleTolerance; // how exactly we must look at the spot
bool m_lookAtSpotClearIfClose; // if true, the look at spot is cleared if it gets close to us
const char *m_lookAtDesc; // for debugging
const char *m_lookAtDesc; // for debugging
void UpdateLookAt();
void UpdatePeripheralVision(); // update enounter spot timestamps, etc
float m_peripheralTimestamp;
@ -982,14 +854,14 @@ private:
unsigned char m_approachPointCount;
Vector m_approachPointViewPosition; // the position used when computing current approachPoint set
bool BendLineOfSight(const Vector *eye, const Vector *point, Vector *bend) const; // "bend" our line of sight until we can see the target point. Return bend point, false if cant bend.
bool FindApproachPointNearestPath(Vector *pos); // find the approach point that is nearest to our current path, ahead of us
bool BendLineOfSight(const Vector *eye, const Vector *point, Vector *bend) const; // "bend" our line of sight until we can see the target point. Return bend point, false if cant bend.
bool FindApproachPointNearestPath(Vector *pos); // find the approach point that is nearest to our current path, ahead of us
bool m_isWaitingToTossGrenade; // lining up throw
CountdownTimer m_tossGrenadeTimer; // timeout timer for grenade tossing
SpotEncounter *m_spotEncounter; // the spots we will encounter as we move thru our current area
float m_spotCheckTimestamp; // when to check next encounter spot
float m_spotCheckTimestamp; // when to check next encounter spot
// TODO: Add timestamp for each possible client to hiding spots
enum { MAX_CHECKED_SPOTS = 64 };
@ -1002,32 +874,32 @@ private:
int m_checkedHidingSpotCount;
// view angle mechanism
float m_lookPitch; // our desired look pitch angle
float m_lookPitch; // our desired look pitch angle
float m_lookPitchVel;
float m_lookYaw; // our desired look yaw angle
float m_lookYaw; // our desired look yaw angle
float m_lookYawVel;
// aim angle mechanism
mutable Vector m_eyePos;
Vector m_aimOffset; // current error added to victim's position to get actual aim spot
Vector m_aimOffset; // current error added to victim's position to get actual aim spot
Vector m_aimOffsetGoal; // desired aim offset
float m_aimOffsetTimestamp; // time of next offset adjustment
float m_aimSpreadTimestamp; // time used to determine max spread as it begins to tighten up
void SetAimOffset(float accuracy); // set the current aim offset
void SetAimOffset(float accuracy); // set the current aim offset
void UpdateAimOffset(); // wiggle aim error based on m_accuracy
Vector m_aimSpot; // the spot we are currently aiming to fire at
Vector m_aimSpot; // the spot we are currently aiming to fire at
// attack state data
DispositionType m_disposition; // how we will react to enemies
CountdownTimer m_ignoreEnemiesTimer; // how long will we ignore enemies
DispositionType m_disposition; // how we will react to enemies
CountdownTimer m_ignoreEnemiesTimer; // how long will we ignore enemies
mutable EHANDLE m_enemy; // our current enemy
bool m_isEnemyVisible; // result of last visibility test on enemy
unsigned char m_visibleEnemyParts; // which parts of the visible enemy do we see
unsigned char m_visibleEnemyParts; // which parts of the visible enemy do we see
Vector m_lastEnemyPosition; // last place we saw the enemy
float m_lastSawEnemyTimestamp;
float m_firstSawEnemyTimestamp;
float m_currentEnemyAcquireTimestamp;
float m_enemyDeathTimestamp; // if m_enemy is dead, this is when he died
float m_enemyDeathTimestamp; // if m_enemy is dead, this is when he died
bool m_isLastEnemyDead; // true if we killed or saw our last enemy die
int m_nearbyEnemyCount; // max number of enemies we've seen recently
unsigned int m_enemyPlace; // the location where we saw most of our enemies
@ -1038,22 +910,22 @@ private:
bool isEnemy;
}
m_watchInfo[MAX_CLIENTS];
mutable EHANDLE m_bomber; // points to bomber if we can see him
mutable EHANDLE m_bomber; // points to bomber if we can see him
int m_nearbyFriendCount; // number of nearby teammates
int m_nearbyFriendCount; // number of nearby teammates
mutable EHANDLE m_closestVisibleFriend; // the closest friend we can see
mutable EHANDLE m_closestVisibleHumanFriend; // the closest human friend we can see
mutable EHANDLE m_closestVisibleHumanFriend; // the closest human friend we can see
CBasePlayer *m_attacker; // last enemy that hurt us (may not be same as m_enemy)
float m_attackedTimestamp; // when we were hurt by the m_attacker
int m_lastVictimID; // the entindex of the last victim we killed, or zero
int m_lastVictimID; // the entindex of the last victim we killed, or zero
bool m_isAimingAtEnemy; // if true, we are trying to aim at our enemy
bool m_isRapidFiring; // if true, RunUpkeep() will toggle our primary attack as fast as it can
IntervalTimer m_equipTimer; // how long have we had our current weapon equipped
bool DoEquip(CBasePlayerWeapon *gun); // equip the given item
bool DoEquip(CBasePlayerWeapon *gun); // equip the given item
void ReloadCheck(); // reload our weapon if we must
void ReloadCheck(); // reload our weapon if we must
void SilencerCheck(); // use silencer
float m_fireWeaponTimestamp;
@ -1073,12 +945,12 @@ private:
byte m_enemyQueueCount;
byte m_enemyQueueAttendIndex; // index of the timeframe we are "conscious" of
CBasePlayer *FindMostDangerousThreat(); // return most dangerous threat in my field of view (feeds into reaction time queue)
CBasePlayer *FindMostDangerousThreat(); // return most dangerous threat in my field of view (feeds into reaction time queue)
// stuck detection
bool m_isStuck;
float m_stuckTimestamp; // time when we got stuck
Vector m_stuckSpot; // the location where we became stuck
Vector m_stuckSpot; // the location where we became stuck
NavRelativeDirType m_wiggleDirection;
float m_wiggleTimestamp;
float m_stuckJumpTimestamp; // time for next jump when stuck
@ -1090,16 +962,16 @@ private:
Vector m_lastOrigin;
// chatter mechanism
GameEventType m_lastRadioCommand; // last radio command we recieved
GameEventType m_lastRadioCommand; // last radio command we recieved
void RespondToRadioCommands();
bool IsRadioCommand(GameEventType event) const; // returns true if the radio message is an order to do something
bool IsRadioCommand(GameEventType event) const; // returns true if the radio message is an order to do something
#define NO_FORCE false
void EndVoiceFeedback(bool force = true);
float m_lastRadioRecievedTimestamp; // time we recieved a radio message
float m_lastRadioSentTimestamp; // time when we send a radio message
EHANDLE m_radioSubject; // who issued the radio message
Vector m_radioPosition; // position referred to in radio message
EHANDLE m_radioSubject; // who issued the radio message
Vector m_radioPosition; // position referred to in radio message
float m_voiceFeedbackStartTimestamp;
float m_voiceFeedbackEndTimestamp; // new-style "voice" chatter gets voice feedback
BotChatterInterface m_chatter;

View File

@ -81,14 +81,14 @@ void BotMeme::Transmit(CCSBot *sender) const
}
// A teammate called for help - respond
void BotHelpMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver) const
void BotHelpMeme::Interpret(CCSBot *sender, CCSBot *receiver) const
{
const float maxHelpRange = 3000.0f; // 2000
receiver->RespondToHelpRequest(sender, m_place, maxHelpRange);
}
// A teammate reported information about a bombsite
void BotBombsiteStatusMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver) const
void BotBombsiteStatusMeme::Interpret(CCSBot *sender, CCSBot *receiver) const
{
// remember this bombsite's status
if (m_status == CLEAR)
@ -108,7 +108,7 @@ void BotBombsiteStatusMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *rece
}
// A teammate reported information about the bomb
void BotBombStatusMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver) const
void BotBombStatusMeme::Interpret(CCSBot *sender, CCSBot *receiver) const
{
// update our gamestate based on teammate's report
switch (m_state)
@ -138,7 +138,7 @@ void BotBombStatusMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver
}
// A teammate has asked that we follow him
void BotFollowMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver) const
void BotFollowMeme::Interpret(CCSBot *sender, CCSBot *receiver) const
{
if (receiver->IsRogue())
return;
@ -164,7 +164,7 @@ void BotFollowMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver) co
}
// A teammate has asked us to defend a place
void BotDefendHereMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver) const
void BotDefendHereMeme::Interpret(CCSBot *sender, CCSBot *receiver) const
{
if (receiver->IsRogue())
return;
@ -195,7 +195,7 @@ void BotDefendHereMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver
}
// A teammate has asked where the bomb is planted
void BotWhereBombMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver) const
void BotWhereBombMeme::Interpret(CCSBot *sender, CCSBot *receiver) const
{
int zone = receiver->GetGameState()->GetPlantedBombsite();
@ -204,13 +204,13 @@ void BotWhereBombMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver)
}
// A teammate has asked us to report in
void BotRequestReportMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver) const
void BotRequestReportMeme::Interpret(CCSBot *sender, CCSBot *receiver) const
{
receiver->GetChatter()->ReportingIn();
}
// A teammate told us all the hostages are gone
void BotAllHostagesGoneMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver) const
void BotAllHostagesGoneMeme::Interpret(CCSBot *sender, CCSBot *receiver) const
{
receiver->GetGameState()->AllHostagesGone();
@ -219,7 +219,7 @@ void BotAllHostagesGoneMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *rec
}
// A teammate told us a CT is talking to a hostage
void BotHostageBeingTakenMeme::__MAKE_VHOOK(Interpret)(CCSBot *sender, CCSBot *receiver) const
void BotHostageBeingTakenMeme::Interpret(CCSBot *sender, CCSBot *receiver) const
{
receiver->GetGameState()->HostageWasTaken();

View File

@ -32,10 +32,10 @@
#pragma once
#endif
#define UNDEFINED_COUNT 0xFFFF
#define MAX_PLACES_PER_MAP 64
#define UNDEFINED_SUBJECT (-1)
#define COUNT_MANY 4 // equal to or greater than this is "many"
#define UNDEFINED_COUNT 0xFFFF
#define MAX_PLACES_PER_MAP 64
#define UNDEFINED_SUBJECT (-1)
#define COUNT_MANY 4 // equal to or greater than this is "many"
class CCSBot;
class BotChatterInterface;
@ -48,7 +48,7 @@ typedef unsigned int CountCriteria;
class BotMeme
{
public:
void Transmit(CCSBot *sender) const; // transmit meme to other bots
void Transmit(CCSBot *sender) const; // transmit meme to other bots
virtual ~BotMeme(){}
virtual void Interpret(CCSBot *sender, CCSBot *receiver) const = 0; // cause the given bot to act on this meme
@ -58,26 +58,12 @@ class BotAllHostagesGoneMeme: public BotMeme
{
public:
virtual void Interpret(CCSBot *sender, CCSBot *receiver) const; // cause the given bot to act on this meme
#ifdef HOOK_GAMEDLL
void Interpret_(CCSBot *sender, CCSBot *receiver) const;
#endif
};
class BotHostageBeingTakenMeme: public BotMeme
{
public:
virtual void Interpret(CCSBot *sender, CCSBot *receiver) const; // cause the given bot to act on this meme
#ifdef HOOK_GAMEDLL
void Interpret_(CCSBot *sender, CCSBot *receiver) const;
#endif
};
class BotHelpMeme: public BotMeme
@ -89,12 +75,6 @@ public:
}
virtual void Interpret(CCSBot *sender, CCSBot *receiver) const; // cause the given bot to act on this meme
#ifdef HOOK_GAMEDLL
void Interpret_(CCSBot *sender, CCSBot *receiver) const;
#endif
private:
Place m_place;
};
@ -104,28 +84,22 @@ class BotBombsiteStatusMeme: public BotMeme
public:
enum StatusType { CLEAR, PLANTED };
BotBombsiteStatusMeme(int zoneIndex, StatusType status)
BotBombsiteStatusMeme(int zoneIndex = 0, StatusType status = CLEAR)
{
m_zoneIndex = zoneIndex;
m_status = status;
}
virtual void Interpret(CCSBot *sender, CCSBot *receiver) const; // cause the given bot to act on this meme
#ifdef HOOK_GAMEDLL
void Interpret_(CCSBot *sender, CCSBot *receiver) const;
#endif
private:
int m_zoneIndex; // the bombsite
int m_zoneIndex; // the bombsite
StatusType m_status; // whether it is cleared or the bomb is there (planted)
};
class BotBombStatusMeme: public BotMeme
{
public:
BotBombStatusMeme(CSGameState::BombState state, const Vector &pos)
BotBombStatusMeme(CSGameState::BombState state = CSGameState::MOVING, const Vector &pos = nullptr)
{
m_state = state;
m_pos = pos;
@ -134,12 +108,6 @@ public:
public:
virtual void Interpret(CCSBot *sender, CCSBot *receiver) const; // cause the given bot to act on this meme
#ifdef HOOK_GAMEDLL
void Interpret_(CCSBot *sender, CCSBot *receiver) const;
#endif
private:
CSGameState::BombState m_state;
Vector m_pos;
@ -149,28 +117,16 @@ class BotFollowMeme: public BotMeme
{
public:
virtual void Interpret(CCSBot *sender, CCSBot *receiver) const; // cause the given bot to act on this meme
#ifdef HOOK_GAMEDLL
void Interpret_(CCSBot *sender, CCSBot *receiver) const;
#endif
};
class BotDefendHereMeme: public BotMeme
{
public:
BotDefendHereMeme(const Vector &pos)
BotDefendHereMeme(const Vector &pos = nullptr)
{
m_pos = pos;
}
virtual void Interpret(CCSBot *sender, CCSBot *receiver) const; // cause the given bot to act on this meme
#ifdef HOOK_GAMEDLL
void Interpret_(CCSBot *sender, CCSBot *receiver) const;
#endif
virtual void Interpret(CCSBot *sender, CCSBot *receiver) const; // cause the given bot to act on this meme
private:
Vector m_pos;
@ -180,25 +136,12 @@ class BotWhereBombMeme: public BotMeme
{
public:
virtual void Interpret(CCSBot *sender, CCSBot *receiver) const; // cause the given bot to act on this meme
#ifdef HOOK_GAMEDLL
void Interpret_(CCSBot *sender, CCSBot *receiver) const;
#endif
};
class BotRequestReportMeme: public BotMeme
{
public:
virtual void Interpret(CCSBot *sender, CCSBot *receiver) const; // cause the given bot to act on this meme
#ifdef HOOK_GAMEDLL
void Interpret_(CCSBot *sender, CCSBot *receiver) const;
#endif
};
enum BotStatementType
@ -214,7 +157,7 @@ enum BotStatementType
REPORT_MY_PLAN,
REPORT_INFORMATION,
REPORT_EMOTE,
REPORT_ACKNOWLEDGE, // affirmative or negative
REPORT_ACKNOWLEDGE, // affirmative or negative
REPORT_ENEMIES_REMAINING,
REPORT_FRIENDLY_FIRE,
REPORT_KILLED_FRIEND,
@ -244,12 +187,12 @@ typedef std::STD_VECTOR<BotSpeakableVector *> BotVoiceBankVector;
class BotPhrase
{
public:
char *GetSpeakable(int bankIndex, float *duration = NULL) const; // return a random speakable and its duration in seconds that meets the current criteria
char *GetSpeakable(int bankIndex, float *duration = nullptr) const; // return a random speakable and its duration in seconds that meets the current criteria
// NOTE: Criteria must be set just before the GetSpeakable() call, since they are shared among all bots
void ClearCriteria() const;
void SetPlaceCriteria(PlaceCriteria place) const; // all returned phrases must have this place criteria
void SetCountCriteria(CountCriteria count) const; // all returned phrases must have this count criteria
void SetPlaceCriteria(PlaceCriteria place) const; // all returned phrases must have this place criteria
void SetCountCriteria(CountCriteria count) const; // all returned phrases must have this count criteria
const char *GetName() const { return m_name; }
Place GetID() const { return m_id; }
@ -257,26 +200,23 @@ public:
bool IsImportant() const { return m_isImportant; } // return true if this phrase is part of an important statement
bool IsPlace() const { return m_isPlace; }
void Randomize(); // randomly shuffle the speakable order
void Randomize(); // randomly shuffle the speakable order
#ifndef HOOK_GAMEDLL
private:
#endif
friend class BotPhraseManager;
BotPhrase(unsigned int id, bool isPlace);
~BotPhrase();
char *m_name;
Place m_id;
bool m_isPlace; // true if this is a Place phrase
bool m_isPlace; // true if this is a Place phrase
GameEventType m_radioEvent;
bool m_isImportant; // mission-critical statement
bool m_isImportant; // mission-critical statement
mutable BotVoiceBankVector m_voiceBank; // array of voice banks (arrays of speakables)
mutable BotVoiceBankVector m_voiceBank; // array of voice banks (arrays of speakables)
std::STD_VECTOR<int> m_count; // number of speakables
mutable std::STD_VECTOR< int > m_index; // index of next speakable to return
int m_numVoiceBanks; // number of voice banks that have been initialized
mutable std::STD_VECTOR< int > m_index; // index of next speakable to return
int m_numVoiceBanks; // number of voice banks that have been initialized
void InitVoiceBank(int bankIndex); // sets up the vector of voice banks for the first bankIndex voice banks
mutable PlaceCriteria m_placeCriteria;
@ -336,10 +276,7 @@ public:
// set time of last statement of given type was emitted by a teammate for the given place
void ResetPlaceStatementInterval(Place place) const;
#ifndef HOOK_GAMEDLL
private:
#endif
int FindPlaceIndex(Place where) const;
// master list of all phrase collections
@ -414,25 +351,25 @@ public:
CCSBot *GetOwner() const;
BotStatementType GetType() const { return m_type; } // return the type of statement this is
bool IsImportant() const; // return true if this statement is "important" and not personality chatter
bool IsImportant() const; // return true if this statement is "important" and not personality chatter
bool HasSubject() const { return (m_subject != UNDEFINED_SUBJECT); }
void SetSubject(int playerID) { m_subject = playerID; } // who this statement is about
void SetSubject(int playerID) { m_subject = playerID; } // who this statement is about
int GetSubject() const { return m_subject; } // who this statement is about
bool HasPlace() const { return (GetPlace()) ? true : false; }
Place GetPlace() const; // if this statement refers to a specific place, return that place
Place GetPlace() const; // if this statement refers to a specific place, return that place
void SetPlace(Place where) { m_place = where; } // explicitly set place
bool HasCount() const; // return true if this statement has an associated count
bool HasCount() const; // return true if this statement has an associated count
bool IsRedundant(const BotStatement *say) const; // return true if this statement is the same as the given one
bool IsObsolete() const; // return true if this statement is no longer appropriate to say
void Convert(const BotStatement *say); // possibly change what were going to say base on what teammate is saying
bool IsObsolete() const; // return true if this statement is no longer appropriate to say
void Convert(const BotStatement *say); // possibly change what were going to say base on what teammate is saying
void AppendPhrase(const BotPhrase *phrase);
void SetStartTime(float timestamp) { m_startTime = timestamp; } // define the earliest time this statement can be spoken
void SetStartTime(float timestamp) { m_startTime = timestamp; } // define the earliest time this statement can be spoken
float GetStartTime() const { return m_startTime; }
enum ConditionType
@ -444,7 +381,7 @@ public:
};
void AddCondition(ConditionType condition); // conditions must be true for the statement to be spoken
bool IsValid() const; // verify all attached conditions
bool IsValid() const; // verify all attached conditions
enum ContextType
{
@ -456,20 +393,18 @@ public:
};
void AppendPhrase(ContextType contextPhrase); // special phrases that depend on the context
bool Update(); // emit statement over time, return false if statement is done
bool Update(); // emit statement over time, return false if statement is done
bool IsSpeaking() const { return m_isSpeaking; } // return true if this statement is currently being spoken
float GetTimestamp() const { return m_timestamp; } // get time statement was created (but not necessarily started talking)
void AttachMeme(BotMeme *meme); // attach a meme to this statement, to be transmitted to other friendly bots when spoken
void AttachMeme(BotMeme *meme); // attach a meme to this statement, to be transmitted to other friendly bots when spoken
public:
friend class BotChatterInterface;
BotChatterInterface *m_chatter; // the chatter system this statement is part of
BotStatement *m_next, *m_prev; // linked list hooks
BotStatementType m_type; // what kind of statement this is
BotChatterInterface *m_chatter; // the chatter system this statement is part of
BotStatement *m_next, *m_prev; // linked list hooks
BotStatementType m_type; // what kind of statement this is
int m_subject; // who this subject is about
Place m_place; // explicit place - note some phrases have implicit places as well
BotMeme *m_meme; // a statement can only have a single meme for now
@ -477,7 +412,7 @@ public:
float m_timestamp; // time when message was created
float m_startTime; // the earliest time this statement can be spoken
float m_expireTime; // time when this statement is no longer valid
float m_speakTimestamp; // time when message began being spoken
float m_speakTimestamp; // time when message began being spoken
bool m_isSpeaking; // true if this statement is current being spoken
float m_nextTime; // time for next phrase to begin
@ -523,18 +458,18 @@ public:
NORMAL, // full chatter
MINIMAL, // only scenario-critical events
RADIO, // use the standard radio instead
OFF // no chatter at all
OFF // no chatter at all
};
VerbosityType GetVerbosity() const; // return our current level of verbosity
CCSBot *GetOwner() const { return m_me; }
bool IsTalking() const; // return true if we are currently talking
bool IsTalking() const; // return true if we are currently talking
float GetRadioSilenceDuration(); // return time since any teammate said anything
void ResetRadioSilenceDuration();
enum { MUST_ADD = 1 };
void AddStatement(BotStatement *statement, bool mustAdd = false); // register a statement for speaking
void RemoveStatement(BotStatement *statement); // remove a statement
void RemoveStatement(BotStatement *statement); // remove a statement
BotStatement *GetActiveStatement(); // returns the statement that is being spoken, or is next to be spoken if no-one is speaking now
BotStatement *GetStatement() const; // returns our current statement, or NULL if we aren't speaking
@ -590,20 +525,17 @@ public:
bool SeesAtLeastOneEnemy() const { return m_seeAtLeastOneEnemy; }
#ifndef HOOK_GAMEDLL
private:
#endif
BotStatement *m_statementList; // list of all active/pending messages for this bot
void ReportEnemies(); // track nearby enemy count and generate enemy activity statements
bool ShouldSpeak() const; // return true if we speaking makes sense now
BotStatement *m_statementList; // list of all active/pending messages for this bot
void ReportEnemies(); // track nearby enemy count and generate enemy activity statements
bool ShouldSpeak() const; // return true if we speaking makes sense now
CCSBot *m_me; // the bot this chatter is for
bool m_seeAtLeastOneEnemy;
float m_timeWhenSawFirstEnemy;
bool m_reportedEnemies;
bool m_requestedBombLocation; // true if we already asked where the bomb has been planted
bool m_requestedBombLocation; // true if we already asked where the bomb has been planted
int m_pitch;
@ -616,14 +548,14 @@ private:
CountdownTimer m_spottedLooseBombTimer;
CountdownTimer m_heardNoiseTimer;
CountdownTimer m_escortingHostageTimer;
static CountdownTimer IMPL(m_encourageTimer); // timer to know when we can "encourage" the human player again - shared by all bots
static CountdownTimer IMPL(m_encourageTimer); // timer to know when we can "encourage" the human player again - shared by all bots
};
inline BotChatterInterface::VerbosityType BotChatterInterface::GetVerbosity() const
{
const char *string = cv_bot_chatter.string;
if (string == NULL)
if (string == nullptr)
return NORMAL;
if (string[0] == 'm' || string[0] == 'M')
@ -640,8 +572,7 @@ inline BotChatterInterface::VerbosityType BotChatterInterface::GetVerbosity() co
inline bool BotChatterInterface::IsTalking() const
{
if (m_statementList != NULL)
{
if (m_statementList) {
return m_statementList->IsSpeaking();
}

View File

@ -1,6 +1,6 @@
#include "precompiled.h"
void CCSBot::__MAKE_VHOOK(OnEvent)(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
void CCSBot::OnEvent(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
{
GetGameState()->OnEvent(event, entity, other);
GetChatter()->OnEvent(event, entity, other);
@ -113,7 +113,7 @@ void CCSBot::__MAKE_VHOOK(OnEvent)(GameEventType event, CBaseEntity *entity, CBa
// allow us to sneak past windows, doors, etc
IgnoreEnemies(1.0f);
// move to last known position of enemy - this could cause us to flank if
// move to last known position of enemy - this could cause us to flank if
// the danger has changed due to our teammate's recent death
SetTask(MOVE_TO_LAST_KNOWN_ENEMY_POSITION, GetEnemy());
MoveTo(&GetLastKnownEnemyPosition());
@ -133,7 +133,7 @@ void CCSBot::__MAKE_VHOOK(OnEvent)(GameEventType event, CBaseEntity *entity, CBa
GetChatter()->EnemiesRemaining();
if (IsVisible(&victim->pev->origin, CHECK_FOV))
{
{
// congratulate teammates on their kills
if (killer != this)
{

View File

@ -111,7 +111,7 @@ CCSBot::CCSBot() : m_chatter(this), m_gameState(this)
}
// Prepare bot for action
bool CCSBot::__MAKE_VHOOK(Initialize)(const BotProfile *profile)
bool CCSBot::Initialize(const BotProfile *profile)
{
// extend
CBot::Initialize(profile);
@ -292,7 +292,7 @@ void CCSBot::ResetValues()
// Called when bot is placed in map, and when bots are reset after a round ends.
// NOTE: For some reason, this can be called twice when a bot is added.
void CCSBot::__MAKE_VHOOK(SpawnBot)()
void CCSBot::SpawnBot()
{
TheCSBots()->ValidateMapData();
ResetValues();
@ -309,7 +309,7 @@ void CCSBot::__MAKE_VHOOK(SpawnBot)()
}
}
void CCSBot::__MAKE_VHOOK(RoundRespawn)()
void CCSBot::RoundRespawn()
{
// do the normal player spawn process
CBasePlayer::RoundRespawn();

View File

@ -87,7 +87,7 @@ CCSBotManager::CCSBotManager()
}
// Invoked when a new round begins
void CCSBotManager::__MAKE_VHOOK(RestartRound)()
void CCSBotManager::RestartRound()
{
// extend
CBotManager::RestartRound();
@ -168,7 +168,7 @@ void UTIL_DrawBox(Extent *extent, int lifetime, int red, int green, int blue)
// Called each frame
void CCSBotManager::__MAKE_VHOOK(StartFrame)()
void CCSBotManager::StartFrame()
{
// EXTEND
CBotManager::StartFrame();
@ -242,7 +242,7 @@ bool CCSBotManager::IsOnOffense(CBasePlayer *player) const
}
// Invoked when a map has just been loaded
void CCSBotManager::__MAKE_VHOOK(ServerActivate)()
void CCSBotManager::ServerActivate()
{
DestroyNavigationMap();
IMPL(m_isMapDataLoaded) = false;
@ -262,12 +262,12 @@ void CCSBotManager::__MAKE_VHOOK(ServerActivate)()
TheBotPhrases->OnMapChange();
}
void CCSBotManager::__MAKE_VHOOK(AddServerCommand)(const char *cmd)
void CCSBotManager::AddServerCommand(const char *cmd)
{
ADD_SERVER_COMMAND((char *)cmd, Bot_ServerCommand);
}
void CCSBotManager::__MAKE_VHOOK(AddServerCommands)()
void CCSBotManager::AddServerCommands()
{
static bool fFirstTime = true;
@ -322,12 +322,12 @@ void CCSBotManager::__MAKE_VHOOK(AddServerCommands)()
AddServerCommand("bot_nav_check_consistency");
}
void CCSBotManager::__MAKE_VHOOK(ServerDeactivate)()
void CCSBotManager::ServerDeactivate()
{
m_bServerActive = false;
}
void CCSBotManager::__MAKE_VHOOK(ClientDisconnect)(CBasePlayer *pPlayer)
void CCSBotManager::ClientDisconnect(CBasePlayer *pPlayer)
{
if (!pPlayer || !pPlayer->IsBot())
return;
@ -362,7 +362,7 @@ void PrintAllEntities()
}
}
void CCSBotManager::__MAKE_VHOOK(ServerCommand)(const char *pcmd)
void CCSBotManager::ServerCommand(const char *pcmd)
{
if (!m_bServerActive || !AreBotsAllowed())
return;
@ -756,7 +756,7 @@ void CCSBotManager::__MAKE_VHOOK(ServerCommand)(const char *pcmd)
}
}
BOOL CCSBotManager::__MAKE_VHOOK(ClientCommand)(CBasePlayer *pPlayer, const char *pcmd)
BOOL CCSBotManager::ClientCommand(CBasePlayer *pPlayer, const char *pcmd)
{
#ifndef REGAMEDLL_FIXES
if (pPlayer && UTIL_GetLocalPlayer())
@ -1319,7 +1319,7 @@ CNavArea *CCSBotManager::GetRandomAreaInZone(const Zone *zone) const
return zone->m_area[ RANDOM_LONG(0, zone->m_areaCount - 1) ];
}
void CCSBotManager::__MAKE_VHOOK(OnEvent)(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
void CCSBotManager::OnEvent(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
{
switch (event)
{
@ -1380,7 +1380,7 @@ void CCSBotManager::SetLooseBomb(CBaseEntity *bomb)
}
// Return true if player is important to scenario (VIP, bomb carrier, etc)
bool CCSBotManager::__MAKE_VHOOK(IsImportantPlayer)(CBasePlayer *player) const
bool CCSBotManager::IsImportantPlayer(CBasePlayer *player) const
{
switch (GetScenario())
{
@ -1411,7 +1411,7 @@ bool CCSBotManager::__MAKE_VHOOK(IsImportantPlayer)(CBasePlayer *player) const
}
// Return priority of player (0 = max pri)
unsigned int CCSBotManager::__MAKE_VHOOK(GetPlayerPriority)(CBasePlayer *player) const
unsigned int CCSBotManager::GetPlayerPriority(CBasePlayer *player) const
{
const unsigned int lowestPriority = 0xFFFFFFFF;

View File

@ -50,29 +50,12 @@ public:
virtual void AddServerCommand(const char *cmd);
virtual void AddServerCommands();
virtual void RestartRound(); // (EXTEND) invoked when a new round begins
virtual void StartFrame(); // (EXTEND) called each frame
virtual void RestartRound(); // (EXTEND) invoked when a new round begins
virtual void StartFrame(); // (EXTEND) called each frame
virtual void OnEvent(GameEventType event, CBaseEntity *entity = NULL, CBaseEntity *other = NULL);
virtual unsigned int GetPlayerPriority(CBasePlayer *player) const; // return priority of player (0 = max pri)
virtual bool IsImportantPlayer(CBasePlayer *player) const; // return true if player is important to scenario (VIP, bomb carrier, etc)
#ifdef HOOK_GAMEDLL
void ClientDisconnect_(CBasePlayer *pPlayer);
BOOL ClientCommand_(CBasePlayer *pPlayer, const char *pcmd);
void ServerActivate_();
void ServerDeactivate_();
void ServerCommand_(const char *pcmd);
void AddServerCommand_(const char *cmd);
void AddServerCommands_();
void RestartRound_();
void StartFrame_();
void OnEvent_(GameEventType event, CBaseEntity *entity, CBaseEntity *other);
unsigned int GetPlayerPriority_(CBasePlayer *player) const;
bool IsImportantPlayer_(CBasePlayer *player) const;
#endif
virtual void OnEvent(GameEventType event, CBaseEntity *entity = nullptr, CBaseEntity *other = nullptr);
virtual unsigned int GetPlayerPriority(CBasePlayer *player) const; // return priority of player (0 = max pri)
virtual bool IsImportantPlayer(CBasePlayer *player) const; // return true if player is important to scenario (VIP, bomb carrier, etc)
public:
void ValidateMapData();
@ -120,21 +103,21 @@ public:
// "zones"
// depending on the game mode, these are bomb zones, rescue zones, etc.
enum { MAX_ZONES = 4 }; // max # of zones in a map
enum { MAX_ZONE_NAV_AREAS = 16 }; // max # of nav areas in a zone
enum { MAX_ZONE_NAV_AREAS = 16 }; // max # of nav areas in a zone
struct Zone
{
CBaseEntity *m_entity; // the map entity
CNavArea *m_area[MAX_ZONE_NAV_AREAS]; // nav areas that overlap this zone
CNavArea *m_area[MAX_ZONE_NAV_AREAS]; // nav areas that overlap this zone
int m_areaCount;
Vector m_center;
bool m_isLegacy; // if true, use pev->origin and 256 unit radius as zone
bool m_isLegacy; // if true, use pev->origin and 256 unit radius as zone
int m_index;
Extent m_extent;
};
const Zone *GetZone(int i) const { return &m_zone[i]; }
const Zone *GetZone(const Vector *pos) const; // return the zone that contains the given position
const Zone *GetClosestZone(const Vector *pos) const; // return the closest zone to the given position
const Zone *GetClosestZone(const Vector *pos) const; // return the closest zone to the given position
const Zone *GetClosestZone(const CBaseEntity *entity) const { return GetClosestZone(&entity->pev->origin); } // return the closest zone to the given entity
int GetZoneCount() const { return m_zoneCount; }
@ -143,13 +126,13 @@ public:
// Return the zone closest to the given position, using the given cost heuristic
template<typename CostFunctor>
const Zone *GetClosestZone(CNavArea *startArea, CostFunctor costFunc, float *travelDistance = NULL) const
const Zone *GetClosestZone(CNavArea *startArea, CostFunctor costFunc, float *travelDistance = nullptr) const
{
const Zone *closeZone = NULL;
const Zone *closeZone = nullptr;
float closeDist = 99999999.9f;
if (startArea == NULL)
return NULL;
if (startArea == nullptr)
return nullptr;
for (int i = 0; i < m_zoneCount; ++i)
{
@ -166,7 +149,7 @@ public:
}
}
if (travelDistance != NULL)
if (travelDistance)
*travelDistance = closeDist;
return closeZone;
@ -176,22 +159,22 @@ public:
const Zone *GetRandomZone() const
{
if (!m_zoneCount)
return NULL;
return nullptr;
return &m_zone[RANDOM_LONG(0, m_zoneCount - 1)];
}
bool IsBombPlanted() const { return m_isBombPlanted; } // returns true if bomb has been planted
float GetBombPlantTimestamp() const { return m_bombPlantTimestamp; } // return time bomb was planted
bool IsTimeToPlantBomb() const { return (gpGlobals->time >= m_earliestBombPlantTimestamp); } // return true if it's ok to try to plant bomb
CBasePlayer *GetBombDefuser() const { return m_bombDefuser; } // return the player currently defusing the bomb, or NULL
float GetBombTimeLeft() const; // get the time remaining before the planted bomb explodes
CBaseEntity *GetLooseBomb() { return m_looseBomb; } // return the bomb if it is loose on the ground
CNavArea *GetLooseBombArea() const { return m_looseBombArea; } // return area that bomb is in/near
bool IsBombPlanted() const { return m_isBombPlanted; } // returns true if bomb has been planted
float GetBombPlantTimestamp() const { return m_bombPlantTimestamp; } // return time bomb was planted
bool IsTimeToPlantBomb() const { return (gpGlobals->time >= m_earliestBombPlantTimestamp); } // return true if it's ok to try to plant bomb
CBasePlayer *GetBombDefuser() const { return m_bombDefuser; } // return the player currently defusing the bomb, or NULL
float GetBombTimeLeft() const; // get the time remaining before the planted bomb explodes
CBaseEntity *GetLooseBomb() { return m_looseBomb; } // return the bomb if it is loose on the ground
CNavArea *GetLooseBombArea() const { return m_looseBombArea; } // return area that bomb is in/near
void SetLooseBomb(CBaseEntity *bomb);
float GetRadioMessageTimestamp(GameEventType event, int teamID) const; // return the last time the given radio message was sent for given team
float GetRadioMessageInterval(GameEventType event, int teamID) const; // return the interval since the last time this message was sent
float GetRadioMessageTimestamp(GameEventType event, int teamID) const; // return the last time the given radio message was sent for given team
float GetRadioMessageInterval(GameEventType event, int teamID) const; // return the interval since the last time this message was sent
void SetRadioMessageTimestamp(GameEventType event, int teamID);
void ResetRadioMessageTimestamps();
@ -214,7 +197,7 @@ public:
bool IsWeaponUseable(CBasePlayerItem *item) const; // return true if the bot can use this weapon
bool IsDefenseRushing() const { return m_isDefenseRushing; } // returns true if defense team has "decided" to rush this round
bool IsDefenseRushing() const { return m_isDefenseRushing; } // returns true if defense team has "decided" to rush this round
bool IsOnDefense(CBasePlayer *player) const; // return true if this player is on "defense"
bool IsOnOffense(CBasePlayer *player) const; // return true if this player is on "offense"
@ -231,34 +214,32 @@ public:
bool AddBot(const BotProfile *profile, BotProfileTeamType team);
#define FROM_CONSOLE true
bool BotAddCommand(BotProfileTeamType team, bool isFromConsole = false); // process the "bot_add" console command
bool BotAddCommand(BotProfileTeamType team, bool isFromConsole = false); // process the "bot_add" console command
#ifndef HOOK_GAMEDLL
private:
#endif
static float IMPL(m_flNextCVarCheck);
static bool IMPL(m_isMapDataLoaded); // true if we've attempted to load map data
static bool IMPL(m_isMapDataLoaded); // true if we've attempted to load map data
static bool IMPL(m_isLearningMap);
static bool IMPL(m_isAnalysisRequested);
GameScenarioType m_gameScenario; // what kind of game are we playing
GameScenarioType m_gameScenario; // what kind of game are we playing
Zone m_zone[MAX_ZONES];
int m_zoneCount;
bool m_isBombPlanted; // true if bomb has been planted
float m_bombPlantTimestamp; // time bomb was planted
float m_earliestBombPlantTimestamp; // don't allow planting until after this time has elapsed
float m_earliestBombPlantTimestamp; // don't allow planting until after this time has elapsed
CBasePlayer *m_bombDefuser; // the player currently defusing a bomb
EHANDLE m_looseBomb; // will be non-NULL if bomb is loose on the ground
CNavArea *m_looseBombArea; // area that bomb is is/near
bool m_isRoundOver; // true if the round has ended
bool m_isRoundOver; // true if the round has ended
float m_radioMsgTimestamp[24][2];
float m_lastSeenEnemyTimestamp;
float m_roundStartTimestamp; // the time when the current round began
float m_roundStartTimestamp; // the time when the current round began
bool m_isDefenseRushing; // whether defensive team is rushing this round or not

View File

@ -1,7 +1,7 @@
#include "precompiled.h"
// Lightweight maintenance, invoked frequently
void CCSBot::__MAKE_VHOOK(Upkeep)()
void CCSBot::Upkeep()
{
if (TheCSBots()->IsLearningMap() || !IsAlive())
return;
@ -147,7 +147,7 @@ void CCSBot::__MAKE_VHOOK(Upkeep)()
}
// Heavyweight processing, invoked less often
void CCSBot::__MAKE_VHOOK(Update)()
void CCSBot::Update()
{
if (TheCSBots()->IsAnalysisRequested() && m_processMode == PROCESS_NORMAL)
{

View File

@ -194,7 +194,7 @@ void CCSBot::UpdateLookAngles()
#endif // HOOK_GAMEDLL
// Return true if we can see the point
bool CCSBot::__MAKE_VHOOK(IsVisible)(const Vector *pos, bool testFOV) const
bool CCSBot::IsVisible(const Vector *pos, bool testFOV) const
{
// we can't see anything if we're blind
if (IsBlind())
@ -221,7 +221,7 @@ bool CCSBot::__MAKE_VHOOK(IsVisible)(const Vector *pos, bool testFOV) const
// Return true if we can see any part of the player
// Check parts in order of importance. Return the first part seen in "visParts" if it is non-NULL.
bool CCSBot::__MAKE_VHOOK(IsVisible)(CBasePlayer *player, bool testFOV, unsigned char *visParts) const
bool CCSBot::IsVisible(CBasePlayer *player, bool testFOV, unsigned char *visParts) const
{
Vector spot = player->pev->origin;
VisiblePartType testVisParts = NONE;
@ -275,7 +275,7 @@ bool CCSBot::__MAKE_VHOOK(IsVisible)(CBasePlayer *player, bool testFOV, unsigned
return false;
}
bool CCSBot::__MAKE_VHOOK(IsEnemyPartVisible)(VisiblePartType part) const
bool CCSBot::IsEnemyPartVisible(VisiblePartType part) const
{
if (!IsEnemyVisible())
return false;
@ -974,7 +974,7 @@ float CCSBot::GetRangeToNearestRecognizedEnemy()
}
// Blind the bot for the given duration
void CCSBot::__MAKE_VHOOK(Blind)(float duration, float holdTime, float fadeTime, int alpha)
void CCSBot::Blind(float duration, float holdTime, float fadeTime, int alpha)
{
// extend
CBasePlayer::Blind(duration, holdTime, fadeTime, alpha);

View File

@ -793,7 +793,7 @@ void CCSBot::SilencerCheck()
}
// Invoked when in contact with a CWeaponBox
void CCSBot::__MAKE_VHOOK(OnTouchingWeapon)(CWeaponBox *box)
void CCSBot::OnTouchingWeapon(CWeaponBox *box)
{
auto pDroppedWeapon = box->m_rgpPlayerItems[ PRIMARY_WEAPON_SLOT ];

View File

@ -43,7 +43,7 @@ public:
void Reset();
void OnEvent(GameEventType event, CBaseEntity *entity, CBaseEntity *other); // Event handling
bool IsRoundOver() const; // true if round has been won or lost (but not yet reset)
bool IsRoundOver() const; // true if round has been won or lost (but not yet reset)
// bomb defuse scenario
enum BombState
@ -73,22 +73,22 @@ public:
void MarkBombsiteAsPlanted(int zoneIndex); // mark bombsite as the location of the planted bomb
enum { UNKNOWN = -1 };
int GetPlantedBombsite() const; // return the zone index of the planted bombsite, or UNKNOWN
bool IsAtPlantedBombsite() const; // return true if we are currently in the bombsite where the bomb is planted
int GetPlantedBombsite() const; // return the zone index of the planted bombsite, or UNKNOWN
bool IsAtPlantedBombsite() const; // return true if we are currently in the bombsite where the bomb is planted
int GetNextBombsiteToSearch(); // return the zone index of the next bombsite to search
int GetNextBombsiteToSearch(); // return the zone index of the next bombsite to search
bool IsBombsiteClear(int zoneIndex) const; // return true if given bombsite has been cleared
void ClearBombsite(int zoneIndex); // mark bombsite as clear
void ClearBombsite(int zoneIndex); // mark bombsite as clear
const Vector *GetBombPosition() const; // return where we think the bomb is, or NULL if we don't know
// hostage rescue scenario
CHostage *GetNearestFreeHostage(Vector *knowPos = NULL) const; // return the closest free hostage, and where we think it is (knowPos)
const Vector *GetRandomFreeHostagePosition();
bool AreAllHostagesBeingRescued() const; // return true if there are no free hostages
bool AreAllHostagesGone() const; // all hostages have been rescued or are dead
bool AreAllHostagesBeingRescued() const; // return true if there are no free hostages
bool AreAllHostagesGone() const; // all hostages have been rescued or are dead
void AllHostagesGone(); // someone told us all the hostages are gone
bool HaveSomeHostagesBeenTaken() const { return m_haveSomeHostagesBeenTaken; } // return true if one or more hostages have been moved by the CT's
bool HaveSomeHostagesBeenTaken() const { return m_haveSomeHostagesBeenTaken; } // return true if one or more hostages have been moved by the CT's
void HostageWasTaken() { m_haveSomeHostagesBeenTaken = true; } // someone told us a CT is talking to a hostage
CHostage *GetNearestVisibleFreeHostage() const;
@ -103,10 +103,7 @@ public:
};
ValidateStatusType ValidateHostagePositions(); // update our knowledge with what we currently see - returns bitflag events
#ifndef HOOK_GAMEDLL
private:
#endif
CCSBot *m_owner; // who owns this gamestate
bool m_isRoundOver; // true if round is over, but no yet reset
@ -123,13 +120,13 @@ private:
Vector m_looseBombPos;
bool m_isBombsiteClear[4]; // corresponds to zone indices in CCSBotManager
int m_bombsiteSearchOrder[4]; // randomized order of bombsites to search
int m_bombsiteSearchOrder[4]; // randomized order of bombsites to search
int m_bombsiteCount;
int m_bombsiteSearchIndex; // the next step in the search
int m_plantedBombsite; // zone index of the bombsite where the planted bomb is
bool m_isPlantedBombPosKnown; // if true, we know the exact location of the bomb
bool m_isPlantedBombPosKnown; // if true, we know the exact location of the bomb
Vector m_plantedBombPos;
// hostage rescue scenario
@ -142,12 +139,12 @@ private:
bool isFree; // not being escorted by a CT
}
m_hostage[MAX_HOSTAGES];
int m_hostageCount; // number of hostages left in map
int m_hostageCount; // number of hostages left in map
CountdownTimer m_validateInterval;
CBaseEntity *GetNearestHostage() const; // return the closest live hostage
CBaseEntity *GetNearestHostage() const; // return the closest live hostage
void InitializeHostageInfo(); // initialize our knowledge of the number and location of hostages
bool m_allHostagesRescued; // if true, so every hostages been is rescued
bool m_allHostagesRescued; // if true, so every hostages been is rescued
bool m_haveSomeHostagesBeenTaken; // true if a hostage has been moved by a CT (and we've seen it)
};

View File

@ -1,7 +1,7 @@
#include "precompiled.h"
// Begin attacking
void AttackState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void AttackState::OnEnter(CCSBot *me)
{
CBasePlayer *enemy = me->GetEnemy();
@ -125,7 +125,7 @@ void AttackState::StopAttacking(CCSBot *me)
}
// Perform attack behavior
void AttackState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void AttackState::OnUpdate(CCSBot *me)
{
// can't be stuck while attacking
me->ResetStuckMonitor();
@ -534,7 +534,7 @@ void AttackState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
}
// Finish attack
void AttackState::__MAKE_VHOOK(OnExit)(CCSBot *me)
void AttackState::OnExit(CCSBot *me)
{
me->PrintIfWatched("AttackState:OnExit()\n");

View File

@ -17,7 +17,7 @@ bool HasDefaultPistol(CCSBot *me)
}
// Buy weapons, armor, etc.
void BuyState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void BuyState::OnEnter(CCSBot *me)
{
m_retries = 0;
m_prefRetries = 0;
@ -125,64 +125,64 @@ enum WeaponType
struct BuyInfo
{
WeaponType type;
bool preferred; // more challenging bots prefer these weapons
char *buyAlias; // the buy alias for this equipment
bool preferred; // more challenging bots prefer these weapons
char *buyAlias; // the buy alias for this equipment
};
// These tables MUST be kept in sync with the CT and T buy aliases
#ifndef HOOK_GAMEDLL
static BuyInfo primaryWeaponBuyInfoCT[ PRIMARY_WEAPON_BUY_COUNT ] =
BuyInfo primaryWeaponBuyInfoCT[ PRIMARY_WEAPON_BUY_COUNT ] =
{
{ SHOTGUN, false, "m3" }, // WEAPON_M3
{ SHOTGUN, false, "xm1014" }, // WEAPON_XM1014
{ SUB_MACHINE_GUN, false, "tmp" }, // WEAPON_TMP
{ SUB_MACHINE_GUN, false, "mp5" }, // WEAPON_MP5N
{ SUB_MACHINE_GUN, false, "ump45" }, // WEAPON_UMP45
{ SUB_MACHINE_GUN, false, "p90" }, // WEAPON_P90
{ RIFLE, true, "famas" }, // WEAPON_FAMAS
{ SNIPER_RIFLE, false, "scout" }, // WEAPON_SCOUT
{ RIFLE, true, "m4a1" }, // WEAPON_M4A1
{ RIFLE, false, "aug" }, // WEAPON_AUG
{ SNIPER_RIFLE, true, "sg550" }, // WEAPON_SG550
{ SNIPER_RIFLE, true, "awp" }, // WEAPON_AWP
{ MACHINE_GUN, false, "m249" } // WEAPON_M249
{ SHOTGUN, false, "m3" }, // WEAPON_M3
{ SHOTGUN, false, "xm1014" }, // WEAPON_XM1014
{ SUB_MACHINE_GUN, false, "tmp" }, // WEAPON_TMP
{ SUB_MACHINE_GUN, false, "mp5" }, // WEAPON_MP5N
{ SUB_MACHINE_GUN, false, "ump45" }, // WEAPON_UMP45
{ SUB_MACHINE_GUN, false, "p90" }, // WEAPON_P90
{ RIFLE, true, "famas" }, // WEAPON_FAMAS
{ SNIPER_RIFLE, false, "scout" }, // WEAPON_SCOUT
{ RIFLE, true, "m4a1" }, // WEAPON_M4A1
{ RIFLE, false, "aug" }, // WEAPON_AUG
{ SNIPER_RIFLE, true, "sg550" }, // WEAPON_SG550
{ SNIPER_RIFLE, true, "awp" }, // WEAPON_AWP
{ MACHINE_GUN, false, "m249" }, // WEAPON_M249
};
static BuyInfo secondaryWeaponBuyInfoCT[ SECONDARY_WEAPON_BUY_COUNT ] =
BuyInfo secondaryWeaponBuyInfoCT[ SECONDARY_WEAPON_BUY_COUNT ] =
{
// { PISTOL, false, "glock" },
// { PISTOL, false, "usp" },
{ PISTOL, true, "p228" },
{ PISTOL, true, "deagle" },
{ PISTOL, true, "fn57" }
// { PISTOL, false, "glock" },
// { PISTOL, false, "usp" },
{ PISTOL, true, "p228" },
{ PISTOL, true, "deagle" },
{ PISTOL, true, "fn57" },
};
static BuyInfo primaryWeaponBuyInfoT[ PRIMARY_WEAPON_BUY_COUNT ] =
BuyInfo primaryWeaponBuyInfoT[ PRIMARY_WEAPON_BUY_COUNT ] =
{
{ SHOTGUN, false, "m3" }, // WEAPON_M3
{ SHOTGUN, false, "xm1014" }, // WEAPON_XM1014
{ SUB_MACHINE_GUN, false, "mac10" }, // WEAPON_MAC10
{ SUB_MACHINE_GUN, false, "mp5" }, // WEAPON_MP5N
{ SUB_MACHINE_GUN, false, "ump45" }, // WEAPON_UMP45
{ SUB_MACHINE_GUN, false, "p90" }, // WEAPON_P90
{ RIFLE, true, "galil" }, // WEAPON_GALIL
{ RIFLE, true, "ak47" }, // WEAPON_AK47
{ SNIPER_RIFLE, false, "scout" }, // WEAPON_SCOUT
{ RIFLE, true, "sg552" }, // WEAPON_SG552
{ SNIPER_RIFLE, true, "awp" }, // WEAPON_AWP
{ SNIPER_RIFLE, true, "g3sg1" }, // WEAPON_G3SG1
{ MACHINE_GUN, false, "m249" } // WEAPON_M249
{ SHOTGUN, false, "m3" }, // WEAPON_M3
{ SHOTGUN, false, "xm1014" }, // WEAPON_XM1014
{ SUB_MACHINE_GUN, false, "mac10" }, // WEAPON_MAC10
{ SUB_MACHINE_GUN, false, "mp5" }, // WEAPON_MP5N
{ SUB_MACHINE_GUN, false, "ump45" }, // WEAPON_UMP45
{ SUB_MACHINE_GUN, false, "p90" }, // WEAPON_P90
{ RIFLE, true, "galil" }, // WEAPON_GALIL
{ RIFLE, true, "ak47" }, // WEAPON_AK47
{ SNIPER_RIFLE, false, "scout" }, // WEAPON_SCOUT
{ RIFLE, true, "sg552" }, // WEAPON_SG552
{ SNIPER_RIFLE, true, "awp" }, // WEAPON_AWP
{ SNIPER_RIFLE, true, "g3sg1" }, // WEAPON_G3SG1
{ MACHINE_GUN, false, "m249" }, // WEAPON_M249
};
static BuyInfo secondaryWeaponBuyInfoT[ SECONDARY_WEAPON_BUY_COUNT ] =
BuyInfo secondaryWeaponBuyInfoT[ SECONDARY_WEAPON_BUY_COUNT ] =
{
// { PISTOL, false, "glock" },
// { PISTOL, false, "usp" },
{ PISTOL, true, "p228" },
{ PISTOL, true, "deagle" },
{ PISTOL, true, "elites" }
// { PISTOL, false, "glock" },
// { PISTOL, false, "usp" },
{ PISTOL, true, "p228" },
{ PISTOL, true, "deagle" },
{ PISTOL, true, "elites" },
};
#else // HOOK_GAMEDLL
@ -220,7 +220,7 @@ inline WeaponType GetWeaponType(const char *alias)
return NUM_WEAPON_TYPES;
}
void BuyState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void BuyState::OnUpdate(CCSBot *me)
{
// wait for a Navigation Mesh
if (!TheNavAreaList.size())
@ -516,7 +516,7 @@ void BuyState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
}
}
void BuyState::__MAKE_VHOOK(OnExit)(CCSBot *me)
void BuyState::OnExit(CCSBot *me)
{
me->ResetStuckMonitor();
me->EquipBestWeapon();

View File

@ -1,7 +1,7 @@
#include "precompiled.h"
// Begin defusing the bomb
void DefuseBombState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void DefuseBombState::OnEnter(CCSBot *me)
{
me->Crouch();
me->SetDisposition(CCSBot::SELF_DEFENSE);
@ -9,7 +9,7 @@ void DefuseBombState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
}
// Defuse the bomb
void DefuseBombState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void DefuseBombState::OnUpdate(CCSBot *me)
{
const Vector *bombPos = me->GetGameState()->GetBombPosition();
@ -60,7 +60,7 @@ void DefuseBombState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
}
}
void DefuseBombState::__MAKE_VHOOK(OnExit)(CCSBot *me)
void DefuseBombState::OnExit(CCSBot *me)
{
me->StandUp();
me->ResetStuckMonitor();

View File

@ -1,6 +1,6 @@
#include "precompiled.h"
void EscapeFromBombState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void EscapeFromBombState::OnEnter(CCSBot *me)
{
me->StandUp();
me->Run();
@ -9,7 +9,7 @@ void EscapeFromBombState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
}
// Escape from the bomb
void EscapeFromBombState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void EscapeFromBombState::OnUpdate(CCSBot *me)
{
const Vector *bombPos = me->GetGameState()->GetBombPosition();
@ -37,7 +37,7 @@ void EscapeFromBombState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
}
}
void EscapeFromBombState::__MAKE_VHOOK(OnExit)(CCSBot *me)
void EscapeFromBombState::OnExit(CCSBot *me)
{
me->EquipBestWeapon();
}

View File

@ -1,13 +1,13 @@
#include "precompiled.h"
// Move to the bomb on the floor and pick it up
void FetchBombState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void FetchBombState::OnEnter(CCSBot *me)
{
me->DestroyPath();
}
// Move to the bomb on the floor and pick it up
void FetchBombState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void FetchBombState::OnUpdate(CCSBot *me)
{
if (me->IsCarryingBomb())
{

View File

@ -1,7 +1,7 @@
#include "precompiled.h"
// Follow our leader
void FollowState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void FollowState::OnEnter(CCSBot *me)
{
me->StandUp();
me->Run();
@ -72,7 +72,7 @@ void FollowState::ComputeLeaderMotionState(float leaderSpeed)
// Follow our leader
// TODO: Clean up this nasty mess
void FollowState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void FollowState::OnUpdate(CCSBot *me)
{
// if we lost our leader, give up
if (m_leader == NULL || !m_leader->IsAlive())
@ -254,7 +254,7 @@ void FollowState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
}
}
void FollowState::__MAKE_VHOOK(OnExit)(CCSBot *me)
void FollowState::OnExit(CCSBot *me)
{
;
}

View File

@ -2,7 +2,7 @@
// Begin moving to a nearby hidey-hole.
// NOTE: Do not forget this state may include a very long "move-to" time to get to our hidey spot!
void HideState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void HideState::OnEnter(CCSBot *me)
{
m_isAtSpot = false;
@ -40,7 +40,7 @@ void HideState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
// Move to a nearby hidey-hole.
// NOTE: Do not forget this state may include a very long "move-to" time to get to our hidey spot!
void HideState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void HideState::OnUpdate(CCSBot *me)
{
// wait until finished reloading to leave hide state
if (!me->IsActiveWeaponReloading())
@ -421,7 +421,7 @@ void HideState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
}
}
void HideState::__MAKE_VHOOK(OnExit)(CCSBot *me)
void HideState::OnExit(CCSBot *me)
{
m_isHoldingPosition = false;

View File

@ -1,7 +1,7 @@
#include "precompiled.h"
// Begin the hunt
void HuntState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void HuntState::OnEnter(CCSBot *me)
{
// lurking death
if (me->IsUsingKnife() && me->IsWellPastSafe() && !me->IsHurrying())
@ -16,7 +16,7 @@ void HuntState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
}
// Hunt down our enemies
void HuntState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void HuntState::OnUpdate(CCSBot *me)
{
// if we've been hunting for a long time, drop into Idle for a moment to
// select something else to do
@ -188,7 +188,7 @@ void HuntState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
}
// Done hunting
void HuntState::__MAKE_VHOOK(OnExit)(CCSBot *me)
void HuntState::OnExit(CCSBot *me)
{
;
}

View File

@ -6,7 +6,7 @@ const float sniperHideRange = 2000.0f;
// The Idle state.
// We never stay in the Idle state - it is a "home base" for the state machine that
// does various checks to determine what we should do next.
void IdleState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void IdleState::OnEnter(CCSBot *me)
{
me->DestroyPath();
me->SetEnemy(NULL);
@ -21,7 +21,7 @@ void IdleState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
}
// Determine what we should do next
void IdleState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void IdleState::OnUpdate(CCSBot *me)
{
// all other states assume GetLastKnownArea() is valid, ensure that it is
if (!me->GetLastKnownArea() && me->StayOnNavMesh() == false)

View File

@ -21,13 +21,13 @@ void InvestigateNoiseState::AttendCurrentNoise(CCSBot *me)
me->ForgetNoise();
}
void InvestigateNoiseState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void InvestigateNoiseState::OnEnter(CCSBot *me)
{
AttendCurrentNoise(me);
}
// Use TravelDistance instead of distance...
void InvestigateNoiseState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void InvestigateNoiseState::OnUpdate(CCSBot *me)
{
float newNoiseDist;
if (me->ShouldInvestigateNoise(&newNoiseDist))
@ -104,7 +104,7 @@ void InvestigateNoiseState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
}
}
void InvestigateNoiseState::__MAKE_VHOOK(OnExit)(CCSBot *me)
void InvestigateNoiseState::OnExit(CCSBot *me)
{
// reset to run mode in case we were sneaking about
me->Run();

View File

@ -1,7 +1,7 @@
#include "precompiled.h"
// Move to a potentially far away position.
void MoveToState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void MoveToState::OnEnter(CCSBot *me)
{
if (me->IsUsingKnife() && me->IsWellPastSafe() && !me->IsHurrying())
{
@ -35,7 +35,7 @@ void MoveToState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
}
// Move to a potentially far away position.
void MoveToState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void MoveToState::OnUpdate(CCSBot *me)
{
// assume that we are paying attention and close enough to know our enemy died
if (me->GetTask() == CCSBot::MOVE_TO_LAST_KNOWN_ENEMY_POSITION)
@ -287,7 +287,7 @@ void MoveToState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
}
}
void MoveToState::__MAKE_VHOOK(OnExit)(CCSBot *me)
void MoveToState::OnExit(CCSBot *me)
{
// reset to run in case we were walking near our goal position
me->Run();

View File

@ -1,7 +1,7 @@
#include "precompiled.h"
// Plant the bomb.
void PlantBombState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void PlantBombState::OnEnter(CCSBot *me)
{
me->Crouch();
me->SetDisposition(CCSBot::SELF_DEFENSE);
@ -14,7 +14,7 @@ void PlantBombState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
}
// Plant the bomb.
void PlantBombState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void PlantBombState::OnUpdate(CCSBot *me)
{
CBasePlayerWeapon *gun = me->GetActiveWeapon();
bool holdingC4 = false;
@ -44,7 +44,7 @@ void PlantBombState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
me->Idle();
}
void PlantBombState::__MAKE_VHOOK(OnExit)(CCSBot *me)
void PlantBombState::OnExit(CCSBot *me)
{
// equip our rifle (in case we were interrupted while holding C4)
me->EquipBestWeapon();

View File

@ -2,12 +2,12 @@
// Face the entity and "use" it
// NOTE: This state assumes we are standing in range of the entity to be used, with no obstructions.
void UseEntityState::__MAKE_VHOOK(OnEnter)(CCSBot *me)
void UseEntityState::OnEnter(CCSBot *me)
{
;
}
void UseEntityState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
void UseEntityState::OnUpdate(CCSBot *me)
{
// in the very rare situation where two or more bots "used" a hostage at the same time,
// one bot will fail and needs to time out of this state
@ -38,7 +38,7 @@ void UseEntityState::__MAKE_VHOOK(OnUpdate)(CCSBot *me)
}
}
void UseEntityState::__MAKE_VHOOK(OnExit)(CCSBot *me)
void UseEntityState::OnExit(CCSBot *me)
{
me->ClearLookAt();
me->ResetStuckMonitor();

View File

@ -55,7 +55,7 @@ TYPEDESCRIPTION CEnvSpark::m_SaveData[] =
IMPLEMENT_SAVERESTORE(CEnvGlobal, CBaseEntity)
LINK_ENTITY_TO_CLASS(env_global, CEnvGlobal, CCSEnvGlobal)
void CEnvGlobal::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CEnvGlobal::KeyValue(KeyValueData *pkvd)
{
pkvd->fHandled = TRUE;
@ -76,7 +76,7 @@ void CEnvGlobal::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CPointEntity::KeyValue(pkvd);
}
void CEnvGlobal::__MAKE_VHOOK(Spawn)()
void CEnvGlobal::Spawn()
{
if (!m_globalstate)
{
@ -93,7 +93,7 @@ void CEnvGlobal::__MAKE_VHOOK(Spawn)()
}
}
void CEnvGlobal::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CEnvGlobal::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
GLOBALESTATE oldState = gGlobalState.EntityGetState(m_globalstate);
GLOBALESTATE newState;
@ -138,7 +138,7 @@ IMPLEMENT_SAVERESTORE(CMultiSource, CBaseEntity)
LINK_ENTITY_TO_CLASS(multisource, CMultiSource, CCSMultiSource)
// Cache user-entity-field values until spawn is called.
void CMultiSource::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CMultiSource::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "style")
|| FStrEq(pkvd->szKeyName, "height")
@ -157,7 +157,7 @@ void CMultiSource::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CPointEntity::KeyValue(pkvd);
}
void CMultiSource::__MAKE_VHOOK(Spawn)()
void CMultiSource::Spawn()
{
// set up think for later registration
pev->solid = SOLID_NOT;
@ -178,7 +178,7 @@ void CMultiSource::Restart()
}
#endif
void CMultiSource::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CMultiSource::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
int i = 0;
@ -214,7 +214,7 @@ void CMultiSource::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCall
}
}
BOOL CMultiSource::__MAKE_VHOOK(IsTriggered)(CBaseEntity *)
BOOL CMultiSource::IsTriggered(CBaseEntity *)
{
// Is everything triggered?
int i = 0;
@ -295,7 +295,7 @@ void CMultiSource::Register()
IMPLEMENT_SAVERESTORE(CBaseButton, CBaseToggle)
void CBaseButton::__MAKE_VHOOK(Precache)()
void CBaseButton::Precache()
{
char *pszSound;
@ -355,7 +355,7 @@ void CBaseButton::__MAKE_VHOOK(Precache)()
}
// Cache user-entity-field values until spawn is called.
void CBaseButton::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CBaseButton::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "changetarget"))
{
@ -392,7 +392,7 @@ void CBaseButton::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
}
// ButtonShot
BOOL CBaseButton::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
BOOL CBaseButton::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{
BUTTON_CODE code = ButtonResponseToTouch();
@ -447,7 +447,7 @@ BOOL CBaseButton::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *p
// 3) in-out
LINK_ENTITY_TO_CLASS(func_button, CBaseButton, CCSButton)
void CBaseButton::__MAKE_VHOOK(Spawn)()
void CBaseButton::Spawn()
{
char *pszSound;
@ -834,7 +834,7 @@ void CBaseButton::ButtonBackHome()
LINK_ENTITY_TO_CLASS(func_rot_button, CRotButton, CCSRotButton)
void CRotButton::__MAKE_VHOOK(Spawn)()
void CRotButton::Spawn()
{
char *pszSound;
@ -899,7 +899,7 @@ void CRotButton::__MAKE_VHOOK(Spawn)()
IMPLEMENT_SAVERESTORE(CMomentaryRotButton, CBaseToggle)
LINK_ENTITY_TO_CLASS(momentary_rot_button, CMomentaryRotButton, CCSMomentaryRotButton)
void CMomentaryRotButton::__MAKE_VHOOK(Spawn)()
void CMomentaryRotButton::Spawn()
{
CBaseToggle::AxisDir(pev);
@ -939,7 +939,7 @@ void CMomentaryRotButton::__MAKE_VHOOK(Spawn)()
m_lastUsed = 0;
}
void CMomentaryRotButton::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CMomentaryRotButton::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "returnspeed"))
{
@ -963,7 +963,7 @@ void CMomentaryRotButton::PlaySound()
// BUGBUG: This design causes a latentcy. When the button is retriggered, the first impulse
// will send the target in the wrong direction because the parameter is calculated based on the
// current, not future position.
void CMomentaryRotButton::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CMomentaryRotButton::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
pev->ideal_yaw = CBaseToggle::AxisDelta(pev->spawnflags, pev->angles, m_start) / m_flMoveDistance;
@ -1115,7 +1115,7 @@ IMPLEMENT_SAVERESTORE(CEnvSpark, CBaseEntity)
LINK_ENTITY_TO_CLASS(env_spark, CEnvSpark, CCSEnvSpark)
LINK_ENTITY_TO_CLASS(env_debris, CEnvSpark, CCSEnvSpark)
void CEnvSpark::__MAKE_VHOOK(Spawn)()
void CEnvSpark::Spawn()
{
SetThink(NULL);
SetUse(NULL);
@ -1148,7 +1148,7 @@ void CEnvSpark::__MAKE_VHOOK(Spawn)()
Precache();
}
void CEnvSpark::__MAKE_VHOOK(Precache)()
void CEnvSpark::Precache()
{
PRECACHE_SOUND("buttons/spark1.wav");
PRECACHE_SOUND("buttons/spark2.wav");
@ -1158,7 +1158,7 @@ void CEnvSpark::__MAKE_VHOOK(Precache)()
PRECACHE_SOUND("buttons/spark6.wav");
}
void CEnvSpark::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CEnvSpark::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "MaxDelay"))
{
@ -1197,7 +1197,7 @@ void CEnvSpark::SparkStop(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYP
LINK_ENTITY_TO_CLASS(button_target, CButtonTarget, CCSButtonTarget)
void CButtonTarget::__MAKE_VHOOK(Spawn)()
void CButtonTarget::Spawn()
{
pev->movetype = MOVETYPE_PUSH;
pev->solid = SOLID_BSP;
@ -1211,7 +1211,7 @@ void CButtonTarget::__MAKE_VHOOK(Spawn)()
}
}
void CButtonTarget::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CButtonTarget::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!ShouldToggle(useType, int(pev->frame)))
return;
@ -1226,7 +1226,7 @@ void CButtonTarget::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCal
SUB_UseTargets(pActivator, USE_OFF, 0);
}
int CButtonTarget::__MAKE_VHOOK(ObjectCaps)()
int CButtonTarget::ObjectCaps()
{
int caps = (CBaseEntity::ObjectCaps() & ~FCAP_ACROSS_TRANSITION);
@ -1236,7 +1236,7 @@ int CButtonTarget::__MAKE_VHOOK(ObjectCaps)()
return caps;
}
BOOL CButtonTarget::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
BOOL CButtonTarget::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{
Use(Instance(pevAttacker), this, USE_TOGGLE, 0);
return TRUE;

View File

@ -63,16 +63,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[3];
@ -85,12 +75,6 @@ class CRotButton: public CBaseButton
{
public:
virtual void Spawn();
#ifdef HOOK_GAMEDLL
void Spawn_();
#endif
};
class CMomentaryRotButton: public CBaseToggle
@ -113,16 +97,6 @@ public:
}
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT Off();
void EXPORT Return();
@ -153,16 +127,6 @@ public:
virtual int Save(CSave &save);
virtual int Restore(CRestore &restore);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
#endif
public:
void EXPORT SparkThink();
void EXPORT SparkStart(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
@ -180,16 +144,6 @@ public:
virtual int ObjectCaps();
virtual BOOL TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
int ObjectCaps_();
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
};
char *ButtonSound(int sound);

View File

@ -9,27 +9,27 @@ CCareerTaskManager *TheCareerTasks = NULL;
const TaskInfo taskInfo[] =
{
{ "defuse", EVENT_BOMB_DEFUSED, &CCareerTask::NewTask },
{ "plant", EVENT_BOMB_PLANTED, &CCareerTask::NewTask },
{ "rescue", EVENT_HOSTAGE_RESCUED, &CCareerTask::NewTask },
{ "killall", EVENT_KILL_ALL, &CCareerTask::NewTask },
{ "kill", EVENT_KILL, &CCareerTask::NewTask },
{ "killwith", EVENT_KILL, &CCareerTask::NewTask },
{ "killblind", EVENT_KILL_FLASHBANGED, &CCareerTask::NewTask },
{ "killvip", EVENT_KILL, &CCareerTask::NewTask },
{ "headshot", EVENT_HEADSHOT, &CCareerTask::NewTask },
{ "headshotwith", EVENT_HEADSHOT, &CCareerTask::NewTask },
{ "winfast", EVENT_ROUND_WIN, &CCareerTask::NewTask },
{ "rescue", EVENT_HOSTAGE_RESCUED, &CCareerTask::NewTask },
{ "rescueall", EVENT_ALL_HOSTAGES_RESCUED, &CCareerTask::NewTask },
{ "injure", EVENT_PLAYER_TOOK_DAMAGE, &CCareerTask::NewTask },
{ "injurewith", EVENT_PLAYER_TOOK_DAMAGE, &CCareerTask::NewTask },
{ "killdefuser", EVENT_KILL, &CCareerTask::NewTask },
{ "stoprescue", EVENT_KILL, &CCareerTask::NewTask },
{ "defendhostages", EVENT_ROUND_WIN, &CCareerTask::NewTask },
{ "hostagessurvive", EVENT_ROUND_WIN, &CCareerTask::NewTask },
{ "preventdefuse", EVENT_ROUND_WIN, &CPreventDefuseTask::NewTask },
{ NULL, EVENT_INVALID, &CCareerTask::NewTask }
{ "defuse", EVENT_BOMB_DEFUSED, &CCareerTask::NewTask },
{ "plant", EVENT_BOMB_PLANTED, &CCareerTask::NewTask },
{ "rescue", EVENT_HOSTAGE_RESCUED, &CCareerTask::NewTask },
{ "killall", EVENT_KILL_ALL, &CCareerTask::NewTask },
{ "kill", EVENT_KILL, &CCareerTask::NewTask },
{ "killwith", EVENT_KILL, &CCareerTask::NewTask },
{ "killblind", EVENT_KILL_FLASHBANGED, &CCareerTask::NewTask },
{ "killvip", EVENT_KILL, &CCareerTask::NewTask },
{ "headshot", EVENT_HEADSHOT, &CCareerTask::NewTask },
{ "headshotwith", EVENT_HEADSHOT, &CCareerTask::NewTask },
{ "winfast", EVENT_ROUND_WIN, &CCareerTask::NewTask },
{ "rescue", EVENT_HOSTAGE_RESCUED, &CCareerTask::NewTask },
{ "rescueall", EVENT_ALL_HOSTAGES_RESCUED, &CCareerTask::NewTask },
{ "injure", EVENT_PLAYER_TOOK_DAMAGE, &CCareerTask::NewTask },
{ "injurewith", EVENT_PLAYER_TOOK_DAMAGE, &CCareerTask::NewTask },
{ "killdefuser", EVENT_KILL, &CCareerTask::NewTask },
{ "stoprescue", EVENT_KILL, &CCareerTask::NewTask },
{ "defendhostages", EVENT_ROUND_WIN, &CCareerTask::NewTask },
{ "hostagessurvive", EVENT_ROUND_WIN, &CCareerTask::NewTask },
{ "preventdefuse", EVENT_ROUND_WIN, &CPreventDefuseTask::NewTask },
{ nullptr, EVENT_INVALID, &CCareerTask::NewTask },
};
#endif
@ -52,7 +52,7 @@ CPreventDefuseTask::CPreventDefuseTask(const char *taskName, GameEventType event
m_defuseStartedThisRound = false;
}
void CPreventDefuseTask::__MAKE_VHOOK(Reset)()
void CPreventDefuseTask::Reset()
{
m_bombPlantedThisRound = false;
m_defuseStartedThisRound = false;
@ -60,7 +60,7 @@ void CPreventDefuseTask::__MAKE_VHOOK(Reset)()
CCareerTask::Reset();
}
void CPreventDefuseTask::__MAKE_VHOOK(OnEvent)(GameEventType event, CBasePlayer *pAttacker, CBasePlayer *pVictim)
void CPreventDefuseTask::OnEvent(GameEventType event, CBasePlayer *pAttacker, CBasePlayer *pVictim)
{
if (IsComplete())
return;
@ -123,7 +123,7 @@ CCareerTask::CCareerTask(const char *taskName, GameEventType event, const char *
}
}
void CCareerTask::__MAKE_VHOOK(Reset)()
void CCareerTask::Reset()
{
m_eventsSeen = 0;
m_isComplete = false;
@ -225,7 +225,7 @@ void CCareerTask::OnWeaponInjury(int weaponId, int weaponClassId, bool attackerH
SendPartialNotification();
}
void CCareerTask::__MAKE_VHOOK(OnEvent)(GameEventType event, CBasePlayer *pVictim, CBasePlayer *pAttacker)
void CCareerTask::OnEvent(GameEventType event, CBasePlayer *pVictim, CBasePlayer *pAttacker)
{
if (m_isComplete)
return;

View File

@ -44,13 +44,6 @@ public:
virtual void Reset();
virtual bool IsTaskCompletableThisRound() { return true; }
#ifdef HOOK_GAMEDLL
void OnEvent_(GameEventType event, CBasePlayer *pAttacker, CBasePlayer *pVictim);
void Reset_();
#endif
public:
static CCareerTask *NewTask(const char *taskName, GameEventType event, const char *weaponName, int n, bool mustLive, bool crossRounds, int id, bool isComplete);
@ -97,13 +90,6 @@ public:
virtual void Reset();
virtual bool IsTaskCompletableThisRound() { return m_bombPlantedThisRound && !m_defuseStartedThisRound; }
#ifdef HOOK_GAMEDLL
void OnEvent_(GameEventType event, CBasePlayer *pAttacker, CBasePlayer *pVictim);
void Reset_();
#endif
public:
static CCareerTask *NewTask(const char *taskName, GameEventType event, const char *weaponName, int n, bool mustLive, bool crossRounds, int id, bool isComplete);

View File

@ -303,22 +303,10 @@ void REMOVE_ENTITY(edict_t *pEntity)
}
}
void CONSOLE_ECHO_(char *pszMsg, ...)
{
va_list argptr;
static char szStr[1024];
va_start(argptr, pszMsg);
vsprintf(szStr, pszMsg, argptr);
va_end(argptr);
SERVER_PRINT(szStr);
}
void loopPerformance()
{
CPerformanceCounter loopCounter;
loopCounter.InitializePerformanceCounter();
CCounter loopCounter;
loopCounter.Init();
double start, end;
int i;
@ -777,7 +765,7 @@ CBaseEntity *EHANDLE::operator->()
return (CBaseEntity *)GET_PRIVATE(Get());
}
BOOL CBaseEntity::__MAKE_VHOOK(TakeHealth)(float flHealth, int bitsDamageType)
BOOL CBaseEntity::TakeHealth(float flHealth, int bitsDamageType)
{
if (pev->takedamage == DAMAGE_NO)
return FALSE;
@ -795,7 +783,7 @@ BOOL CBaseEntity::__MAKE_VHOOK(TakeHealth)(float flHealth, int bitsDamageType)
return TRUE;
}
BOOL CBaseEntity::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
BOOL CBaseEntity::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{
Vector vecTemp;
@ -846,14 +834,14 @@ BOOL CBaseEntity::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *p
return TRUE;
}
void CBaseEntity::__MAKE_VHOOK(Killed)(entvars_t *pevAttacker, int iGib)
void CBaseEntity::Killed(entvars_t *pevAttacker, int iGib)
{
pev->takedamage = DAMAGE_NO;
pev->deadflag = DEAD_DEAD;
UTIL_Remove(this);
}
CBaseEntity *CBaseEntity::__MAKE_VHOOK(GetNextTarget)()
CBaseEntity *CBaseEntity::GetNextTarget()
{
if (FStringNull(pev->target))
return NULL;
@ -867,7 +855,7 @@ CBaseEntity *CBaseEntity::__MAKE_VHOOK(GetNextTarget)()
return Instance(pTarget);
}
int CBaseEntity::__MAKE_VHOOK(Save)(CSave &save)
int CBaseEntity::Save(CSave &save)
{
if (save.WriteEntVars("ENTVARS", pev))
{
@ -877,7 +865,7 @@ int CBaseEntity::__MAKE_VHOOK(Save)(CSave &save)
return 0;
}
int CBaseEntity::__MAKE_VHOOK(Restore)(CRestore &restore)
int CBaseEntity::Restore(CRestore &restore)
{
int status = restore.ReadEntVars("ENTVARS", pev);
if (status)
@ -948,7 +936,7 @@ void SetObjectCollisionBox(entvars_t *pev)
pev->absmax.z += 1;
}
void CBaseEntity::__MAKE_VHOOK(SetObjectCollisionBox)()
void CBaseEntity::SetObjectCollisionBox()
{
::SetObjectCollisionBox(pev);
}
@ -982,7 +970,7 @@ int CBaseEntity::IsDormant()
return (pev->flags & FL_DORMANT) == FL_DORMANT;
}
BOOL CBaseEntity::__MAKE_VHOOK(IsInWorld)()
BOOL CBaseEntity::IsInWorld()
{
// position
if (pev->origin.x >= 4096.0 || pev->origin.y >= 4096.0 || pev->origin.z >= 4096.0)
@ -1018,7 +1006,7 @@ int CBaseEntity::ShouldToggle(USE_TYPE useType, BOOL currentState)
return 1;
}
int CBaseEntity::__MAKE_VHOOK(DamageDecal)(int bitsDamageType)
int CBaseEntity::DamageDecal(int bitsDamageType)
{
if (pev->rendermode == kRenderTransAlpha)
return -1;

View File

@ -294,24 +294,6 @@ public:
virtual BOOL FVisible(CBaseEntity *pEntity);
virtual BOOL FVisible(const Vector &vecOrigin);
#ifdef HOOK_GAMEDLL
int Save_(CSave &save);
int Restore_(CRestore &restore);
void SetObjectCollisionBox_();
void TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
BOOL TakeHealth_(float flHealth, int bitsDamageType);
void Killed_(entvars_t *pevAttacker, int iGib);
void TraceBleed_(float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);
int DamageDecal_(int bitsDamageType);
BOOL IsInWorld_();
CBaseEntity *GetNextTarget_();
BOOL FVisible_(CBaseEntity *pEntity);
BOOL FVisible_(const Vector &vecOrigin);
#endif
public:
// allow engine to allocate instance data
void *operator new(size_t stAllocateBlock, entvars_t *pevnew) { return ALLOC_PRIVATE(ENT(pevnew), stAllocateBlock); }
@ -433,13 +415,6 @@ class CPointEntity: public CBaseEntity {
public:
virtual void Spawn();
virtual int ObjectCaps() { return (CBaseEntity::ObjectCaps() & ~FCAP_ACROSS_TRANSITION); }
#ifdef HOOK_GAMEDLL
void Spawn_();
#endif
};
// MultiSouce
@ -457,17 +432,6 @@ public:
virtual void Restart();
#endif
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
BOOL IsTriggered_(CBaseEntity *pActivator);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT Register();
@ -487,14 +451,6 @@ public:
virtual int Save(CSave &save);
virtual int Restore(CRestore &restore);
#ifdef HOOK_GAMEDLL
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
#endif
public:
void SUB_UseTargets(CBaseEntity *pActivator, USE_TYPE useType, float value);
void EXPORT DelayThink();
@ -511,13 +467,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void HandleAnimEvent(MonsterEvent_t *pEvent) {}
#ifdef HOOK_GAMEDLL
int Save_(CSave &save);
int Restore_(CRestore &restore);
#endif
public:
// Basic Monster Animation functions
float StudioFrameAdvance(float flInterval = 0.0f); // accumulate animation frame time from last time called until now
@ -526,7 +475,6 @@ 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();
@ -541,6 +489,11 @@ public:
int ExtractBbox(int sequence, float *mins, float *maxs);
void SetSequenceBox();
#ifdef REGAMEDLL_API
void ResetSequenceInfo_OrigFunc();
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[5];
@ -561,14 +514,6 @@ public:
virtual int GetToggleState() { return m_toggle_state; }
virtual float GetDelay() { return m_flWait; }
#ifdef HOOK_GAMEDLL
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
#endif
public:
void LinearMove(Vector vecDest, float flSpeed);
void EXPORT LinearMoveDone();
@ -606,11 +551,11 @@ public:
int m_bitsDamageInflict; // DMG_ damage type that the door or tigger does
string_t m_sMaster; // If this button has a master switch, this is the targetname.
// A master switch must be of the multisource type. If all
// of the switches in the multisource have been triggered, then
// the button will be allowed to operate. Otherwise, it will be
// deactivated.
string_t m_sMaster; // If this button has a master switch, this is the targetname.
// A master switch must be of the multisource type. If all
// of the switches in the multisource have been triggered, then
// the button will be allowed to operate. Otherwise, it will be
// deactivated.
};
#include "basemonster.h"
@ -638,18 +583,6 @@ public:
virtual void Restart();
#endif
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
int Save_(CSave &save);
int Restore_(CRestore &restore);
#endif
public:
void RotSpawn();
void ButtonActivate();
@ -690,15 +623,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual void KeyValue(KeyValueData *pkvd);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
#endif
};
// Converts a entvars_t * to a class pointer
@ -746,7 +670,6 @@ void RemoveEntityHashValue(entvars_t *pev, const char *value, hash_types_e field
void printEntities();
edict_t *CREATE_NAMED_ENTITY(string_t iClass);
void REMOVE_ENTITY(edict_t *pEntity);
void CONSOLE_ECHO_(char *pszMsg, ...);
void loopPerformance();
int DispatchSpawn(edict_t *pent);
void DispatchKeyValue(edict_t *pentKeyvalue, KeyValueData *pkvd);

View File

@ -526,16 +526,6 @@ void EXT_FUNC ClientPutInServer(edict_t *pEntity)
UTIL_ClientPrintAll(HUD_PRINTNOTIFY, "#Game_connected", (sName[0] != '\0') ? sName : "<unconnected>");
}
NOXREF int Q_strlen_(const char *str)
{
int count = 0;
if (str && *str) {
while (str[count++ + 1]);
}
return count;
}
void Host_Say(edict_t *pEntity, BOOL teamonly)
{
CBasePlayer *client;

View File

@ -110,6 +110,15 @@ extern bool g_skipCareerInitialSpawn;
extern unsigned short m_usResetDecals;
extern unsigned short g_iShadowSprite;
#ifdef REGAMEDLL_API
void HandleMenu_ChooseAppearance_OrigFunc(CBasePlayer *player, int slot);
BOOL HandleMenu_ChooseTeam_OrigFunc(CBasePlayer *player, int slot);
bool BuyGunAmmo_OrigFunc(CBasePlayer *player, CBasePlayerItem *weapon, bool bBlinkMoney);
CBaseEntity *BuyWeaponByWeaponID_OrigFunc(CBasePlayer *pPlayer, WeaponIdType weaponID);
void ShowMenu_OrigFunc(CBasePlayer *pPlayer, int bitsValidSlots, int nDisplayTime, BOOL fNeedMore, char *pszText);
void ShowVGUIMenu_OrigFunc(CBasePlayer *pPlayer, int MenuType, int BitMask, char *szOldMenu);
#endif
int CMD_ARGC_();
const char *CMD_ARGV_(int i);
void set_suicide_frame(entvars_t *pev);
@ -119,14 +128,11 @@ void ClientDisconnect(edict_t *pEntity);
void respawn(entvars_t *pev, BOOL fCopyCorpse = FALSE);
void ClientKill(edict_t *pEntity);
void ShowMenu(CBasePlayer *pPlayer, int bitsValidSlots, int nDisplayTime, BOOL fNeedMore, char *pszText);
void ShowMenu_(CBasePlayer *pPlayer, int bitsValidSlots, int nDisplayTime, BOOL fNeedMore, char *pszText);
void ShowVGUIMenu(CBasePlayer *pPlayer, int MenuType, int BitMask, char *szOldMenu);
void ShowVGUIMenu_(CBasePlayer *pPlayer, int MenuType, int BitMask, char *szOldMenu);
void ListPlayers(CBasePlayer *current);
void ProcessKickVote(CBasePlayer *pVotingPlayer, CBasePlayer *pKickPlayer);
void CheckStartMoney();
void ClientPutInServer(edict_t *pEntity);
int Q_strlen_(const char *str);
void Host_Say(edict_t *pEntity, BOOL teamonly);
void DropSecondary(CBasePlayer *pPlayer);
void DropPrimary(CBasePlayer *pPlayer);
@ -135,19 +141,15 @@ void BuyPistol(CBasePlayer *pPlayer, int iSlot);
void BuyShotgun(CBasePlayer *pPlayer, int iSlot);
void BuySubMachineGun(CBasePlayer *pPlayer, int iSlot);
CBaseEntity *BuyWeaponByWeaponID(CBasePlayer *pPlayer, WeaponIdType weaponID);
CBaseEntity *BuyWeaponByWeaponID_(CBasePlayer *pPlayer, WeaponIdType weaponID);
void BuyRifle(CBasePlayer *pPlayer, int iSlot);
void BuyMachineGun(CBasePlayer *pPlayer, int iSlot);
void BuyItem(CBasePlayer *pPlayer, int iSlot);
void HandleMenu_ChooseAppearance(CBasePlayer *player, int slot);
void HandleMenu_ChooseAppearance_(CBasePlayer *player, int slot);
BOOL HandleMenu_ChooseTeam(CBasePlayer *player, int slot);
BOOL HandleMenu_ChooseTeam_(CBasePlayer *player, int slot);
void Radio1(CBasePlayer *player, int slot);
void Radio2(CBasePlayer *player, int slot);
void Radio3(CBasePlayer *player, int slot);
bool BuyGunAmmo(CBasePlayer *player, CBasePlayerItem *weapon, bool bBlinkMoney);
bool BuyGunAmmo_(CBasePlayer *player, CBasePlayerItem *weapon, bool bBlinkMoney);
bool BuyAmmo(CBasePlayer *player, int nSlot, bool bBlinkMoney);
CBaseEntity *EntityFromUserID(int userID);
int CountPlayersInServer();

View File

@ -202,7 +202,7 @@ void CGib::SpawnRandomGibs(entvars_t *pevVictim, int cGibs, int human)
}
}
BOOL CBaseMonster::__MAKE_VHOOK(HasHumanGibs)()
BOOL CBaseMonster::HasHumanGibs()
{
int myClass = Classify();
@ -215,7 +215,7 @@ BOOL CBaseMonster::__MAKE_VHOOK(HasHumanGibs)()
return FALSE;
}
BOOL CBaseMonster::__MAKE_VHOOK(HasAlienGibs)()
BOOL CBaseMonster::HasAlienGibs()
{
int myClass = Classify();
if (myClass == CLASS_ALIEN_MILITARY
@ -229,7 +229,7 @@ BOOL CBaseMonster::__MAKE_VHOOK(HasAlienGibs)()
return FALSE;
}
void CBaseMonster::__MAKE_VHOOK(FadeMonster)()
void CBaseMonster::FadeMonster()
{
StopAnimation();
@ -242,7 +242,7 @@ void CBaseMonster::__MAKE_VHOOK(FadeMonster)()
SUB_StartFadeOut();
}
void CBaseMonster::__MAKE_VHOOK(GibMonster)()
void CBaseMonster::GibMonster()
{
TraceResult tr;
bool gibbed = false;
@ -288,7 +288,7 @@ void CBaseMonster::__MAKE_VHOOK(GibMonster)()
// GetDeathActivity - determines the best type of death
// anim to play.
Activity CBaseMonster::__MAKE_VHOOK(GetDeathActivity)()
Activity CBaseMonster::GetDeathActivity()
{
Activity deathActivity;
BOOL fTriedDirection;
@ -453,7 +453,7 @@ NOXREF Activity CBaseMonster::GetSmallFlinchActivity()
return flinchActivity;
}
void CBaseMonster::__MAKE_VHOOK(BecomeDead)()
void CBaseMonster::BecomeDead()
{
// don't let autoaim aim at corpses.
pev->takedamage = DAMAGE_YES;
@ -521,7 +521,7 @@ void CBaseMonster::CallGibMonster()
UTIL_Remove(this);
}
void CBaseMonster::__MAKE_VHOOK(Killed)(entvars_t *pevAttacker, int iGib)
void CBaseMonster::Killed(entvars_t *pevAttacker, int iGib)
{
// unsigned int cCount = 0;
// BOOL fDone = FALSE;
@ -711,7 +711,7 @@ void CGib::Spawn(const char *szGibModel)
m_cBloodDecals = 5;
}
BOOL CBaseMonster::__MAKE_VHOOK(TakeHealth)(float flHealth, int bitsDamageType)
BOOL CBaseMonster::TakeHealth(float flHealth, int bitsDamageType)
{
if (pev->takedamage == DAMAGE_NO)
return FALSE;
@ -730,7 +730,7 @@ BOOL CBaseMonster::__MAKE_VHOOK(TakeHealth)(float flHealth, int bitsDamageType)
//
// Time-based damage: only occurs while the monster is within the trigger_hurt.
// When a monster is poisoned via an arrow etc it takes all the poison damage at once.
BOOL CBaseMonster::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
BOOL CBaseMonster::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{
if (pev->takedamage == DAMAGE_NO)
return FALSE;
@ -1320,7 +1320,7 @@ NOXREF CBaseEntity *CBaseMonster::CheckTraceHullAttack(float flDist, int iDamage
// FInViewCone - returns true is the passed ent is in
// the caller's forward view cone. The dot product is performed
// in 2d, making the view cone infinitely tall.
BOOL CBaseMonster::__MAKE_VHOOK(FInViewCone)(CBaseEntity *pEntity)
BOOL CBaseMonster::FInViewCone(CBaseEntity *pEntity)
{
Vector2D vec2LOS;
float flDot;
@ -1345,7 +1345,7 @@ BOOL CBaseMonster::__MAKE_VHOOK(FInViewCone)(CBaseEntity *pEntity)
// FInViewCone - returns true is the passed vector is in
// the caller's forward view cone. The dot product is performed
// in 2d, making the view cone infinitely tall.
BOOL CBaseMonster::__MAKE_VHOOK(FInViewCone)(const Vector *pOrigin)
BOOL CBaseMonster::FInViewCone(const Vector *pOrigin)
{
Vector2D vec2LOS;
float flDot;
@ -1369,7 +1369,7 @@ BOOL CBaseMonster::__MAKE_VHOOK(FInViewCone)(const Vector *pOrigin)
// FVisible - returns true if a line can be traced from
// the caller's eyes to the target
BOOL CBaseEntity::__MAKE_VHOOK(FVisible)(CBaseEntity *pEntity)
BOOL CBaseEntity::FVisible(CBaseEntity *pEntity)
{
TraceResult tr;
Vector vecLookerOrigin;
@ -1402,7 +1402,7 @@ BOOL CBaseEntity::__MAKE_VHOOK(FVisible)(CBaseEntity *pEntity)
// FVisible - returns true if a line can be traced from
// the caller's eyes to the target vector
BOOL CBaseEntity::__MAKE_VHOOK(FVisible)(const Vector &vecOrigin)
BOOL CBaseEntity::FVisible(const Vector &vecOrigin)
{
TraceResult tr;
Vector vecLookerOrigin;
@ -1424,7 +1424,7 @@ BOOL CBaseEntity::__MAKE_VHOOK(FVisible)(const Vector &vecOrigin)
}
}
void CBaseEntity::__MAKE_VHOOK(TraceAttack)(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
void CBaseEntity::TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
{
Vector vecOrigin = ptr->vecEndPos - vecDir * 4;
@ -1442,7 +1442,7 @@ void CBaseEntity::__MAKE_VHOOK(TraceAttack)(entvars_t *pevAttacker, float flDama
}
}
void CBaseMonster::__MAKE_VHOOK(TraceAttack)(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
void CBaseMonster::TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
{
Vector vecOrigin = ptr->vecEndPos - vecDir * 4;
@ -1859,7 +1859,7 @@ Vector CBaseEntity::FireBullets3(Vector vecSrc, Vector vecDirShooting, float vec
return Vector(x * vecSpread, y * vecSpread, 0);
}
void CBaseEntity::__MAKE_VHOOK(TraceBleed)(float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
void CBaseEntity::TraceBleed(float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
{
if (BloodColor() == DONT_BLEED)
return;

View File

@ -113,7 +113,7 @@ void PlayLockSounds(entvars_t *pev, locksound_t *pls, int flocked, int fbutton)
}
// Cache user-entity-field values until spawn is called.
void CBaseDoor::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CBaseDoor::KeyValue(KeyValueData *pkvd)
{
//skin is used for content type
if (FStrEq(pkvd->szKeyName, "skin"))
@ -192,7 +192,7 @@ LINK_ENTITY_TO_CLASS(func_door, CBaseDoor, CCSDoor)
// func_water - same as a door.
LINK_ENTITY_TO_CLASS(func_water, CBaseDoor, CCSDoor)
void CBaseDoor::__MAKE_VHOOK(Spawn)()
void CBaseDoor::Spawn()
{
Precache();
SetMovedir(pev);
@ -251,7 +251,7 @@ void CBaseDoor::__MAKE_VHOOK(Spawn)()
m_lastBlockedTimestamp = 0;
}
void CBaseDoor::__MAKE_VHOOK(Restart)()
void CBaseDoor::Restart()
{
SetMovedir(pev);
m_toggle_state = TS_AT_BOTTOM;
@ -263,7 +263,7 @@ void CBaseDoor::__MAKE_VHOOK(Restart)()
SetTouch(&CBaseDoor::DoorTouch);
}
void CBaseDoor::__MAKE_VHOOK(SetToggleState)(int state)
void CBaseDoor::SetToggleState(int state)
{
if (state == TS_AT_TOP)
UTIL_SetOrigin(pev, m_vecPosition2);
@ -274,7 +274,7 @@ void CBaseDoor::__MAKE_VHOOK(SetToggleState)(int state)
#define noiseMoving noise1
#define noiseArrived noise2
void CBaseDoor::__MAKE_VHOOK(Precache)()
void CBaseDoor::Precache()
{
char *pszSound;
@ -457,7 +457,7 @@ void CBaseDoor::DoorTouch(CBaseEntity *pOther)
}
// Used by SUB_UseTargets, when a door is the target of a button.
void CBaseDoor::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CBaseDoor::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
m_hActivator = pActivator;
@ -725,7 +725,7 @@ void CBaseDoor::DoorHitBottom()
}
}
void CBaseDoor::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
void CBaseDoor::Blocked(CBaseEntity *pOther)
{
edict_t *pentTarget = NULL;
CBaseDoor *pDoor = NULL;
@ -847,7 +847,7 @@ void CBaseDoor::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
// 4) screechy metal
LINK_ENTITY_TO_CLASS(func_door_rotating, CRotDoor, CCSRotDoor)
void CRotDoor::__MAKE_VHOOK(Restart)()
void CRotDoor::Restart()
{
CBaseToggle::AxisDir(pev);
@ -878,7 +878,7 @@ void CRotDoor::__MAKE_VHOOK(Restart)()
DoorGoDown();
}
void CRotDoor::__MAKE_VHOOK(Spawn)()
void CRotDoor::Spawn()
{
Precache();
@ -941,7 +941,7 @@ void CRotDoor::__MAKE_VHOOK(Spawn)()
}
}
void CRotDoor::__MAKE_VHOOK(SetToggleState)(int state)
void CRotDoor::SetToggleState(int state)
{
if (state == TS_AT_TOP)
pev->angles = m_vecAngle2;
@ -954,7 +954,7 @@ void CRotDoor::__MAKE_VHOOK(SetToggleState)(int state)
LINK_ENTITY_TO_CLASS(momentary_door, CMomentaryDoor, CCSMomentaryDoor)
IMPLEMENT_SAVERESTORE(CMomentaryDoor, CBaseToggle)
void CMomentaryDoor::__MAKE_VHOOK(Spawn)()
void CMomentaryDoor::Spawn()
{
SetMovedir(pev);
@ -989,7 +989,7 @@ void CMomentaryDoor::__MAKE_VHOOK(Spawn)()
Precache();
}
void CMomentaryDoor::__MAKE_VHOOK(Precache)()
void CMomentaryDoor::Precache()
{
// set the door's "in-motion" sound
switch (m_bMoveSnd)
@ -1035,7 +1035,7 @@ void CMomentaryDoor::__MAKE_VHOOK(Precache)()
}
}
void CMomentaryDoor::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CMomentaryDoor::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "movesnd"))
{
@ -1056,7 +1056,7 @@ void CMomentaryDoor::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CBaseToggle::KeyValue(pkvd);
}
void CMomentaryDoor::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CMomentaryDoor::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
// Momentary buttons will pass down a float in here
if (useType != USE_SET)

View File

@ -69,20 +69,6 @@ public:
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
virtual void Blocked(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void Restart_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void SetToggleState_(int state);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
void Blocked_(CBaseEntity *pOther);
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[7];
@ -97,10 +83,10 @@ public:
public:
byte m_bHealthValue; // some doors are medi-kit doors, they give players health
byte m_bMoveSnd; // sound a door makes while moving
byte m_bStopSnd; // sound a door makes when it stops
byte m_bMoveSnd; // sound a door makes while moving
byte m_bStopSnd; // sound a door makes when it stops
locksound_t m_ls; // door lock sounds
locksound_t m_ls; // door lock sounds
byte m_bLockedSound; // ordinals from entity selection
byte m_bLockedSentence;
@ -116,15 +102,6 @@ public:
virtual void Spawn();
virtual void Restart();
virtual void SetToggleState(int state);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Restart_();
void SetToggleState_(int state);
#endif
};
class CMomentaryDoor: public CBaseToggle
@ -138,21 +115,10 @@ public:
virtual int ObjectCaps() { return (CBaseToggle::ObjectCaps() & ~FCAP_ACROSS_TRANSITION); }
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[1];
byte m_bMoveSnd; // sound a door makes while moving
byte m_bMoveSnd; // sound a door makes while moving
};
void PlayLockSounds(entvars_t *pev, locksound_t *pls, int flocked, int fbutton);

View File

@ -65,7 +65,7 @@ LINK_ENTITY_TO_CLASS(info_target, CPointEntity, CCSPointEntity)
LINK_ENTITY_TO_CLASS(env_bubbles, CBubbling, CCSBubbling)
IMPLEMENT_SAVERESTORE(CBubbling, CBaseEntity)
void CBubbling::__MAKE_VHOOK(Spawn)()
void CBubbling::Spawn()
{
Precache();
SET_MODEL(ENT(pev), STRING(pev->model)); // Set size
@ -95,13 +95,13 @@ void CBubbling::__MAKE_VHOOK(Spawn)()
m_state = 0;
}
void CBubbling::__MAKE_VHOOK(Precache)()
void CBubbling::Precache()
{
// Precache bubble sprite
m_bubbleModel = PRECACHE_MODEL("sprites/bubble.spr");
}
void CBubbling::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CBubbling::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (ShouldToggle(useType, m_state))
m_state = !m_state;
@ -118,7 +118,7 @@ void CBubbling::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller,
}
}
void CBubbling::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CBubbling::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "density"))
{
@ -156,14 +156,14 @@ void CBubbling::FizzThink()
LINK_ENTITY_TO_CLASS(beam, CBeam, CCSBeam)
void CBeam::__MAKE_VHOOK(Spawn)()
void CBeam::Spawn()
{
// Remove model & collisions
pev->solid = SOLID_NOT;
Precache();
}
void CBeam::__MAKE_VHOOK(Precache)()
void CBeam::Precache()
{
if (pev->owner)
{
@ -354,7 +354,7 @@ LINK_ENTITY_TO_CLASS(env_lightning, CLightning, CCSLightning)
LINK_ENTITY_TO_CLASS(env_beam, CLightning, CCSLightning)
IMPLEMENT_SAVERESTORE(CLightning, CBeam)
void CLightning::__MAKE_VHOOK(Spawn)()
void CLightning::Spawn()
{
if (FStringNull(m_iszSpriteName))
{
@ -405,19 +405,19 @@ void CLightning::__MAKE_VHOOK(Spawn)()
}
}
void CLightning::__MAKE_VHOOK(Precache)()
void CLightning::Precache()
{
m_spriteTexture = PRECACHE_MODEL((char *)STRING(m_iszSpriteName));
CBeam::Precache();
}
void CLightning::__MAKE_VHOOK(Activate)()
void CLightning::Activate()
{
if (ServerSide())
BeamUpdateVars();
}
void CLightning::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CLightning::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "LightningStart"))
{
@ -849,7 +849,7 @@ void CLightning::BeamUpdateVars()
LINK_ENTITY_TO_CLASS(env_laser, CLaser, CCSLaser)
IMPLEMENT_SAVERESTORE(CLaser, CBeam)
void CLaser::__MAKE_VHOOK(Spawn)()
void CLaser::Spawn()
{
if (FStringNull(pev->model))
{
@ -880,7 +880,7 @@ void CLaser::__MAKE_VHOOK(Spawn)()
TurnOn();
}
void CLaser::__MAKE_VHOOK(Precache)()
void CLaser::Precache()
{
pev->modelindex = PRECACHE_MODEL((char *)STRING(pev->model));
@ -890,7 +890,7 @@ void CLaser::__MAKE_VHOOK(Precache)()
}
}
void CLaser::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CLaser::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "LaserTarget"))
{
@ -968,7 +968,7 @@ void CLaser::TurnOn()
pev->nextthink = gpGlobals->time;
}
void CLaser::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CLaser::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
int active = IsOn();
@ -1008,7 +1008,7 @@ void CLaser::StrikeThink()
LINK_ENTITY_TO_CLASS(env_glow, CGlow, CCSGlow)
IMPLEMENT_SAVERESTORE(CGlow, CPointEntity)
void CGlow::__MAKE_VHOOK(Spawn)()
void CGlow::Spawn()
{
pev->solid = SOLID_NOT;
pev->movetype = MOVETYPE_NONE;
@ -1028,7 +1028,7 @@ void CGlow::__MAKE_VHOOK(Spawn)()
m_lastTime = gpGlobals->time;
}
void CGlow::__MAKE_VHOOK(Think)()
void CGlow::Think()
{
Animate(pev->framerate * (gpGlobals->time - m_lastTime));
@ -1046,7 +1046,7 @@ void CGlow::Animate(float frames)
LINK_ENTITY_TO_CLASS(env_bombglow, CBombGlow, CCSBombGlow)
void CBombGlow::__MAKE_VHOOK(Spawn)()
void CBombGlow::Spawn()
{
#ifdef REGAMEDLL_FIXES
PRECACHE_MODEL("sprites/flare1.spr");
@ -1069,7 +1069,7 @@ void CBombGlow::__MAKE_VHOOK(Spawn)()
m_bSetModel = false;
}
void CBombGlow::__MAKE_VHOOK(Think)()
void CBombGlow::Think()
{
if (!m_bSetModel)
{
@ -1099,7 +1099,7 @@ void CBombGlow::__MAKE_VHOOK(Think)()
LINK_ENTITY_TO_CLASS(env_sprite, CSprite, CCSSprite)
IMPLEMENT_SAVERESTORE(CSprite, CPointEntity)
void CSprite::__MAKE_VHOOK(Spawn)()
void CSprite::Spawn()
{
pev->solid = SOLID_NOT;
pev->movetype = MOVETYPE_NONE;
@ -1123,7 +1123,7 @@ void CSprite::__MAKE_VHOOK(Spawn)()
}
}
void CSprite::__MAKE_VHOOK(Restart)()
void CSprite::Restart()
{
pev->solid = SOLID_NOT;
pev->movetype = MOVETYPE_NONE;
@ -1136,7 +1136,7 @@ void CSprite::__MAKE_VHOOK(Restart)()
TurnOn();
}
void CSprite::__MAKE_VHOOK(Precache)()
void CSprite::Precache()
{
PRECACHE_MODEL((char *)STRING(pev->model));
@ -1259,7 +1259,7 @@ void CSprite::TurnOn()
pev->frame = 0;
}
void CSprite::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CSprite::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
int on = pev->effects != EF_NODRAW;
@ -1275,7 +1275,7 @@ void CSprite::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, U
IMPLEMENT_SAVERESTORE(CGibShooter, CBaseDelay)
LINK_ENTITY_TO_CLASS(gibshooter, CGibShooter, CCSGibShooter)
void CGibShooter::__MAKE_VHOOK(Precache)()
void CGibShooter::Precache()
{
if (g_Language == LANGUAGE_GERMAN)
{
@ -1287,7 +1287,7 @@ void CGibShooter::__MAKE_VHOOK(Precache)()
}
}
void CGibShooter::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CGibShooter::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "m_iGibs"))
{
@ -1313,13 +1313,13 @@ void CGibShooter::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CBaseDelay::KeyValue(pkvd);
}
void CGibShooter::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGibShooter::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
SetThink(&CGibShooter::ShootThink);
pev->nextthink = gpGlobals->time;
}
void CGibShooter::__MAKE_VHOOK(Spawn)()
void CGibShooter::Spawn()
{
Precache();
@ -1340,7 +1340,7 @@ void CGibShooter::__MAKE_VHOOK(Spawn)()
pev->body = MODEL_FRAMES(m_iGibModelIndex);
}
CGib *CGibShooter::__MAKE_VHOOK(CreateGib)()
CGib *CGibShooter::CreateGib()
{
if (CVAR_GET_FLOAT("violence_hgibs") == 0)
return NULL;
@ -1427,7 +1427,7 @@ void CGibShooter::ShootThink()
LINK_ENTITY_TO_CLASS(env_shooter, CEnvShooter, CCSEnvShooter)
void CEnvShooter::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CEnvShooter::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "shootmodel"))
{
@ -1466,13 +1466,13 @@ void CEnvShooter::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CGibShooter::KeyValue(pkvd);
}
void CEnvShooter::__MAKE_VHOOK(Precache)()
void CEnvShooter::Precache()
{
m_iGibModelIndex = PRECACHE_MODEL((char *)STRING(pev->model));
CBreakable::MaterialSoundPrecache((Materials)m_iGibMaterial);
}
CGib *CEnvShooter::__MAKE_VHOOK(CreateGib)()
CGib *CEnvShooter::CreateGib()
{
CGib *pGib = GetClassPtr<CCSGib>((CGib *)NULL);
@ -1499,12 +1499,12 @@ CGib *CEnvShooter::__MAKE_VHOOK(CreateGib)()
LINK_ENTITY_TO_CLASS(test_effect, CTestEffect, CCSTestEffect)
void CTestEffect::__MAKE_VHOOK(Spawn)()
void CTestEffect::Spawn()
{
Precache();
}
void CTestEffect::__MAKE_VHOOK(Precache)()
void CTestEffect::Precache()
{
PRECACHE_MODEL("sprites/lgtning.spr");
}
@ -1563,7 +1563,7 @@ void CTestEffect::TestThink()
}
}
void CTestEffect::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CTestEffect::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
SetThink(&CTestEffect::TestThink);
@ -1573,7 +1573,7 @@ void CTestEffect::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCalle
LINK_ENTITY_TO_CLASS(env_blood, CBlood, CCSBlood)
void CBlood::__MAKE_VHOOK(Spawn)()
void CBlood::Spawn()
{
pev->solid = SOLID_NOT;
pev->movetype = MOVETYPE_NONE;
@ -1583,7 +1583,7 @@ void CBlood::__MAKE_VHOOK(Spawn)()
SetMovedir(pev);
}
void CBlood::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CBlood::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "color"))
{
@ -1637,7 +1637,7 @@ Vector CBlood::BloodPosition(CBaseEntity *pActivator)
return pev->origin;
}
void CBlood::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CBlood::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (pev->spawnflags & SF_BLOOD_STREAM)
UTIL_BloodStream(BloodPosition(pActivator), Direction(), (Color() == BLOOD_COLOR_RED) ? 70 : Color(), int(BloodAmount()));
@ -1661,7 +1661,7 @@ void CBlood::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, US
LINK_ENTITY_TO_CLASS(env_shake, CShake, CCSShake)
void CShake::__MAKE_VHOOK(Spawn)()
void CShake::Spawn()
{
pev->solid = SOLID_NOT;
pev->movetype = MOVETYPE_NONE;
@ -1672,7 +1672,7 @@ void CShake::__MAKE_VHOOK(Spawn)()
pev->dmg = 0;
}
void CShake::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CShake::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "amplitude"))
{
@ -1698,14 +1698,14 @@ void CShake::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CPointEntity::KeyValue(pkvd);
}
void CShake::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CShake::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
UTIL_ScreenShake(pev->origin, Amplitude(), Frequency(), Duration(), Radius());
}
LINK_ENTITY_TO_CLASS(env_fade, CFade, CCSFade)
void CFade::__MAKE_VHOOK(Spawn)()
void CFade::Spawn()
{
pev->solid = SOLID_NOT;
pev->movetype = MOVETYPE_NONE;
@ -1713,7 +1713,7 @@ void CFade::__MAKE_VHOOK(Spawn)()
pev->frame = 0;
}
void CFade::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CFade::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "duration"))
{
@ -1729,7 +1729,7 @@ void CFade::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CPointEntity::KeyValue(pkvd);
}
void CFade::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CFade::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
int fadeFlags = 0;
@ -1754,7 +1754,7 @@ void CFade::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE
LINK_ENTITY_TO_CLASS(env_message, CMessage, CCSMessage)
void CMessage::__MAKE_VHOOK(Spawn)()
void CMessage::Spawn()
{
Precache();
@ -1787,7 +1787,7 @@ void CMessage::__MAKE_VHOOK(Spawn)()
pev->scale = 1.0f;
}
void CMessage::__MAKE_VHOOK(Precache)()
void CMessage::Precache()
{
if (pev->noise)
{
@ -1795,7 +1795,7 @@ void CMessage::__MAKE_VHOOK(Precache)()
}
}
void CMessage::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CMessage::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "messagesound"))
{
@ -1816,7 +1816,7 @@ void CMessage::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CPointEntity::KeyValue(pkvd);
}
void CMessage::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CMessage::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
CBaseEntity *pPlayer = NULL;
@ -1847,12 +1847,12 @@ void CMessage::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller,
LINK_ENTITY_TO_CLASS(env_funnel, CEnvFunnel, CCSEnvFunnel)
void CEnvFunnel::__MAKE_VHOOK(Precache)()
void CEnvFunnel::Precache()
{
m_iSprite = PRECACHE_MODEL("sprites/flare6.spr");
}
void CEnvFunnel::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CEnvFunnel::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
MESSAGE_BEGIN(MSG_BROADCAST, SVC_TEMPENTITY);
WRITE_BYTE(TE_LARGEFUNNEL);
@ -1878,14 +1878,14 @@ void CEnvFunnel::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller
pev->nextthink = gpGlobals->time;
}
void CEnvFunnel::__MAKE_VHOOK(Spawn)()
void CEnvFunnel::Spawn()
{
Precache();
pev->solid = SOLID_NOT;
pev->effects = EF_NODRAW;
}
void CEnvBeverage::__MAKE_VHOOK(Precache)()
void CEnvBeverage::Precache()
{
PRECACHE_MODEL("models/can.mdl");
PRECACHE_SOUND("weapons/g_bounce3.wav");
@ -1893,7 +1893,7 @@ void CEnvBeverage::__MAKE_VHOOK(Precache)()
LINK_ENTITY_TO_CLASS(env_beverage, CEnvBeverage, CCSEnvBeverage)
void CEnvBeverage::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CEnvBeverage::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (pev->frags != 0.0f || pev->health <= 0.0f)
{
@ -1915,7 +1915,7 @@ void CEnvBeverage::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCall
pev->health--;
}
void CEnvBeverage::__MAKE_VHOOK(Spawn)()
void CEnvBeverage::Spawn()
{
Precache();
pev->solid = SOLID_NOT;
@ -1928,14 +1928,14 @@ void CEnvBeverage::__MAKE_VHOOK(Spawn)()
}
}
void CItemSoda::__MAKE_VHOOK(Precache)()
void CItemSoda::Precache()
{
;
}
LINK_ENTITY_TO_CLASS(item_sodacan, CItemSoda, CCSItemSoda)
void CItemSoda::__MAKE_VHOOK(Spawn)()
void CItemSoda::Spawn()
{
Precache();
pev->solid = SOLID_NOT;

View File

@ -86,17 +86,6 @@ public:
}
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void Restart_();
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT AnimateThink();
void EXPORT ExpandThink();
@ -168,13 +157,6 @@ public:
}
virtual Vector Center() { return (GetStartPos() + GetEndPos()) * 0.5f; }
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
#endif
public:
void EXPORT TriggerTouch(CBaseEntity *pOther);
@ -245,17 +227,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void TurnOn();
void TurnOff();
@ -283,17 +254,6 @@ public:
virtual int ObjectCaps() { return (CBaseEntity::ObjectCaps() & ~FCAP_ACROSS_TRANSITION); }
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT FizzThink();
@ -316,17 +276,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void Activate();
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Activate_();
#endif
public:
void EXPORT StrikeThink();
void EXPORT DamageThink();
@ -371,15 +320,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void Think();
#ifdef HOOK_GAMEDLL
void Spawn_();
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Think_();
#endif
void Animate(float frames);
public:
@ -395,13 +335,6 @@ public:
virtual void Spawn();
virtual void Think();
#ifdef HOOK_GAMEDLL
void Spawn_();
void Think_();
#endif
public:
float m_lastTime;
float m_tmBeepPeriod;
@ -419,18 +352,6 @@ public:
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
virtual CGib *CreateGib();
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
CGib *CreateGib_();
#endif
public:
void EXPORT ShootThink();
@ -453,15 +374,6 @@ public:
virtual void Precache();
virtual void KeyValue(KeyValueData *pkvd);
virtual CGib *CreateGib();
#ifdef HOOK_GAMEDLL
void Precache_();
void KeyValue_(KeyValueData *pkvd);
CGib *CreateGib_();
#endif
};
#define MAX_BEAM 24
@ -473,14 +385,6 @@ public:
virtual void Precache();
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT TestThink();
@ -501,14 +405,6 @@ public:
virtual void KeyValue(KeyValueData *pkvd);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
int Color() const { return pev->impulse; }
float BloodAmount() const { return pev->dmg; }
@ -528,14 +424,6 @@ public:
virtual void KeyValue(KeyValueData *pkvd);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
float Amplitude() const { return pev->scale; }
float Frequency() const { return pev->dmg_save; }
@ -555,14 +443,6 @@ public:
virtual void KeyValue(KeyValueData *pkvd);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
float Duration() const { return pev->dmg_take; }
float HoldTime() const { return pev->dmg_save; }
@ -578,16 +458,6 @@ public:
virtual void Precache();
virtual void KeyValue(KeyValueData *pkvd);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
};
class CEnvFunnel: public CBaseDelay
@ -597,14 +467,6 @@ public:
virtual void Precache();
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
int m_iSprite;
};
@ -615,15 +477,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
};
class CItemSoda: public CBaseEntity
@ -632,13 +485,6 @@ public:
virtual void Spawn();
virtual void Precache();
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
#endif
public:
void EXPORT CanThink();
void EXPORT CanTouch(CBaseEntity *pOther);

View File

@ -15,7 +15,7 @@ TYPEDESCRIPTION CEnvExplosion::m_SaveData[] =
LINK_ENTITY_TO_CLASS(spark_shower, CShower, CCSShower)
void CShower::__MAKE_VHOOK(Spawn)()
void CShower::Spawn()
{
pev->velocity = RANDOM_FLOAT(200, 300) * pev->angles;
pev->velocity.x += RANDOM_FLOAT(-100, 100);
@ -40,7 +40,7 @@ void CShower::__MAKE_VHOOK(Spawn)()
pev->angles = g_vecZero;
}
void CShower::__MAKE_VHOOK(Think)()
void CShower::Think()
{
UTIL_Sparks(pev->origin);
@ -54,7 +54,7 @@ void CShower::__MAKE_VHOOK(Think)()
pev->flags &= ~FL_ONGROUND;
}
void CShower::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
void CShower::Touch(CBaseEntity *pOther)
{
if (pev->flags & FL_ONGROUND)
pev->velocity = pev->velocity * 0.1f;
@ -70,7 +70,7 @@ void CShower::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
IMPLEMENT_SAVERESTORE(CEnvExplosion, CBaseMonster)
LINK_ENTITY_TO_CLASS(env_explosion, CEnvExplosion, CCSEnvExplosion)
void CEnvExplosion::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CEnvExplosion::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "iMagnitude"))
{
@ -81,7 +81,7 @@ void CEnvExplosion::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CBaseEntity::KeyValue(pkvd);
}
void CEnvExplosion::__MAKE_VHOOK(Spawn)()
void CEnvExplosion::Spawn()
{
pev->solid = SOLID_NOT;
pev->effects = EF_NODRAW;
@ -97,7 +97,7 @@ void CEnvExplosion::__MAKE_VHOOK(Spawn)()
m_spriteScale = int(flSpriteScale);
}
void CEnvExplosion::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CEnvExplosion::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
TraceResult tr;

View File

@ -46,15 +46,6 @@ public:
virtual int ObjectCaps() { return FCAP_DONT_SAVE; }
virtual void Think();
virtual void Touch(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Think_();
void Touch_(CBaseEntity *pOther);
#endif
};
class CEnvExplosion: public CBaseMonster
@ -66,16 +57,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT Smoke();

View File

@ -106,7 +106,7 @@ TYPEDESCRIPTION CPushable::m_SaveData[] =
#endif // HOOK_GAMEDLL
void CBreakable::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CBreakable::KeyValue(KeyValueData *pkvd)
{
// UNDONE_WC: explicitly ignoring these fields, but they shouldn't be in the map file!
if (FStrEq(pkvd->szKeyName, "explosion"))
@ -172,7 +172,7 @@ void CBreakable::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
LINK_ENTITY_TO_CLASS(func_breakable, CBreakable, CCSBreakable)
IMPLEMENT_SAVERESTORE(CBreakable, CBaseEntity)
void CBreakable::__MAKE_VHOOK(Spawn)()
void CBreakable::Spawn()
{
Precache();
@ -212,7 +212,7 @@ void CBreakable::__MAKE_VHOOK(Spawn)()
}
}
void CBreakable::__MAKE_VHOOK(Restart)()
void CBreakable::Restart()
{
pev->solid = SOLID_BSP;
pev->movetype = MOVETYPE_PUSH;
@ -316,7 +316,7 @@ void CBreakable::MaterialSoundRandom(edict_t *pEdict, Materials soundMaterial, f
}
}
void CBreakable::__MAKE_VHOOK(Precache)()
void CBreakable::Precache()
{
const char *pGibName = NULL;
@ -533,7 +533,7 @@ void CBreakable::BreakTouch(CBaseEntity *pOther)
// Smash the our breakable object
// Break when triggered
void CBreakable::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CBreakable::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (IsBreakable())
{
@ -551,7 +551,7 @@ void CBreakable::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller
}
}
void CBreakable::__MAKE_VHOOK(TraceAttack)(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
void CBreakable::TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)
{
// random spark if this is a 'computer' object
if (RANDOM_LONG(0, 1))
@ -587,7 +587,7 @@ void CBreakable::__MAKE_VHOOK(TraceAttack)(entvars_t *pevAttacker, float flDamag
// Special takedamage for func_breakable. Allows us to make
// exceptions that are breakable-specific
// bitsDamageType indicates the type of damage sustained ie: DMG_CRUSH
BOOL CBreakable::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
BOOL CBreakable::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{
Vector vecTemp;
@ -676,7 +676,7 @@ void CBreakable::Die()
// The more negative pev->health, the louder
// the sound should be.
#ifdef REGAMEDLL_FIXES
fvol = RANDOM_FLOAT(0.85f, 1.0f) + (Q_abs(pev->health) / 100.0f);
#else
@ -849,7 +849,7 @@ BOOL CBreakable::IsBreakable()
return m_Material != matUnbreakableGlass;
}
int CBreakable::__MAKE_VHOOK(DamageDecal)(int bitsDamageType)
int CBreakable::DamageDecal(int bitsDamageType)
{
if (m_Material == matGlass)
return DECAL_GLASSBREAK1 + RANDOM_LONG(0, 2);
@ -863,7 +863,7 @@ int CBreakable::__MAKE_VHOOK(DamageDecal)(int bitsDamageType)
LINK_ENTITY_TO_CLASS(func_pushable, CPushable, CCSPushable)
IMPLEMENT_SAVERESTORE(CPushable, CBreakable)
void CPushable::__MAKE_VHOOK(Spawn)()
void CPushable::Spawn()
{
if (pev->spawnflags & SF_PUSH_BREAKABLE)
CBreakable::Spawn();
@ -898,7 +898,7 @@ void CPushable::__MAKE_VHOOK(Spawn)()
m_soundTime = 0;
}
void CPushable::__MAKE_VHOOK(Precache)()
void CPushable::Precache()
{
for (int i = 0; i < 3; ++i)
{
@ -935,7 +935,7 @@ void CPushable::Restart()
}
#endif
void CPushable::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CPushable::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "size"))
{
@ -972,7 +972,7 @@ void CPushable::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
}
// Pull the func_pushable
void CPushable::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CPushable::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!pActivator || !pActivator->IsPlayer())
{
@ -990,7 +990,7 @@ void CPushable::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller,
}
}
void CPushable::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
void CPushable::Touch(CBaseEntity *pOther)
{
if (FClassnameIs(pOther->pev, "worldspawn"))
return;
@ -1078,7 +1078,7 @@ void CPushable::Move(CBaseEntity *pOther, int push)
}
}
BOOL CPushable::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
BOOL CPushable::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{
if (pev->spawnflags & SF_PUSH_BREAKABLE)
{

View File

@ -88,21 +88,6 @@ public:
virtual int DamageDecal(int bitsDamageType);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void Restart_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void TraceAttack_(entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType);
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
int DamageDecal_(int bitsDamageType);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT BreakTouch(CBaseEntity *pOther);
void DamageSound();
@ -157,27 +142,13 @@ public:
virtual void Restart();
#endif
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
void Touch_(CBaseEntity *pOther);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void Move(CBaseEntity *pMover, int push);
void EXPORT StopSound()
{
#if 0
Vector dist = pev->oldorigin - pev->origin;
if (dist.Length() <= 0)
{
if (dist.Length() <= 0) {
STOP_SOUND(ENT(pev), CHAN_WEAPON, m_soundNames[m_lastSound]);
}
#endif

View File

@ -61,7 +61,7 @@ const int MAX_FIRING_SPREADS = ARRAYSIZE(gTankSpread);
IMPLEMENT_SAVERESTORE(CFuncTank, CBaseEntity)
void CFuncTank::__MAKE_VHOOK(Spawn)()
void CFuncTank::Spawn()
{
Precache();
@ -90,7 +90,7 @@ void CFuncTank::__MAKE_VHOOK(Spawn)()
pev->oldorigin = pev->origin;
}
void CFuncTank::__MAKE_VHOOK(Precache)()
void CFuncTank::Precache()
{
if (m_iszSpriteSmoke)
{
@ -108,7 +108,7 @@ void CFuncTank::__MAKE_VHOOK(Precache)()
}
}
void CFuncTank::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CFuncTank::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "yawrate"))
{
@ -219,7 +219,7 @@ void CFuncTank::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CBaseEntity::KeyValue(pkvd);
}
BOOL CFuncTank::__MAKE_VHOOK(OnControls)(entvars_t *pevTest)
BOOL CFuncTank::OnControls(entvars_t *pevTest)
{
if (!(pev->spawnflags & SF_TANK_CANCONTROL))
return FALSE;
@ -323,7 +323,7 @@ void CFuncTank::ControllerPostFrame()
}
}
void CFuncTank::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CFuncTank::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
// player controlled turret
if (pev->spawnflags & SF_TANK_CANCONTROL)
@ -373,7 +373,7 @@ BOOL CFuncTank::InRange(float range)
return TRUE;
}
void CFuncTank::__MAKE_VHOOK(Think)()
void CFuncTank::Think()
{
pev->avelocity = g_vecZero;
TrackTarget();
@ -580,7 +580,7 @@ void CFuncTank::AdjustAnglesForBarrel(Vector &angles, float distance)
}
// Fire targets and spawn sprites
void CFuncTank::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
void CFuncTank::Fire(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
{
if (m_fireLast != 0.0f)
{
@ -656,7 +656,7 @@ void CFuncTank::StopRotSound()
LINK_ENTITY_TO_CLASS(func_tank, CFuncTankGun, CCSFuncTankGun)
void CFuncTankGun::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
void CFuncTankGun::Fire(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
{
if (m_fireLast != 0.0f)
{
@ -696,7 +696,7 @@ void CFuncTankGun::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &for
LINK_ENTITY_TO_CLASS(func_tanklaser, CFuncTankLaser, CCSFuncTankLaser)
IMPLEMENT_SAVERESTORE(CFuncTankLaser, CFuncTank)
void CFuncTankLaser::__MAKE_VHOOK(Activate)()
void CFuncTankLaser::Activate()
{
if (!GetLaser())
{
@ -709,7 +709,7 @@ void CFuncTankLaser::__MAKE_VHOOK(Activate)()
}
}
void CFuncTankLaser::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CFuncTankLaser::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "laserentity"))
{
@ -744,7 +744,7 @@ CLaser *CFuncTankLaser::GetLaser()
return m_pLaser;
}
void CFuncTankLaser::__MAKE_VHOOK(Think)()
void CFuncTankLaser::Think()
{
if (m_pLaser != NULL && gpGlobals->time > m_laserTime)
{
@ -754,7 +754,7 @@ void CFuncTankLaser::__MAKE_VHOOK(Think)()
CFuncTank::Think();
}
void CFuncTankLaser::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
void CFuncTankLaser::Fire(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
{
int i;
TraceResult tr;
@ -791,13 +791,13 @@ void CFuncTankLaser::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &f
LINK_ENTITY_TO_CLASS(func_tankrocket, CFuncTankRocket, CCSFuncTankRocket)
void CFuncTankRocket::__MAKE_VHOOK(Precache)()
void CFuncTankRocket::Precache()
{
UTIL_PrecacheOther("rpg_rocket");
CFuncTank::Precache();
}
void CFuncTankRocket::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
void CFuncTankRocket::Fire(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
{
int i;
@ -821,7 +821,7 @@ void CFuncTankRocket::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &
LINK_ENTITY_TO_CLASS(func_tankmortar, CFuncTankMortar, CCSFuncTankMortar)
void CFuncTankMortar::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CFuncTankMortar::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "iMagnitude"))
{
@ -832,7 +832,7 @@ void CFuncTankMortar::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CFuncTank::KeyValue(pkvd);
}
void CFuncTankMortar::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
void CFuncTankMortar::Fire(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker)
{
if (m_fireLast != 0.0f)
{
@ -858,7 +858,7 @@ void CFuncTankMortar::__MAKE_VHOOK(Fire)(const Vector &barrelEnd, const Vector &
LINK_ENTITY_TO_CLASS(func_tankcontrols, CFuncTankControls, CCSFuncTankControls)
IMPLEMENT_SAVERESTORE(CFuncTankControls, CBaseEntity)
void CFuncTankControls::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CFuncTankControls::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
// pass the Use command onto the controls
if (m_pTank != NULL)
@ -870,7 +870,7 @@ void CFuncTankControls::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *
assert(m_pTank != NULL);
}
void CFuncTankControls::__MAKE_VHOOK(Think)()
void CFuncTankControls::Think()
{
edict_t *pTarget = NULL;
@ -889,7 +889,7 @@ void CFuncTankControls::__MAKE_VHOOK(Think)()
m_pTank = static_cast<CFuncTank *>(Instance(pTarget));
}
void CFuncTankControls::__MAKE_VHOOK(Spawn)()
void CFuncTankControls::Spawn()
{
pev->solid = SOLID_TRIGGER;
pev->movetype = MOVETYPE_NONE;

View File

@ -65,20 +65,6 @@ public:
virtual void Fire(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker);
virtual Vector UpdateTargetPosition(CBaseEntity *pTarget) { return pTarget->BodyTarget(pev->origin); }
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
BOOL OnControls_(entvars_t *pevTest);
void Think_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
void Fire_(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker);
#endif
public:
void TrackTarget();
void StartRotSound();
@ -160,11 +146,6 @@ class CFuncTankGun: public CFuncTank
{
public:
virtual void Fire(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker);
#ifdef HOOK_GAMEDLL
void Fire_(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker);
#endif
};
class CFuncTankLaser: public CFuncTank
@ -177,17 +158,6 @@ public:
virtual void Think();
virtual void Fire(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker);
#ifdef HOOK_GAMEDLL
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Activate_();
void Think_();
void Fire_(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker);
#endif
CLaser *GetLaser();
public:
@ -203,14 +173,6 @@ class CFuncTankRocket: public CFuncTank
public:
virtual void Precache();
virtual void Fire(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker);
#ifdef HOOK_GAMEDLL
void Precache_();
void Fire_(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker);
#endif
};
class CFuncTankMortar: public CFuncTank
@ -218,14 +180,6 @@ class CFuncTankMortar: public CFuncTank
public:
virtual void KeyValue(KeyValueData *pkvd);
virtual void Fire(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker);
#ifdef HOOK_GAMEDLL
void KeyValue_(KeyValueData *pkvd);
void Fire_(const Vector &barrelEnd, const Vector &forward, entvars_t *pevAttacker);
#endif
};
class CFuncTankControls: public CBaseEntity
@ -238,16 +192,6 @@ public:
virtual void Think();
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Think_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[1];
CFuncTank *m_pTank;

View File

@ -10,7 +10,6 @@ CGameRules *g_pGameRules = NULL;
#endif
CGameRules::CGameRules()
: m_GameDesc()
{
m_bFreezePeriod = FALSE;
m_bBombDropped = FALSE;
@ -20,11 +19,13 @@ CGameRules::CGameRules()
Q_strcpy(m_GameDesc, AreRunningCZero() ? "Condition Zero" : "Counter-Strike");
}
#ifndef HOOK_GAMEDLL
CGameRules::~CGameRules()
{
delete[] m_GameDesc;
m_GameDesc = nullptr;
}
#endif
// this is the game name that gets seen in the server browser
const char *CGameRules::GetGameDescription()
@ -36,7 +37,7 @@ const char *CGameRules::GetGameDescription()
#endif
}
BOOL CGameRules::__MAKE_VHOOK(CanHaveAmmo)(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry)
BOOL CGameRules::CanHaveAmmo(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry)
{
if (pszAmmoName)
{
@ -54,7 +55,7 @@ BOOL CGameRules::__MAKE_VHOOK(CanHaveAmmo)(CBasePlayer *pPlayer, const char *psz
return FALSE;
}
edict_t *CGameRules::__MAKE_VHOOK(GetPlayerSpawnSpot)(CBasePlayer *pPlayer)
edict_t *CGameRules::GetPlayerSpawnSpot(CBasePlayer *pPlayer)
{
// gat valid spawn point
edict_t *pentSpawnSpot = pPlayer->EntSelectSpawnPoint();
@ -77,7 +78,7 @@ edict_t *CGameRules::__MAKE_VHOOK(GetPlayerSpawnSpot)(CBasePlayer *pPlayer)
return pentSpawnSpot;
}
BOOL CGameRules::__MAKE_VHOOK(CanHavePlayerItem)(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
BOOL CGameRules::CanHavePlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
{
// only living players can have items
if (pPlayer->pev->deadflag != DEAD_NO)
@ -115,7 +116,7 @@ BOOL CGameRules::__MAKE_VHOOK(CanHavePlayerItem)(CBasePlayer *pPlayer, CBasePlay
return TRUE;
}
void CGameRules::__MAKE_VHOOK(RefreshSkillData)()
void CGameRules::RefreshSkillData()
{
int iSkill = int(CVAR_GET_FLOAT("skill"));

View File

@ -60,12 +60,6 @@
#define WINNER_NONE 0
#define WINNER_DRAW 1
#if defined(REGAMEDLL_ADD) && !defined(HOOK_GAMEDLL)
#define VFUNC virtual
#else
#define VFUNC
#endif
enum
{
WINSTATUS_CTS = 1,
@ -128,44 +122,44 @@ enum RewardRules
// custom enum
enum RewardAccount
{
REWARD_TARGET_BOMB = 3500,
REWARD_VIP_ESCAPED = 3500,
REWARD_VIP_ASSASSINATED = 3250,
REWARD_TERRORISTS_ESCAPED = 3150,
REWARD_CTS_PREVENT_ESCAPE = 3500,
REWARD_ESCAPING_TERRORISTS_NEUTRALIZED = 3250,
REWARD_BOMB_DEFUSED = 3250,
REWARD_BOMB_PLANTED = 800,
REWARD_BOMB_EXPLODED = 3250,
REWARD_CTS_WIN = 3000,
REWARD_TERRORISTS_WIN = 3000,
REWARD_ALL_HOSTAGES_RESCUED = 2500,
REWARD_TARGET_BOMB = 3500,
REWARD_VIP_ESCAPED = 3500,
REWARD_VIP_ASSASSINATED = 3250,
REWARD_TERRORISTS_ESCAPED = 3150,
REWARD_CTS_PREVENT_ESCAPE = 3500,
REWARD_ESCAPING_TERRORISTS_NEUTRALIZED = 3250,
REWARD_BOMB_DEFUSED = 3250,
REWARD_BOMB_PLANTED = 800,
REWARD_BOMB_EXPLODED = 3250,
REWARD_CTS_WIN = 3000,
REWARD_TERRORISTS_WIN = 3000,
REWARD_ALL_HOSTAGES_RESCUED = 2500,
// the end round was by the expiration time
REWARD_TARGET_BOMB_SAVED = 3250,
REWARD_HOSTAGE_NOT_RESCUED = 3250,
REWARD_VIP_NOT_ESCAPED = 3250,
REWARD_TARGET_BOMB_SAVED = 3250,
REWARD_HOSTAGE_NOT_RESCUED = 3250,
REWARD_VIP_NOT_ESCAPED = 3250,
// loser bonus
REWARD_LOSER_BONUS_DEFAULT = 1400,
REWARD_LOSER_BONUS_MIN = 1500,
REWARD_LOSER_BONUS_MAX = 3000,
REWARD_LOSER_BONUS_ADD = 500,
REWARD_LOSER_BONUS_DEFAULT = 1400,
REWARD_LOSER_BONUS_MIN = 1500,
REWARD_LOSER_BONUS_MAX = 3000,
REWARD_LOSER_BONUS_ADD = 500,
REWARD_RESCUED_HOSTAGE = 750,
REWARD_KILLED_ENEMY = 300,
REWARD_KILLED_VIP = 2500,
REWARD_VIP_HAVE_SELF_RESCUED = 2500,
REWARD_RESCUED_HOSTAGE = 750,
REWARD_KILLED_ENEMY = 300,
REWARD_KILLED_VIP = 2500,
REWARD_VIP_HAVE_SELF_RESCUED = 2500,
REWARD_TAKEN_HOSTAGE = 1000,
REWARD_TOOK_HOSTAGE_ACC = 100,
REWARD_TOOK_HOSTAGE = 150,
REWARD_TAKEN_HOSTAGE = 1000,
REWARD_TOOK_HOSTAGE_ACC = 100,
REWARD_TOOK_HOSTAGE = 150,
};
// custom enum
enum PaybackForBadThing
{
PAYBACK_FOR_KILLED_TEAMMATES = -3300,
PAYBACK_FOR_KILLED_TEAMMATES = -3300,
};
// custom enum
@ -203,13 +197,13 @@ enum
// custom enum
enum
{
SCENARIO_BLOCK_TIME_EXPRIRED = (1 << 0), // flag "a"
SCENARIO_BLOCK_NEED_PLAYERS = (1 << 1), // flag "b"
SCENARIO_BLOCK_VIP_ESCAPE = (1 << 2), // flag "c"
SCENARIO_BLOCK_PRISON_ESCAPE = (1 << 3), // flag "d"
SCENARIO_BLOCK_BOMB = (1 << 4), // flag "e"
SCENARIO_BLOCK_TEAM_EXTERMINATION = (1 << 5), // flag "f"
SCENARIO_BLOCK_HOSTAGE_RESCUE = (1 << 6), // flag "g"
SCENARIO_BLOCK_TIME_EXPRIRED = (1 << 0), // flag "a"
SCENARIO_BLOCK_NEED_PLAYERS = (1 << 1), // flag "b"
SCENARIO_BLOCK_VIP_ESCAPE = (1 << 2), // flag "c"
SCENARIO_BLOCK_PRISON_ESCAPE = (1 << 3), // flag "d"
SCENARIO_BLOCK_BOMB = (1 << 4), // flag "e"
SCENARIO_BLOCK_TEAM_EXTERMINATION = (1 << 5), // flag "f"
SCENARIO_BLOCK_HOSTAGE_RESCUE = (1 << 6), // flag "g"
};
// Player relationship return codes
@ -228,49 +222,53 @@ class CGameRules
{
public:
CGameRules();
#ifndef HOOK_GAMEDLL
virtual ~CGameRules();
virtual void RefreshSkillData(); // fill skill data struct with proper values
virtual void Think() = 0; // runs every server frame, should handle any timer tasks, periodic events, etc.
#endif
virtual void RefreshSkillData(); // fill skill data struct with proper values
virtual void Think() = 0; // runs every server frame, should handle any timer tasks, periodic events, etc.
virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity) = 0; // Can this item spawn (eg monsters don't spawn in deathmatch).
virtual BOOL FAllowFlashlight() = 0; // Are players allowed to switch on their flashlight?
virtual BOOL FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) = 0; // should the player switch to this weapon?
virtual BOOL GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon) = 0; // I can't use this weapon anymore, get me the next best one.
virtual BOOL FAllowFlashlight() = 0; // Are players allowed to switch on their flashlight?
virtual BOOL FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon) = 0; // should the player switch to this weapon?
virtual BOOL GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon) = 0; // I can't use this weapon anymore, get me the next best one.
// Functions to verify the single/multiplayer status of a game
virtual BOOL IsMultiplayer() = 0; // is this a multiplayer game? (either coop or deathmatch)
virtual BOOL IsDeathmatch() = 0; // is this a deathmatch game?
virtual BOOL IsTeamplay() { return FALSE; } // is this deathmatch game being played with team rules?
virtual BOOL IsCoOp() = 0; // is this a coop game?
virtual const char *GetGameDescription(); // this is the game name that gets seen in the server browser
virtual BOOL IsTeamplay() { return FALSE; } // is this deathmatch game being played with team rules?
virtual BOOL IsCoOp() = 0; // is this a coop game?
virtual const char *GetGameDescription(); // this is the game name that gets seen in the server browser
// Client connection/disconnection
virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason) = 0; // a client just connected to the server (player hasn't spawned yet)
virtual void InitHUD(CBasePlayer *pl) = 0; // the client dll is ready for updating
virtual void ClientDisconnected(edict_t *pClient) = 0; // a client just disconnected from the server
virtual void UpdateGameMode(CBasePlayer *pPlayer) {}; // the client needs to be informed of the current game mode
virtual void ClientDisconnected(edict_t *pClient) = 0; // a client just disconnected from the server
virtual void UpdateGameMode(CBasePlayer *pPlayer) {}; // the client needs to be informed of the current game mode
// Client damage rules
virtual float FlPlayerFallDamage(CBasePlayer *pPlayer) = 0;
virtual BOOL FPlayerCanTakeDamage(CBasePlayer *pPlayer, CBaseEntity *pAttacker) { return TRUE; } // can this player take damage from this attacker?
virtual BOOL FPlayerCanTakeDamage(CBasePlayer *pPlayer, CBaseEntity *pAttacker) { return TRUE; } // can this player take damage from this attacker?
virtual BOOL ShouldAutoAim(CBasePlayer *pPlayer, edict_t *target) { return TRUE; }
// Client spawn/respawn control
virtual void PlayerSpawn(CBasePlayer *pPlayer) = 0; // called by CBasePlayer::Spawn just before releasing player into the game
virtual void PlayerThink(CBasePlayer *pPlayer) = 0; // called by CBasePlayer::PreThink every frame, before physics are run and after keys are accepted
virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer) = 0; // is this player allowed to respawn now?
virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer) = 0; // When in the future will this player be able to spawn?
virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer); // Place this player on their spawnspot and face them the proper direction.
virtual BOOL FPlayerCanRespawn(CBasePlayer *pPlayer) = 0; // is this player allowed to respawn now?
virtual float FlPlayerSpawnTime(CBasePlayer *pPlayer) = 0; // When in the future will this player be able to spawn?
virtual edict_t *GetPlayerSpawnSpot(CBasePlayer *pPlayer); // Place this player on their spawnspot and face them the proper direction.
virtual BOOL AllowAutoTargetCrosshair() { return TRUE; }
virtual BOOL ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd) { return FALSE; }
virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd) { return FALSE; } // handles the user commands; returns TRUE if command handled properly
virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd) { return FALSE; } // handles the user commands; returns TRUE if command handled properly
virtual void ClientUserInfoChanged(CBasePlayer *pPlayer, char *infobuffer) {}; // the player has changed userinfo; can change it now
// Client kills/scoring
virtual int IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled) = 0; // how many points do I award whoever kills this player?
virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) = 0; // Called each time a player dies
virtual void DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pevInflictor) = 0; // Call this from within a GameRules class to report an obituary.
virtual void PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor) = 0; // Called each time a player dies
virtual void DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pevInflictor) = 0; // Call this from within a GameRules class to report an obituary.
// Weapon retrieval
virtual BOOL CanHavePlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pItem); // The player is touching an CBasePlayerItem, do I give it to him?
@ -287,21 +285,21 @@ public:
virtual void PlayerGotItem(CBasePlayer *pPlayer, CItem *pItem) = 0; // call each time a player picks up an item (battery, healthkit, longjump)
// Item spawn/respawn control
virtual int ItemShouldRespawn(CItem *pItem) = 0; // Should this item respawn?
virtual float FlItemRespawnTime(CItem *pItem) = 0; // when may this item respawn?
virtual int ItemShouldRespawn(CItem *pItem) = 0; // Should this item respawn?
virtual float FlItemRespawnTime(CItem *pItem) = 0; // when may this item respawn?
virtual Vector VecItemRespawnSpot(CItem *pItem) = 0; // where in the world should this item respawn?
// Ammo retrieval
virtual BOOL CanHaveAmmo(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry); // can this player take more of this ammo?
virtual void PlayerGotAmmo(CBasePlayer *pPlayer, char *szName, int iCount) = 0; // called each time a player picks up some ammo in the world
virtual BOOL CanHaveAmmo(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry); // can this player take more of this ammo?
virtual void PlayerGotAmmo(CBasePlayer *pPlayer, char *szName, int iCount) = 0; // called each time a player picks up some ammo in the world
// Ammo spawn/respawn control
virtual int AmmoShouldRespawn(CBasePlayerAmmo *pAmmo) = 0; // should this ammo item respawn?
virtual float FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo) = 0; // when should this ammo item respawn?
virtual Vector VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo) = 0; // where in the world should this ammo item respawn?
virtual float FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo) = 0; // when should this ammo item respawn?
virtual Vector VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo) = 0; // where in the world should this ammo item respawn?
// Healthcharger respawn control
virtual float FlHealthChargerRechargeTime() = 0; // how long until a depleted HealthCharger recharges itself?
virtual float FlHealthChargerRechargeTime() = 0; // how long until a depleted HealthCharger recharges itself?
virtual float FlHEVChargerRechargeTime() { return 0.0f; } // how long until a depleted HealthCharger recharges itself?
// What happens to a dead player's weapons
@ -312,7 +310,7 @@ public:
// Teamplay stuff
virtual const char *GetTeamID(CBaseEntity *pEntity) = 0; // what team is this entity on?
virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget) = 0; // What is the player's relationship with this entity?
virtual int PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget) = 0; // What is the player's relationship with this entity?
virtual int GetTeamIndex(const char *pTeamName) { return -1; }
virtual const char *GetIndexedTeamName(int teamIndex) { return ""; }
virtual BOOL IsValidTeam(const char *pTeamName) { return TRUE; }
@ -333,26 +331,17 @@ public:
virtual void ServerDeactivate() {};
virtual void CheckMapConditions() {};
#ifdef HOOK_GAMEDLL
void RefreshSkillData_();
edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer);
BOOL CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem *pItem);
BOOL CanHaveAmmo_(CBasePlayer *pPlayer, const char *pszAmmoName, int iMaxCarry);
#endif
// inline function's
inline bool IsGameOver() const { return m_bGameOver; }
inline void SetGameOver() { m_bGameOver = true; }
public:
BOOL m_bFreezePeriod; // TRUE at beginning of round, set to FALSE when the period expires
BOOL m_bFreezePeriod; // TRUE at beginning of round, set to FALSE when the period expires
BOOL m_bBombDropped;
// custom
char *m_GameDesc;
bool m_bGameOver; // intermission or finale (deprecated name g_fGameOver)
CUSTOM_MEMBER char *m_GameDesc;
CUSTOM_MEMBER bool m_bGameOver; // intermission or finale (deprecated name g_fGameOver)
};
// CHalfLifeRules - rules for the single player Half-Life game.
@ -360,7 +349,10 @@ class CHalfLifeRules: public CGameRules
{
public:
CHalfLifeRules();
#ifndef HOOK_GAMEDLL
virtual ~CHalfLifeRules() {};
#endif
virtual void Think();
virtual BOOL IsAllowedToSpawn(CBaseEntity *pEntity);
@ -437,50 +429,6 @@ public:
// Monsters
virtual BOOL FAllowMonsters();
#ifdef HOOK_GAMEDLL
void Think_();
BOOL IsAllowedToSpawn_(CBaseEntity *pEntity);
BOOL FShouldSwitchWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
BOOL GetNextBestWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon);
BOOL IsMultiplayer_();
BOOL IsDeathmatch_();
BOOL IsCoOp_();
BOOL ClientConnected_(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);
void InitHUD_(CBasePlayer *pl);
void ClientDisconnected_(edict_t *pClient);
float FlPlayerFallDamage_(CBasePlayer *pPlayer);
void PlayerSpawn_(CBasePlayer *pPlayer);
void PlayerThink_(CBasePlayer *pPlayer);
BOOL FPlayerCanRespawn_(CBasePlayer *pPlayer);
float FlPlayerSpawnTime_(CBasePlayer *pPlayer);
edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer);
BOOL AllowAutoTargetCrosshair_();
int IPointsForKill_(CBasePlayer *pAttacker, CBasePlayer *pKilled);
void PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
void DeathNotice_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
void PlayerGotWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
int WeaponShouldRespawn_(CBasePlayerItem *pWeapon);
float FlWeaponRespawnTime_(CBasePlayerItem *pWeapon);
float FlWeaponTryRespawn_(CBasePlayerItem *pWeapon);
Vector VecWeaponRespawnSpot_(CBasePlayerItem *pWeapon);
BOOL CanHaveItem_(CBasePlayer *pPlayer, CItem *pItem);
void PlayerGotItem_(CBasePlayer *pPlayer, CItem *pItem);
int ItemShouldRespawn_(CItem *pItem);
float FlItemRespawnTime_(CItem *pItem);
Vector VecItemRespawnSpot_(CItem *pItem);
void PlayerGotAmmo_(CBasePlayer *pPlayer, char *szName, int iCount);
int AmmoShouldRespawn_(CBasePlayerAmmo *pAmmo);
float FlAmmoRespawnTime_(CBasePlayerAmmo *pAmmo);
Vector VecAmmoRespawnSpot_(CBasePlayerAmmo *pAmmo);
float FlHealthChargerRechargeTime_();
int DeadPlayerWeapons_(CBasePlayer *pPlayer);
int DeadPlayerAmmo_(CBasePlayer *pPlayer);
int PlayerRelationship_(CBasePlayer *pPlayer, CBaseEntity *pTarget);
BOOL FAllowMonsters_();
#endif // HOOK_GAMEDLL
};
// CHalfLifeMultiplay - rules for the basic half life multiplayer competition
@ -508,7 +456,7 @@ public:
virtual BOOL ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);
virtual void InitHUD(CBasePlayer *pl); // the client dll is ready for updating
virtual void ClientDisconnected(edict_t *pClient);
virtual void UpdateGameMode(CBasePlayer *pPlayer); // the client needs to be informed of the current game mode
virtual void UpdateGameMode(CBasePlayer *pPlayer); // the client needs to be informed of the current game mode
// Client damage rules
virtual float FlPlayerFallDamage(CBasePlayer *pPlayer);
@ -595,64 +543,29 @@ public:
virtual void ChangeLevel();
virtual void GoToIntermission();
#if defined(REGAMEDLL_API) || defined(HOOK_GAMEDLL)
void RefreshSkillData_();
void Think_();
BOOL IsAllowedToSpawn_(CBaseEntity *pEntity);
BOOL FAllowFlashlight_();
BOOL FShouldSwitchWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
BOOL GetNextBestWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon);
BOOL IsMultiplayer_();
BOOL IsDeathmatch_();
BOOL IsCoOp_();
BOOL ClientConnected_(edict_t *pEntity, const char *pszName, const char *pszAddress, char szRejectReason[128]);
void InitHUD_(CBasePlayer *pl);
void ClientDisconnected_(edict_t *pClient);
void UpdateGameMode_(CBasePlayer *pPlayer);
float FlPlayerFallDamage_(CBasePlayer *pPlayer);
BOOL FPlayerCanTakeDamage_(CBasePlayer *pPlayer, CBaseEntity *pAttacker);
void PlayerSpawn_(CBasePlayer *pPlayer);
void PlayerThink_(CBasePlayer *pPlayer);
BOOL FPlayerCanRespawn_(CBasePlayer *pPlayer);
float FlPlayerSpawnTime_(CBasePlayer *pPlayer);
edict_t *GetPlayerSpawnSpot_(CBasePlayer *pPlayer);
BOOL AllowAutoTargetCrosshair_();
BOOL ClientCommand_DeadOrAlive_(CBasePlayer *pPlayer, const char *pcmd);
BOOL ClientCommand_(CBasePlayer *pPlayer, const char *pcmd);
void ClientUserInfoChanged_(CBasePlayer *pPlayer, char *infobuffer);
int IPointsForKill_(CBasePlayer *pAttacker, CBasePlayer *pKilled);
void PlayerKilled_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
void DeathNotice_(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
BOOL CanHavePlayerItem_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
void PlayerGotWeapon_(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
int WeaponShouldRespawn_(CBasePlayerItem *pWeapon);
float FlWeaponRespawnTime_(CBasePlayerItem *pWeapon);
float FlWeaponTryRespawn_(CBasePlayerItem *pWeapon);
Vector VecWeaponRespawnSpot_(CBasePlayerItem *pWeapon);
BOOL CanHaveItem_(CBasePlayer *pPlayer, CItem *pItem);
void PlayerGotItem_(CBasePlayer *pPlayer, CItem *pItem);
int ItemShouldRespawn_(CItem *pItem);
float FlItemRespawnTime_(CItem *pItem);
Vector VecItemRespawnSpot_(CItem *pItem);
void PlayerGotAmmo_(CBasePlayer *pPlayer, char *szName, int iCount);
int AmmoShouldRespawn_(CBasePlayerAmmo *pAmmo);
float FlAmmoRespawnTime_(CBasePlayerAmmo *pAmmo);
Vector VecAmmoRespawnSpot_(CBasePlayerAmmo *pAmmo);
float FlHealthChargerRechargeTime_();
float FlHEVChargerRechargeTime_();
int DeadPlayerWeapons_(CBasePlayer *pPlayer);
int DeadPlayerAmmo_(CBasePlayer *pPlayer);
int PlayerRelationship_(CBasePlayer *pPlayer, CBaseEntity *pTarget);
BOOL FAllowMonsters_();
void ServerDeactivate_();
void CheckMapConditions_();
void CleanUpMap_();
void RestartRound_();
void CheckWinConditions_();
void RemoveGuns_();
void GiveC4_();
void ChangeLevel_();
void GoToIntermission_();
#ifdef REGAMEDLL_API
BOOL FShouldSwitchWeapon_OrigFunc(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
BOOL GetNextBestWeapon_OrigFunc(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon);
float FlPlayerFallDamage_OrigFunc(CBasePlayer *pPlayer);
BOOL FPlayerCanTakeDamage_OrigFunc(CBasePlayer *pPlayer, CBaseEntity *pAttacker);
void PlayerSpawn_OrigFunc(CBasePlayer *pPlayer);
BOOL FPlayerCanRespawn_OrigFunc(CBasePlayer *pPlayer);
edict_t *GetPlayerSpawnSpot_OrigFunc(CBasePlayer *pPlayer);
void ClientUserInfoChanged_OrigFunc(CBasePlayer *pPlayer, char *infobuffer);
void PlayerKilled_OrigFunc(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
void DeathNotice_OrigFunc(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor);
BOOL CanHavePlayerItem_OrigFunc(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon);
int DeadPlayerWeapons_OrigFunc(CBasePlayer *pPlayer);
void ServerDeactivate_OrigFunc();
void CheckMapConditions_OrigFunc();
void CleanUpMap_OrigFunc();
void RestartRound_OrigFunc();
void CheckWinConditions_OrigFunc();
void RemoveGuns_OrigFunc();
void GiveC4_OrigFunc();
void ChangeLevel_OrigFunc();
void GoToIntermission_OrigFunc();
void BalanceTeams_OrigFunc();
#endif
public:
@ -742,8 +655,6 @@ public:
void ResetCurrentVIP();
VFUNC void BalanceTeams();
void BalanceTeams_();
VFUNC void SwapAllPlayers();
VFUNC void UpdateTeamScores();
VFUNC void EndRoundMessage(const char *sentence, int event);
@ -782,18 +693,18 @@ public:
float m_flRestartRoundTime; // The global time when the round is supposed to end, if this is not 0 (deprecated name m_fTeamCount)
float m_flCheckWinConditions;
float m_fRoundStartTime; // Time round has started (deprecated name m_fRoundCount)
int m_iRoundTime; // (From mp_roundtime) - How many seconds long this round is.
int m_iRoundTime; // (From mp_roundtime) - How many seconds long this round is.
int m_iRoundTimeSecs;
int m_iIntroRoundTime; // (From mp_freezetime) - How many seconds long the intro round (when players are frozen) is.
float m_fRoundStartTimeReal; // The global time when the intro round ends and the real one starts
// wrote the original "m_flRoundTime" comment for this variable).
float m_fRoundStartTimeReal; // The global time when the intro round ends and the real one starts
// wrote the original "m_flRoundTime" comment for this variable).
int m_iAccountTerrorist;
int m_iAccountCT;
int m_iNumTerrorist; // The number of terrorists on the team (this is generated at the end of a round)
int m_iNumCT; // The number of CTs on the team (this is generated at the end of a round)
int m_iNumCT; // The number of CTs on the team (this is generated at the end of a round)
int m_iNumSpawnableTerrorist;
int m_iNumSpawnableCT;
int m_iSpawnPointCount_Terrorist; // Number of Terrorist spawn points
int m_iSpawnPointCount_Terrorist; // Number of Terrorist spawn points
int m_iSpawnPointCount_CT; // Number of CT spawn points
int m_iHostagesRescued;
int m_iHostagesTouched;
@ -814,22 +725,22 @@ public:
BOOL m_bMapHasVIPSafetyZone; // TRUE = has VIP safety zone, FALSE = does not have VIP safetyzone
BOOL m_bMapHasCameras;
int m_iC4Timer;
int m_iC4Guy; // The current Terrorist who has the C4.
int m_iLoserBonus; // the amount of money the losing team gets. This scales up as they lose more rounds in a row
int m_iC4Guy; // The current Terrorist who has the C4.
int m_iLoserBonus; // the amount of money the losing team gets. This scales up as they lose more rounds in a row
int m_iNumConsecutiveCTLoses; // the number of rounds the CTs have lost in a row.
int m_iNumConsecutiveTerroristLoses; // the number of rounds the Terrorists have lost in a row.
int m_iNumConsecutiveTerroristLoses; // the number of rounds the Terrorists have lost in a row.
float m_fMaxIdlePeriod; // For the idle kick functionality. This is tha max amount of time that the player has to be idle before being kicked
float m_fMaxIdlePeriod; // For the idle kick functionality. This is tha max amount of time that the player has to be idle before being kicked
int m_iLimitTeams;
bool m_bLevelInitialized;
bool m_bRoundTerminating;
bool m_bCompleteReset; // Set to TRUE to have the scores reset next time round restarts
bool m_bCompleteReset; // Set to TRUE to have the scores reset next time round restarts
float m_flRequiredEscapeRatio;
int m_iNumEscapers;
int m_iHaveEscaped;
bool m_bCTCantBuy;
bool m_bTCantBuy; // Who can and can't buy.
bool m_bTCantBuy; // Who can and can't buy.
float m_flBombRadius;
int m_iConsecutiveVIP;
int m_iTotalGunCount;
@ -864,11 +775,11 @@ protected:
bool m_bSkipSpawn;
// custom
bool m_bSkipShowMenu;
bool m_bNeededPlayers;
float m_flEscapeRatio;
float m_flTimeLimit;
float m_flGameStartTime;
CUSTOM_MEMBER bool m_bSkipShowMenu;
CUSTOM_MEMBER bool m_bNeededPlayers;
CUSTOM_MEMBER float m_flEscapeRatio;
CUSTOM_MEMBER float m_flTimeLimit;
CUSTOM_MEMBER float m_flGameStartTime;
};
typedef struct mapcycle_item_s
@ -892,19 +803,15 @@ class CCStrikeGameMgrHelper: public IVoiceGameMgrHelper
{
public:
virtual bool CanPlayerHearPlayer(CBasePlayer *pListener, CBasePlayer *pSender);
#ifdef HOOK_GAMEDLL
bool CanPlayerHearPlayer_(CBasePlayer *pListener, CBasePlayer *pSender);
#endif
};
extern CGameRules DLLEXPORT *g_pGameRules;
#ifdef REGAMEDLL_API
CGameRules *InstallGameRules_OrigFunc();
#endif
CGameRules *InstallGameRules();
CGameRules *InstallGameRules_();
// Gets us at the CS game rules
inline CHalfLifeMultiplay *CSGameRules()

View File

@ -511,7 +511,7 @@ void CGrenade::SG_Smoke()
}
}
void CGrenade::__MAKE_VHOOK(Killed)(entvars_t *pevAttacker, int iGib)
void CGrenade::Killed(entvars_t *pevAttacker, int iGib)
{
Detonate();
}
@ -730,7 +730,7 @@ void CGrenade::SlideTouch(CBaseEntity *pOther)
}
}
void CGrenade::__MAKE_VHOOK(BounceSound)()
void CGrenade::BounceSound()
{
if (pev->dmg > 50.0f)
{
@ -819,7 +819,7 @@ void CGrenade::SG_TumbleThink()
}
}
void CGrenade::__MAKE_VHOOK(Spawn)()
void CGrenade::Spawn()
{
m_iBounceCount = 0;
pev->movetype = MOVETYPE_BOUNCE;
@ -939,7 +939,7 @@ CGrenade *CGrenade::ShootTimed(entvars_t *pevOwner, Vector vecStart, Vector vecV
return pGrenade;
}
void CGrenade::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGrenade::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!m_bIsC4)
return;

View File

@ -19,7 +19,7 @@ TYPEDESCRIPTION CRecharge::m_SaveData[] =
IMPLEMENT_SAVERESTORE(CRecharge, CBaseEntity)
LINK_ENTITY_TO_CLASS(func_recharge, CRecharge, CCSRecharge)
void CRecharge::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CRecharge::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "style")
|| FStrEq(pkvd->szKeyName, "height")
@ -38,7 +38,7 @@ void CRecharge::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CBaseToggle::KeyValue(pkvd);
}
void CRecharge::__MAKE_VHOOK(Spawn)()
void CRecharge::Spawn()
{
Precache();
@ -54,14 +54,14 @@ void CRecharge::__MAKE_VHOOK(Spawn)()
pev->frame = 0;
}
void CRecharge::__MAKE_VHOOK(Precache)()
void CRecharge::Precache()
{
PRECACHE_SOUND("items/suitcharge1.wav");
PRECACHE_SOUND("items/suitchargeno1.wav");
PRECACHE_SOUND("items/suitchargeok1.wav");
}
void CRecharge::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CRecharge::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
// if it's not a player, ignore
if (!FClassnameIs(pActivator->pev, "player"))

View File

@ -43,17 +43,6 @@ public:
virtual int ObjectCaps() { return ((CBaseToggle::ObjectCaps() | FCAP_CONTINUOUS_USE) & ~FCAP_ACROSS_TRANSITION); }
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT Off();
void EXPORT Recharge();

View File

@ -26,7 +26,7 @@ TYPEDESCRIPTION CWreckage::m_SaveData[] =
IMPLEMENT_SAVERESTORE(CCycler, CBaseToggle)
void CGenericCycler::__MAKE_VHOOK(Spawn)()
void CGenericCycler::Spawn()
{
GenericCyclerSpawn((char *)STRING(pev->model), Vector(-16, -16, 0), Vector(16, 16, 72));
}
@ -34,7 +34,7 @@ void CGenericCycler::__MAKE_VHOOK(Spawn)()
LINK_ENTITY_TO_CLASS(cycler, CGenericCycler, CCSGenericCycler)
LINK_ENTITY_TO_CLASS(cycler_prdroid, CCyclerProbe, CCSCyclerProbe)
void CCyclerProbe::__MAKE_VHOOK(Spawn)()
void CCyclerProbe::Spawn()
{
pev->origin = pev->origin + Vector(0, 0, 16);
GenericCyclerSpawn("models/prdroid.mdl", Vector(-16, -16, -16), Vector(16, 16, 16));
@ -60,7 +60,7 @@ void CCycler::GenericCyclerSpawn(char *szModel, Vector vecMin, Vector vecMax)
UTIL_SetSize(pev, vecMin, vecMax);
}
void CCycler::__MAKE_VHOOK(Spawn)()
void CCycler::Spawn()
{
InitBoneControllers();
@ -95,7 +95,7 @@ void CCycler::__MAKE_VHOOK(Spawn)()
}
// cycler think
void CCycler::__MAKE_VHOOK(Think)()
void CCycler::Think()
{
pev->nextthink = gpGlobals->time + 0.1f;
@ -123,7 +123,7 @@ void CCycler::__MAKE_VHOOK(Think)()
}
// CyclerUse - starts a rotation trend
void CCycler::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CCycler::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
m_animate = !m_animate;
@ -134,7 +134,7 @@ void CCycler::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, U
}
// CyclerPain , changes sequences when shot
BOOL CCycler::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
BOOL CCycler::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{
if (m_animate)
{
@ -164,7 +164,7 @@ BOOL CCycler::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAt
LINK_ENTITY_TO_CLASS(cycler_sprite, CCyclerSprite, CCSCyclerSprite)
IMPLEMENT_SAVERESTORE(CCyclerSprite, CBaseEntity)
void CCyclerSprite::__MAKE_VHOOK(Spawn)()
void CCyclerSprite::Spawn()
{
pev->solid = SOLID_SLIDEBOX;
pev->movetype = MOVETYPE_NONE;
@ -187,7 +187,7 @@ void CCyclerSprite::__MAKE_VHOOK(Spawn)()
m_rendercolor = pev->rendercolor;
}
void CCyclerSprite::__MAKE_VHOOK(Restart)()
void CCyclerSprite::Restart()
{
pev->solid = SOLID_SLIDEBOX;
pev->movetype = MOVETYPE_NONE;
@ -205,7 +205,7 @@ void CCyclerSprite::__MAKE_VHOOK(Restart)()
pev->rendercolor = m_rendercolor;
}
void CCyclerSprite::__MAKE_VHOOK(Think)()
void CCyclerSprite::Think()
{
if (ShouldAnimate())
{
@ -216,13 +216,13 @@ void CCyclerSprite::__MAKE_VHOOK(Think)()
m_lastTime = gpGlobals->time;
}
void CCyclerSprite::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CCyclerSprite::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
m_animate = !m_animate;
ALERT(at_console, "Sprite: %s\n", STRING(pev->model));
}
BOOL CCyclerSprite::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
BOOL CCyclerSprite::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{
if (m_maxFrame > 1.0)
{
@ -244,7 +244,7 @@ void CCyclerSprite::Animate(float frames)
LINK_ENTITY_TO_CLASS(cycler_weapon, CWeaponCycler, CCSWeaponCycler)
void CWeaponCycler::__MAKE_VHOOK(Spawn)()
void CWeaponCycler::Spawn()
{
pev->solid = SOLID_SLIDEBOX;
pev->movetype = MOVETYPE_NONE;
@ -260,7 +260,7 @@ void CWeaponCycler::__MAKE_VHOOK(Spawn)()
SetTouch(&CWeaponCycler::DefaultTouch);
}
BOOL CWeaponCycler::__MAKE_VHOOK(Deploy)()
BOOL CWeaponCycler::Deploy()
{
m_pPlayer->pev->viewmodel = m_iszModel;
m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 1.0f;
@ -271,18 +271,18 @@ BOOL CWeaponCycler::__MAKE_VHOOK(Deploy)()
return TRUE;
}
void CWeaponCycler::__MAKE_VHOOK(Holster)(int skiplocal)
void CWeaponCycler::Holster(int skiplocal)
{
m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.5f;
}
void CWeaponCycler::__MAKE_VHOOK(PrimaryAttack)()
void CWeaponCycler::PrimaryAttack()
{
SendWeaponAnim(pev->sequence);
m_flNextPrimaryAttack = gpGlobals->time + 0.3f;
}
void CWeaponCycler::__MAKE_VHOOK(SecondaryAttack)()
void CWeaponCycler::SecondaryAttack()
{
float flFrameRate, flGroundSpeed;
@ -305,7 +305,7 @@ void CWeaponCycler::__MAKE_VHOOK(SecondaryAttack)()
IMPLEMENT_SAVERESTORE(CWreckage, CBaseToggle)
LINK_ENTITY_TO_CLASS(cycler_wreckage, CWreckage, CCSWreckage)
void CWreckage::__MAKE_VHOOK(Spawn)()
void CWreckage::Spawn()
{
pev->solid = SOLID_NOT;
pev->movetype = MOVETYPE_NONE;
@ -325,7 +325,7 @@ void CWreckage::__MAKE_VHOOK(Spawn)()
m_flStartTime = int(gpGlobals->time);
}
void CWreckage::__MAKE_VHOOK(Precache)()
void CWreckage::Precache()
{
if (!FStringNull(pev->model))
{
@ -333,7 +333,7 @@ void CWreckage::__MAKE_VHOOK(Precache)()
}
}
void CWreckage::__MAKE_VHOOK(Think)()
void CWreckage::Think()
{
StudioFrameAdvance();
pev->nextthink = gpGlobals->time + 0.2f;

View File

@ -46,17 +46,6 @@ public:
virtual void Think();
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
int Save_(CSave &save);
int Restore_(CRestore &restore);
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
void Think_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void GenericCyclerSpawn(char *szModel, Vector vecMin, Vector vecMax);
@ -71,13 +60,6 @@ class CGenericCycler: public CCycler
{
public:
virtual void Spawn();
#ifdef HOOK_GAMEDLL
void Spawn_();
#endif
};
// Probe droid imported for tech demo compatibility
@ -85,13 +67,6 @@ class CCyclerProbe: public CCycler
{
public:
virtual void Spawn();
#ifdef HOOK_GAMEDLL
void Spawn_();
#endif
};
class CCyclerSprite: public CBaseEntity
@ -106,18 +81,6 @@ public:
virtual void Think();
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Restart_();
int Save_(CSave &save);
int Restore_(CRestore &restore);
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
void Think_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void Animate(float frames);
inline int ShouldAnimate() { return (m_animate && m_maxFrame > 1.0f); }
@ -145,16 +108,6 @@ public:
virtual void PrimaryAttack();
virtual void SecondaryAttack();
#ifdef HOOK_GAMEDLL
void Spawn_();
BOOL Deploy_();
void Holster_(int skiplocal = 0);
void PrimaryAttack_();
void SecondaryAttack_();
#endif
public:
int m_iszModel;
int m_iModel;
@ -170,16 +123,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void Think();
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Think_();
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[1];

View File

@ -18,7 +18,7 @@ TYPEDESCRIPTION CWallHealth::m_SaveData[] =
LINK_ENTITY_TO_CLASS(item_healthkit, CHealthKit, CCSHealthKit)
void CHealthKit::__MAKE_VHOOK(Spawn)()
void CHealthKit::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_medkit.mdl");
@ -26,13 +26,13 @@ void CHealthKit::__MAKE_VHOOK(Spawn)()
CItem::Spawn();
}
void CHealthKit::__MAKE_VHOOK(Precache)()
void CHealthKit::Precache()
{
PRECACHE_MODEL("models/w_medkit.mdl");
PRECACHE_SOUND("items/smallmedkit1.wav");
}
BOOL CHealthKit::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
BOOL CHealthKit::MyTouch(CBasePlayer *pPlayer)
{
#ifdef REGAMEDLL_ADD
if (pPlayer->HasRestrictItem(ITEM_HEALTHKIT, ITEM_TYPE_TOUCHED))
@ -61,7 +61,7 @@ BOOL CHealthKit::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
IMPLEMENT_SAVERESTORE(CWallHealth, CBaseEntity)
LINK_ENTITY_TO_CLASS(func_healthcharger, CWallHealth, CCSWallHealth)
void CWallHealth::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CWallHealth::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "style") || FStrEq(pkvd->szKeyName, "height") || FStrEq(pkvd->szKeyName, "value1") || FStrEq(pkvd->szKeyName, "value2") || FStrEq(pkvd->szKeyName, "value3"))
{
@ -76,7 +76,7 @@ void CWallHealth::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CBaseToggle::KeyValue(pkvd);
}
void CWallHealth::__MAKE_VHOOK(Spawn)()
void CWallHealth::Spawn()
{
Precache();
@ -93,14 +93,14 @@ void CWallHealth::__MAKE_VHOOK(Spawn)()
pev->frame = 0.0f;
}
void CWallHealth::__MAKE_VHOOK(Precache)()
void CWallHealth::Precache()
{
PRECACHE_SOUND("items/medshot4.wav");
PRECACHE_SOUND("items/medshotno1.wav");
PRECACHE_SOUND("items/medcharge4.wav");
}
void CWallHealth::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CWallHealth::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
// Make sure that we have a caller
if (!pActivator)

View File

@ -38,15 +38,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL MyTouch(CBasePlayer *pPlayer);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL MyTouch_(CBasePlayer *pPlayer);
#endif
};
class CWallHealth: public CBaseToggle
@ -60,17 +51,6 @@ public:
virtual int ObjectCaps() { return (CBaseToggle::ObjectCaps() | FCAP_CONTINUOUS_USE) & ~FCAP_ACROSS_TRANSITION; }
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT Off();
void EXPORT Recharge();

View File

@ -173,10 +173,9 @@ struct
LINK_ENTITY_TO_CLASS(hostage_entity, CHostage, CCSHostage)
LINK_ENTITY_TO_CLASS(monster_scientist, CHostage, CCSHostage)
void CHostage::__MAKE_VHOOK(Spawn)()
void CHostage::Spawn()
{
if (!g_pHostages)
{
if (!g_pHostages) {
g_pHostages = new CHostageManager;
}
@ -223,13 +222,7 @@ void CHostage::__MAKE_VHOOK(Spawn)()
DROP_TO_FLOOR(edict());
#ifndef HOOK_GAMEDLL
SetThink(&CHostage::IdleThink);
#else
// TODO: fix test demo
SetThink(pCHostage__IdleThink);
#endif
pev->nextthink = gpGlobals->time + RANDOM_FLOAT(0.1, 0.2);
m_flNextFullThink = gpGlobals->time + RANDOM_FLOAT(0.1, 0.2);
@ -252,7 +245,7 @@ void CHostage::__MAKE_VHOOK(Spawn)()
m_improv = NULL;
}
void CHostage::__MAKE_VHOOK(Precache)()
void CHostage::Precache()
{
static int which = 0;
@ -551,12 +544,7 @@ void CHostage::RePosition()
DROP_TO_FLOOR(edict());
SetActivity(ACT_IDLE);
#ifndef HOOK_GAMEDLL
SetThink(&CHostage::IdleThink);
#else
// TODO: fix test demo
SetThink(pCHostage__IdleThink);
#endif
pev->nextthink = gpGlobals->time + RANDOM_FLOAT(0.1, 0.2);
m_fHasPath = FALSE;
@ -578,7 +566,7 @@ void CHostage::TraceAttack(entvars_t *pevAttacker, float flDamage, Vector vecDir
}
}
BOOL CHostage::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
BOOL CHostage::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{
#ifdef REGAMEDLL_ADD
if (hostagehurtable.value <= 0)
@ -830,7 +818,7 @@ void CHostage::ApplyHostagePenalty(CBasePlayer *pAttacker)
}
}
void CHostage::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CHostage::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!pActivator->IsPlayer())
return;
@ -936,12 +924,12 @@ void CHostage::GiveCTTouchBonus(CBasePlayer *pPlayer)
UTIL_LogPrintf("\"%s<%i><%s><CT>\" triggered \"Touched_A_Hostage\"\n", STRING(pPlayer->pev->netname), GETPLAYERUSERID(pPlayer->edict()), GETPLAYERAUTHID(pPlayer->edict()));
}
int CHostage::__MAKE_VHOOK(ObjectCaps)()
int CHostage::ObjectCaps()
{
return (CBaseMonster::ObjectCaps() | FCAP_MUST_SPAWN | FCAP_ONOFF_USE);
}
void CHostage::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
void CHostage::Touch(CBaseEntity *pOther)
{
Vector2D vPush;
const float pushForce = 50.0f;

View File

@ -32,19 +32,19 @@
#pragma once
#endif
#define MAX_NODES 100
#define MAX_HOSTAGES 12
#define MAX_HOSTAGES_NAV 20
#define MAX_NODES 100
#define MAX_HOSTAGES 12
#define MAX_HOSTAGES_NAV 20
#define HOSTAGE_STEPSIZE 26.0f
#define HOSTAGE_STEPSIZE_DEFAULT 18.0f
#define HOSTAGE_STEPSIZE 26.0f
#define HOSTAGE_STEPSIZE_DEFAULT 18.0f
#define VEC_HOSTAGE_VIEW Vector(0, 0, 12)
#define VEC_HOSTAGE_HULL_MIN Vector(-10, -10, 0)
#define VEC_HOSTAGE_HULL_MAX Vector(10, 10, 62)
#define VEC_HOSTAGE_VIEW Vector(0, 0, 12)
#define VEC_HOSTAGE_HULL_MIN Vector(-10, -10, 0)
#define VEC_HOSTAGE_HULL_MAX Vector(10, 10, 62)
#define VEC_HOSTAGE_CROUCH Vector(10, 10, 30)
#define RESCUE_HOSTAGES_RADIUS 256.0f // rescue zones from legacy info_*
#define VEC_HOSTAGE_CROUCH Vector(10, 10, 30)
#define RESCUE_HOSTAGES_RADIUS 256.0f // rescue zones from legacy info_*
class CHostage;
class CLocalNav;
@ -105,17 +105,6 @@ public:
virtual void Touch(CBaseEntity *pOther);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
int ObjectCaps_();
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
void Touch_(CBaseEntity *pOther);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT IdleThink();
void EXPORT Remove();
@ -144,21 +133,19 @@ public:
bool IsFollowingSomeone() { return IsFollowing(); }
CBaseEntity *GetLeader() // return our leader, or NULL
{
if (m_improv != NULL)
{
if (m_improv) {
return m_improv->GetFollowLeader();
}
return m_hTargetEnt;
}
bool IsFollowing(const CBaseEntity *entity = NULL)
bool IsFollowing(const CBaseEntity *entity = nullptr)
{
if (m_improv != NULL)
{
if (m_improv) {
return m_improv->IsFollowing();
}
if ((!entity && !m_hTargetEnt) || (entity != NULL && m_hTargetEnt != entity))
if ((!entity && !m_hTargetEnt) || (entity && m_hTargetEnt != entity))
return false;
if (m_State != FOLLOW)
@ -265,7 +252,7 @@ public:
{
CHostage *hostage = m_hostage[i];
if (hostage == NULL || hostage->pev->deadflag == DEAD_DEAD)
if (!hostage || hostage->pev->deadflag == DEAD_DEAD)
continue;
if (func(hostage) == false)
@ -274,11 +261,11 @@ public:
return true;
}
inline CHostage *GetClosestHostage(const Vector &pos, float *resultRange = NULL)
inline CHostage *GetClosestHostage(const Vector &pos, float *resultRange = nullptr)
{
float range;
float closeRange = 1e8f;
CHostage *close = NULL;
CHostage *close = nullptr;
for (int i = 0; i < m_hostageCount; i++)
{

View File

@ -19,12 +19,12 @@ CHostageImprov::CHostageImprov(CBaseEntity *entity)
OnReset();
}
bool CHostageImprov::__MAKE_VHOOK(IsAlive)() const
bool CHostageImprov::IsAlive() const
{
return m_hostage->pev->deadflag != DEAD_DEAD;
}
void CHostageImprov::__MAKE_VHOOK(MoveTo)(const Vector &goal)
void CHostageImprov::MoveTo(const Vector &goal)
{
m_moveGoal = goal;
m_path.Invalidate();
@ -37,7 +37,7 @@ void CHostageImprov::__MAKE_VHOOK(MoveTo)(const Vector &goal)
}
// Find "simple" ground height, treating current nav area as part of the floor
bool CHostageImprov::__MAKE_VHOOK(GetSimpleGroundHeightWithFloor)(const Vector *pos, float *height, Vector *normal)
bool CHostageImprov::GetSimpleGroundHeightWithFloor(const Vector *pos, float *height, Vector *normal)
{
if (GetSimpleGroundHeight(pos, height, normal))
{
@ -74,24 +74,24 @@ bool CHostageImprov::DiscontinuityJump(float ground, bool onlyJumpDown, bool mus
return false;
}
void CHostageImprov::__MAKE_VHOOK(LookAt)(const Vector &target)
void CHostageImprov::LookAt(const Vector &target)
{
m_isLookingAt = true;
m_viewGoal = target;
}
void CHostageImprov::__MAKE_VHOOK(ClearLookAt)()
void CHostageImprov::ClearLookAt()
{
m_isLookingAt = false;
}
void CHostageImprov::__MAKE_VHOOK(FaceTo)(const Vector &goal)
void CHostageImprov::FaceTo(const Vector &goal)
{
m_isFacingTo = true;
m_faceGoal = goal;
}
void CHostageImprov::__MAKE_VHOOK(ClearFaceTo)()
void CHostageImprov::ClearFaceTo()
{
m_isFacingTo = false;
}
@ -290,18 +290,18 @@ void CHostageImprov::FaceOutwards()
FaceTo(to);
}
bool CHostageImprov::__MAKE_VHOOK(IsAtMoveGoal)(float error) const
bool CHostageImprov::IsAtMoveGoal(float error) const
{
return (GetFeet() - m_moveGoal).IsLengthLessThan(error);
}
bool CHostageImprov::__MAKE_VHOOK(IsAtFaceGoal)() const
bool CHostageImprov::IsAtFaceGoal() const
{
return false;
}
// Return true if a friend is between us and the given position
bool CHostageImprov::__MAKE_VHOOK(IsFriendInTheWay)(const Vector &goalPos) const
bool CHostageImprov::IsFriendInTheWay(const Vector &goalPos) const
{
// do this check less often to ease CPU burden
if (!m_avoidFriendTimer.IsElapsed())
@ -349,7 +349,7 @@ bool CHostageImprov::__MAKE_VHOOK(IsFriendInTheWay)(const Vector &goalPos) const
}
// Return true if a friend is between us and the given entity
bool CHostageImprov::__MAKE_VHOOK(IsFriendInTheWay)(CBaseEntity *myFriend, const Vector &goalPos) const
bool CHostageImprov::IsFriendInTheWay(CBaseEntity *myFriend, const Vector &goalPos) const
{
if (m_hostage == myFriend)
return false;
@ -414,7 +414,7 @@ float CHostageImprov::GetSpeed()
return -1.0f;
}
bool CHostageImprov::__MAKE_VHOOK(Jump)()
bool CHostageImprov::Jump()
{
if (IsCrouching() || g_pHostages->IsNearbyHostageJumping(this))
return false;
@ -443,17 +443,17 @@ bool CHostageImprov::__MAKE_VHOOK(Jump)()
return true;
}
void CHostageImprov::__MAKE_VHOOK(Run)()
void CHostageImprov::Run()
{
m_moveType = m_moveLimit;
}
void CHostageImprov::__MAKE_VHOOK(Walk)()
void CHostageImprov::Walk()
{
m_moveType = (m_moveLimit > Walking) ? Walking : m_moveLimit;
}
void CHostageImprov::__MAKE_VHOOK(Stop)()
void CHostageImprov::Stop()
{
MoveTo(GetFeet());
m_hostage->pev->velocity = Vector(0, 0, 0);
@ -464,35 +464,35 @@ void CHostageImprov::__MAKE_VHOOK(Stop)()
m_moveType = m_moveLimit;
}
const Vector &CHostageImprov::__MAKE_VHOOK(GetFeet)() const
const Vector &CHostageImprov::GetFeet() const
{
return m_hostage->pev->origin;
}
const Vector &CHostageImprov::__MAKE_VHOOK(GetCentroid)() const
const Vector &CHostageImprov::GetCentroid() const
{
m_centroid = m_hostage->pev->origin + Vector(0, 0, HalfHumanHeight);
return m_centroid;
}
const Vector &CHostageImprov::__MAKE_VHOOK(GetEyes)() const
const Vector &CHostageImprov::GetEyes() const
{
m_eye = m_hostage->pev->origin + Vector(0, 0, HumanHeight) - Vector(0, 0, 7);
return m_eye;
}
bool CHostageImprov::__MAKE_VHOOK(IsOnGround)() const
bool CHostageImprov::IsOnGround() const
{
return (m_hostage->pev->flags & FL_ONGROUND) != 0;
}
bool CHostageImprov::__MAKE_VHOOK(IsMoving)() const
bool CHostageImprov::IsMoving() const
{
float const epsilon = 10.0f;
return m_actualVel.IsLengthGreaterThan(epsilon);
}
bool CHostageImprov::__MAKE_VHOOK(IsVisible)(const Vector &pos, bool testFOV) const
bool CHostageImprov::IsVisible(const Vector &pos, bool testFOV) const
{
const Vector eye = GetEyes();
TraceResult result;
@ -501,7 +501,7 @@ bool CHostageImprov::__MAKE_VHOOK(IsVisible)(const Vector &pos, bool testFOV) co
return result.flFraction == 1.0f;
}
bool CHostageImprov::__MAKE_VHOOK(IsPlayerLookingAtMe)(CBasePlayer *other, float cosTolerance) const
bool CHostageImprov::IsPlayerLookingAtMe(CBasePlayer *other, float cosTolerance) const
{
Vector2D toOther = (other->pev->origin - GetCentroid()).Make2D();
toOther.NormalizeInPlace();
@ -522,7 +522,7 @@ bool CHostageImprov::__MAKE_VHOOK(IsPlayerLookingAtMe)(CBasePlayer *other, float
return false;
}
CBasePlayer *CHostageImprov::__MAKE_VHOOK(IsAnyPlayerLookingAtMe)(int team, float cosTolerance) const
CBasePlayer *CHostageImprov::IsAnyPlayerLookingAtMe(int team, float cosTolerance) const
{
for (int i = 1; i <= gpGlobals->maxClients; ++i)
{
@ -543,7 +543,7 @@ CBasePlayer *CHostageImprov::__MAKE_VHOOK(IsAnyPlayerLookingAtMe)(int team, floa
return NULL;
}
CBasePlayer *CHostageImprov::__MAKE_VHOOK(GetClosestPlayerByTravelDistance)(int team, float *range) const
CBasePlayer *CHostageImprov::GetClosestPlayerByTravelDistance(int team, float *range) const
{
CBasePlayer *close = NULL;
float closeRange = 9.9999998e10f;
@ -579,7 +579,7 @@ CBasePlayer *CHostageImprov::__MAKE_VHOOK(GetClosestPlayerByTravelDistance)(int
return close;
}
void CHostageImprov::__MAKE_VHOOK(OnReset)()
void CHostageImprov::OnReset()
{
m_moveFlags = 0;
m_moveType = Stopped;
@ -672,7 +672,7 @@ void CHostageImprov::UpdateVision()
m_visionTimer.Start(RANDOM_FLOAT(0.4f, 0.6f));
}
void CHostageImprov::__MAKE_VHOOK(TrackPath)(const Vector &pathGoal, float deltaT)
void CHostageImprov::TrackPath(const Vector &pathGoal, float deltaT)
{
FaceTowards(pathGoal, deltaT);
MoveTowards(pathGoal, deltaT);
@ -731,12 +731,12 @@ void CHostageImprov::ResetToKnownGoodPosition()
Stop();
}
void CHostageImprov::__MAKE_VHOOK(StartLadder)(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos)
void CHostageImprov::StartLadder(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos)
{
m_traversingLadder = true;
}
bool CHostageImprov::__MAKE_VHOOK(TraverseLadder)(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos, float deltaT)
bool CHostageImprov::TraverseLadder(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos, float deltaT)
{
Vector goal;
@ -984,7 +984,7 @@ void CHostageImprov::UpdatePosition(float deltaT)
m_moveFlags = 0;
}
void CHostageImprov::__MAKE_VHOOK(OnUpkeep)(float deltaT)
void CHostageImprov::OnUpkeep(float deltaT)
{
if (IsAlive())
{
@ -1069,7 +1069,7 @@ void CHostageImprov::UpdateGrenadeReactions()
}
}
void CHostageImprov::__MAKE_VHOOK(OnUpdate)(float deltaT)
void CHostageImprov::OnUpdate(float deltaT)
{
if (!IsAlive() || cv_hostage_stop.value > 0.0f)
return;
@ -1225,7 +1225,7 @@ void CHostageImprov::__MAKE_VHOOK(OnUpdate)(float deltaT)
m_animateState.OnUpdate(this);
}
void CHostageImprov::__MAKE_VHOOK(OnGameEvent)(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
void CHostageImprov::OnGameEvent(GameEventType event, CBaseEntity *entity, CBaseEntity *other)
{
switch (event)
{
@ -1330,7 +1330,7 @@ void CHostageImprov::__MAKE_VHOOK(OnGameEvent)(GameEventType event, CBaseEntity
}
}
void CHostageImprov::__MAKE_VHOOK(OnTouch)(CBaseEntity *other)
void CHostageImprov::OnTouch(CBaseEntity *other)
{
const char *classname;
Vector2D to;
@ -1719,7 +1719,7 @@ void CHostageImprov::Wave()
}
// Invoked when an improv fails to reach a MoveTo goal
void CHostageImprov::__MAKE_VHOOK(OnMoveToFailure)(const Vector &goal, MoveToFailureType reason)
void CHostageImprov::OnMoveToFailure(const Vector &goal, MoveToFailureType reason)
{
m_behavior.OnMoveToFailure(goal, reason);
@ -1814,7 +1814,7 @@ void CHostageImprov::ClearPath()
}
}
void CHostageImprov::__MAKE_VHOOK(Crouch)()
void CHostageImprov::Crouch()
{
const float minCrouchTime = 1.0f;
@ -1826,7 +1826,7 @@ void CHostageImprov::__MAKE_VHOOK(Crouch)()
UTIL_SetSize(m_hostage->pev, VEC_HOSTAGE_HULL_MIN, VEC_HOSTAGE_CROUCH);
}
void CHostageImprov::__MAKE_VHOOK(StandUp)()
void CHostageImprov::StandUp()
{
if (!IsCrouching() || !m_minCrouchTimer.IsElapsed())
{

View File

@ -42,7 +42,7 @@ enum HostageChatterType;
class CHostageImprov: public CImprov
{
public:
CHostageImprov(CBaseEntity *entity);
CHostageImprov(CBaseEntity *entity = nullptr);
~CHostageImprov() {};
// invoked when an improv reaches its MoveTo goal
@ -81,7 +81,7 @@ public:
virtual void TrackPath(const Vector &pathGoal, float deltaT); // move along path by following "pathGoal"
virtual void StartLadder(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos);
virtual bool TraverseLadder(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos, float deltaT);
virtual bool GetSimpleGroundHeightWithFloor(const Vector *pos, float *height, Vector *normal = NULL);
virtual bool GetSimpleGroundHeightWithFloor(const Vector *pos, float *height, Vector *normal = nullptr);
virtual void Run();
virtual void Walk();
virtual void Stop();
@ -104,54 +104,14 @@ public:
virtual bool IsVisible(const Vector &pos, bool testFOV = false) const; // return true if hostage can see position
virtual bool IsPlayerLookingAtMe(CBasePlayer *other, float cosTolerance = 0.95f) const;
virtual CBasePlayer *IsAnyPlayerLookingAtMe(int team = 0, float cosTolerance = 0.95f) const;
virtual CBasePlayer *GetClosestPlayerByTravelDistance(int team = 0, float *range = NULL) const;
virtual CBasePlayer *GetClosestPlayerByTravelDistance(int team = 0, float *range = nullptr) const;
virtual CNavArea *GetLastKnownArea() const { return m_lastKnownArea; }
virtual void OnUpdate(float deltaT);
virtual void OnUpkeep(float deltaT);
virtual void OnReset();
virtual void OnGameEvent(GameEventType event, CBaseEntity *entity = NULL, CBaseEntity *other = NULL);
virtual void OnGameEvent(GameEventType event, CBaseEntity *entity = nullptr, CBaseEntity *other = nullptr);
virtual void OnTouch(CBaseEntity *other); // in contact with "other"
#ifdef HOOK_GAMEDLL
void OnMoveToFailure_(const Vector &goal, MoveToFailureType reason);
bool IsAlive_() const;
void MoveTo_(const Vector &goal);
void LookAt_(const Vector &target);
void ClearLookAt_();
void FaceTo_(const Vector &goal);
void ClearFaceTo_();
bool IsAtMoveGoal_(float error = 20.0f) const;
bool IsAtFaceGoal_() const;
bool IsFriendInTheWay_(const Vector &goalPos) const;
bool IsFriendInTheWay_(CBaseEntity *myFriend, const Vector &goalPos) const;
bool Jump_();
void Crouch_();
void StandUp_();
void TrackPath_(const Vector &pathGoal, float deltaT);
void StartLadder_(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos);
bool TraverseLadder_(const CNavLadder *ladder, NavTraverseType how, const Vector *approachPos, const Vector *departPos, float deltaT);
bool GetSimpleGroundHeightWithFloor_(const Vector *pos, float *height, Vector *normal = NULL);
void Run_();
void Walk_();
void Stop_();
const Vector &GetFeet_() const;
const Vector &GetCentroid_() const;
const Vector &GetEyes_() const;
bool IsOnGround_() const;
bool IsMoving_() const;
bool IsVisible_(const Vector &pos, bool testFOV = false) const;
bool IsPlayerLookingAtMe_(CBasePlayer *other, float cosTolerance = 0.95f) const;
CBasePlayer *IsAnyPlayerLookingAtMe_(int team = 0, float cosTolerance = 0.95f) const;
CBasePlayer *GetClosestPlayerByTravelDistance_(int team = 0, float *range = NULL) const;
void OnUpdate_(float deltaT);
void OnUpkeep_(float deltaT);
void OnReset_();
void OnGameEvent_(GameEventType event, CBaseEntity *entity = NULL, CBaseEntity *other = NULL);
void OnTouch_(CBaseEntity *other);
#endif // HOOK_GAMEDLL
#ifdef PLAY_GAMEDLL
void ApplyForce2(float_precision x, float_precision y);
#endif
@ -180,7 +140,7 @@ public:
// begin following "leader"
void Follow(CBasePlayer *leader) { m_followState.SetLeader(leader); m_behavior.SetState(&m_followState); }
bool IsFollowing(const CBaseEntity *leader = NULL) const { return m_behavior.IsState(&m_followState); }
bool IsFollowing(const CBaseEntity *leader = nullptr) const { return m_behavior.IsState(&m_followState); }
// Escape
void Escape() { m_behavior.SetState(&m_escapeState); }
@ -223,7 +183,7 @@ public:
bool FaceTowards(const Vector &target, float deltaT); // rotate body to face towards "target"
float GetSpeed();
void SetMoveAngle(float angle) { m_moveAngle = angle; }
void Wiggle(); // attempt to wiggle-out of begin stuck
void Wiggle(); // attempt to wiggle-out of begin stuck
void ClearPath();
#define HOSTAGE_ONLY_JUMP_DOWN true
@ -281,12 +241,12 @@ private:
bool m_isLookingAt;
Vector m_faceGoal;
bool m_isFacingTo;
CNavPath m_path; // current path to follow
CNavPath m_path; // current path to follow
CNavPathFollower m_follower;
Vector m_lastPosition;
MoveType m_moveType;
MoveType m_moveLimit;
bool m_isCrouching; // true if hostage is crouching
bool m_isCrouching; // true if hostage is crouching
CountdownTimer m_minCrouchTimer;
float m_moveAngle;
NavRelativeDirType m_wiggleDirection;
@ -294,7 +254,7 @@ private:
CountdownTimer m_wiggleTimer; // for wiggling
CountdownTimer m_wiggleJumpTimer;
CountdownTimer m_inhibitObstacleAvoidance;
CountdownTimer m_jumpTimer; // if zero, we can jump
CountdownTimer m_jumpTimer; // if zero, we can jump
bool m_hasJumped;
bool m_hasJumpedIntoAir;
@ -313,7 +273,7 @@ public:
{
m_me = me;
m_goalPos = goalPos;
m_blocker = NULL;
m_blocker = nullptr;
}
bool operator()(CHostage *them)
{
@ -338,7 +298,7 @@ class HostagePathCost
public:
float operator()(CNavArea *area, CNavArea *fromArea, const CNavLadder *ladder)
{
if (fromArea == NULL)
if (fromArea == nullptr)
{
// first area in path, no cost
return 0.0f;

View File

@ -53,9 +53,7 @@ typedef struct localnode_s
} localnode_t;
#ifndef HOOK_GAMEDLL
#define s_flStepSize_LocalNav m_LocalNav->s_flStepSize
#endif
class CLocalNav
@ -101,10 +99,7 @@ public:
static void HostagePrethink();
static float s_flStepSize;
#ifndef HOOK_GAMEDLL
private:
#endif
static EHANDLE _queue[MAX_HOSTAGES_NAV];
static int qptr;
static int tot_inqueue;

View File

@ -80,15 +80,6 @@ public:
virtual void OnMoveToFailure(const Vector &goal, MoveToFailureType reason) { m_moveState = MoveFailed; }
virtual void OnInjury(float amount = -1.0f) { m_fleeTimer.Invalidate(); m_mustFlee = true; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CHostageImprov *improv);
void OnUpdate_(CHostageImprov *improv);
void OnExit_(CHostageImprov *improv);
void UpdateStationaryAnimation_(CHostageImprov *improv);
#endif
private:
CountdownTimer m_waveTimer;
CountdownTimer m_fleeTimer;
@ -120,15 +111,6 @@ public:
virtual const char *GetName() const { return "Escape:ToCover"; }
virtual void OnMoveToFailure(const Vector &goal, MoveToFailureType reason);
#ifdef HOOK_GAMEDLL
void OnEnter_(CHostageImprov *improv);
void OnUpdate_(CHostageImprov *improv);
void OnExit_(CHostageImprov *improv);
void OnMoveToFailure_(const Vector &goal, MoveToFailureType reason);
#endif
public:
void SetRescueGoal(const Vector &rescueGoal) { m_rescueGoal = rescueGoal; }
@ -148,14 +130,6 @@ public:
virtual void OnExit(CHostageImprov *improv);
virtual const char *GetName() const { return "Escape:LookAround"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CHostageImprov *improv);
void OnUpdate_(CHostageImprov *improv);
void OnExit_(CHostageImprov *improv);
#endif
private:
CountdownTimer m_timer;
};
@ -176,14 +150,6 @@ public:
virtual const char *GetName() const { return "Escape"; }
virtual void OnMoveToFailure(const Vector &goal, MoveToFailureType reason) { m_behavior.OnMoveToFailure(goal, reason); }
#ifdef HOOK_GAMEDLL
void OnEnter_(CHostageImprov *improv);
void OnUpdate_(CHostageImprov *improv);
void OnExit_(CHostageImprov *improv);
#endif
public:
void ToCover() { m_behavior.SetState(&m_toCoverState); }
void LookAround() { m_behavior.SetState(&m_lookAroundState); }
@ -205,15 +171,6 @@ public:
virtual void OnUpdate(CHostageImprov *improv);
virtual void OnExit(CHostageImprov *improv);
virtual const char *GetName() const { return "Retreat"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CHostageImprov *improv);
void OnUpdate_(CHostageImprov *improv);
void OnExit_(CHostageImprov *improv);
#endif
};
class HostageFollowState: public HostageState
@ -227,15 +184,6 @@ public:
virtual const char *GetName() const { return "Follow"; }
virtual void UpdateStationaryAnimation(CHostageImprov *improv);
#ifdef HOOK_GAMEDLL
void OnEnter_(CHostageImprov *improv);
void OnUpdate_(CHostageImprov *improv);
void OnExit_(CHostageImprov *improv);
void UpdateStationaryAnimation_(CHostageImprov *improv);
#endif
public:
void SetLeader(CBaseEntity *leader) { m_leader = leader; }
CBaseEntity *GetLeader() const { return m_leader; }
@ -262,14 +210,6 @@ public:
virtual void OnExit(CHostageImprov *improv);
virtual const char *GetName() const { return "Animate"; }
#ifdef HOOK_GAMEDLL
void OnEnter_(CHostageImprov *improv);
void OnUpdate_(CHostageImprov *improv);
void OnExit_(CHostageImprov *improv);
#endif
public:
struct SeqInfo
{

View File

@ -72,12 +72,12 @@ bool HostageAnimateState::IsDoneHolding()
return false;
}
void HostageAnimateState::__MAKE_VHOOK(OnEnter)(CHostageImprov *improv)
void HostageAnimateState::OnEnter(CHostageImprov *improv)
{
;
}
void HostageAnimateState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
void HostageAnimateState::OnUpdate(CHostageImprov *improv)
{
if (m_sequenceCount <= 0)
return;
@ -103,7 +103,7 @@ void HostageAnimateState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
StartSequence(improv, &m_sequence[m_currentSequence]);
}
void HostageAnimateState::__MAKE_VHOOK(OnExit)(CHostageImprov *improv)
void HostageAnimateState::OnExit(CHostageImprov *improv)
{
;
}

View File

@ -1,6 +1,6 @@
#include "precompiled.h"
void HostageEscapeToCoverState::__MAKE_VHOOK(OnEnter)(CHostageImprov *improv)
void HostageEscapeToCoverState::OnEnter(CHostageImprov *improv)
{
CNavPath path;
HostagePathCost pathCost;
@ -35,7 +35,7 @@ void HostageEscapeToCoverState::__MAKE_VHOOK(OnEnter)(CHostageImprov *improv)
m_canEscape = true;
}
void HostageEscapeToCoverState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
void HostageEscapeToCoverState::OnUpdate(CHostageImprov *improv)
{
if (!m_canEscape)
{
@ -67,18 +67,18 @@ void HostageEscapeToCoverState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
}
}
void HostageEscapeToCoverState::__MAKE_VHOOK(OnExit)(CHostageImprov *improv)
void HostageEscapeToCoverState::OnExit(CHostageImprov *improv)
{
;
}
void HostageEscapeToCoverState::__MAKE_VHOOK(OnMoveToFailure)(const Vector &goal, MoveToFailureType reason)
void HostageEscapeToCoverState::OnMoveToFailure(const Vector &goal, MoveToFailureType reason)
{
HostageEscapeState *escape = static_cast<HostageEscapeState *>(GetParent());
escape->LookAround();
}
void HostageEscapeLookAroundState::__MAKE_VHOOK(OnEnter)(CHostageImprov *improv)
void HostageEscapeLookAroundState::OnEnter(CHostageImprov *improv)
{
m_timer.Start(RANDOM_FLOAT(5, 10));
@ -86,7 +86,7 @@ void HostageEscapeLookAroundState::__MAKE_VHOOK(OnEnter)(CHostageImprov *improv)
improv->FaceOutwards();
}
void HostageEscapeLookAroundState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
void HostageEscapeLookAroundState::OnUpdate(CHostageImprov *improv)
{
improv->UpdateIdleActivity(ACT_IDLE_SNEAKY, ACT_IDLE_SNEAKY_FIDGET);
@ -97,12 +97,12 @@ void HostageEscapeLookAroundState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv
}
}
void HostageEscapeLookAroundState::__MAKE_VHOOK(OnExit)(CHostageImprov *improv)
void HostageEscapeLookAroundState::OnExit(CHostageImprov *improv)
{
improv->ClearFaceTo();
}
void HostageEscapeState::__MAKE_VHOOK(OnEnter)(CHostageImprov *improv)
void HostageEscapeState::OnEnter(CHostageImprov *improv)
{
const CCSBotManager::Zone *zone = TheCSBots()->GetRandomZone();
@ -117,7 +117,7 @@ void HostageEscapeState::__MAKE_VHOOK(OnEnter)(CHostageImprov *improv)
m_canEscape = true;
}
void HostageEscapeState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
void HostageEscapeState::OnUpdate(CHostageImprov *improv)
{
if (!m_canEscape || (improv->IsScared() && improv->GetScareIntensity() == CHostageImprov::TERRIFIED))
{
@ -164,7 +164,7 @@ void HostageEscapeState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
}
}
void HostageEscapeState::__MAKE_VHOOK(OnExit)(CHostageImprov *improv)
void HostageEscapeState::OnExit(CHostageImprov *improv)
{
improv->Run();
}

View File

@ -1,6 +1,6 @@
#include "precompiled.h"
void HostageFollowState::__MAKE_VHOOK(OnEnter)(CHostageImprov *improv)
void HostageFollowState::OnEnter(CHostageImprov *improv)
{
improv->Chatter(HOSTAGE_CHATTER_START_FOLLOW);
improv->Agree();
@ -21,7 +21,7 @@ void HostageFollowState::__MAKE_VHOOK(OnEnter)(CHostageImprov *improv)
}
}
void HostageFollowState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
void HostageFollowState::OnUpdate(CHostageImprov *improv)
{
// if we lost our leader, give up
if (m_leader == NULL)
@ -192,12 +192,12 @@ void HostageFollowState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
}
}
void HostageFollowState::__MAKE_VHOOK(OnExit)(CHostageImprov *improv)
void HostageFollowState::OnExit(CHostageImprov *improv)
{
improv->Stop();
}
void HostageFollowState::__MAKE_VHOOK(UpdateStationaryAnimation)(CHostageImprov *improv)
void HostageFollowState::UpdateStationaryAnimation(CHostageImprov *improv)
{
if (improv->IsScared())
improv->UpdateIdleActivity(ACT_FOLLOW_IDLE_SCARED, ACT_RESET);

View File

@ -1,13 +1,13 @@
#include "precompiled.h"
void HostageIdleState::__MAKE_VHOOK(OnEnter)(CHostageImprov *improv)
void HostageIdleState::OnEnter(CHostageImprov *improv)
{
m_moveState = MoveDone;
m_fleeTimer.Invalidate();
m_mustFlee = false;
}
void HostageIdleState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
void HostageIdleState::OnUpdate(CHostageImprov *improv)
{
if (!UTIL_ActivePlayersInGame())
return;
@ -57,7 +57,7 @@ void HostageIdleState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
improv->Stop();
improv->FaceOutwards();
const float crouchChance = 33.3f;
if (improv->IsScared() && !improv->IsAtHome() && RANDOM_FLOAT(0, 100) <= crouchChance)
{
@ -92,7 +92,7 @@ void HostageIdleState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
{
const float attentionRange = 700.0f;
float rangeT = (improv->GetCentroid() - captor->pev->origin).Length();
if (rangeT < attentionRange)
{
const float cosTolerance = 0.95f;
@ -228,13 +228,13 @@ void HostageIdleState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
}
}
void HostageIdleState::__MAKE_VHOOK(OnExit)(CHostageImprov *improv)
void HostageIdleState::OnExit(CHostageImprov *improv)
{
improv->StandUp();
improv->ClearFaceTo();
}
void HostageIdleState::__MAKE_VHOOK(UpdateStationaryAnimation)(CHostageImprov *improv)
void HostageIdleState::UpdateStationaryAnimation(CHostageImprov *improv)
{
if (improv->IsScared())
{

View File

@ -1,12 +1,12 @@
#include "precompiled.h"
void HostageRetreatState::__MAKE_VHOOK(OnEnter)(CHostageImprov *improv)
void HostageRetreatState::OnEnter(CHostageImprov *improv)
{
improv->Walk();
improv->MoveTo(improv->GetEntity()->m_vStart);
}
void HostageRetreatState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
void HostageRetreatState::OnUpdate(CHostageImprov *improv)
{
if (improv->IsAtHome())
{
@ -37,7 +37,7 @@ void HostageRetreatState::__MAKE_VHOOK(OnUpdate)(CHostageImprov *improv)
improv->Walk();
}
void HostageRetreatState::__MAKE_VHOOK(OnExit)(CHostageImprov *improv)
void HostageRetreatState::OnExit(CHostageImprov *improv)
{
;
}

View File

@ -46,7 +46,7 @@ ItemInfo itemInfo[] = {
#ifndef REGAMEDLL_FIXES
LINK_ENTITY_TO_CLASS(world_items, CWorldItem, CCSWorldItem)
void CWorldItem::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CWorldItem::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "type"))
{
@ -57,7 +57,7 @@ void CWorldItem::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CBaseEntity::KeyValue(pkvd);
}
void CWorldItem::__MAKE_VHOOK(Spawn)()
void CWorldItem::Spawn()
{
CBaseEntity *pEntity = NULL;
@ -90,7 +90,7 @@ void CWorldItem::__MAKE_VHOOK(Spawn)()
}
#endif
void CItem::__MAKE_VHOOK(Spawn)()
void CItem::Spawn()
{
pev->movetype = MOVETYPE_TOSS;
pev->solid = SOLID_TRIGGER;
@ -132,7 +132,7 @@ void CItem::ItemTouch(CBaseEntity *pOther)
UTIL_Remove(this);
}
CBaseEntity *CItem::__MAKE_VHOOK(Respawn)()
CBaseEntity *CItem::Respawn()
{
SetTouch(NULL);
@ -163,20 +163,20 @@ void CItem::Materialize()
// NOTE: useless thing
#ifndef REGAMEDLL_FIXES
void CItemSuit::__MAKE_VHOOK(Spawn)()
void CItemSuit::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_kevlar.mdl");
CItem::Spawn();
}
void CItemSuit::__MAKE_VHOOK(Precache)()
void CItemSuit::Precache()
{
PRECACHE_MODEL("models/w_kevlar.mdl");
PRECACHE_SOUND("items/tr_kevlar.wav");
}
BOOL CItemSuit::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
BOOL CItemSuit::MyTouch(CBasePlayer *pPlayer)
{
if (pPlayer->pev->weapons & (1 << WEAPON_SUIT))
return FALSE;
@ -192,20 +192,20 @@ BOOL CItemSuit::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
LINK_ENTITY_TO_CLASS(item_suit, CItemSuit, CCSItemSuit)
#endif
void CItemBattery::__MAKE_VHOOK(Spawn)()
void CItemBattery::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_battery.mdl");
CItem::Spawn();
}
void CItemBattery::__MAKE_VHOOK(Precache)()
void CItemBattery::Precache()
{
PRECACHE_MODEL("models/w_battery.mdl");
PRECACHE_SOUND("items/gunpickup2.wav");
}
BOOL CItemBattery::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
BOOL CItemBattery::MyTouch(CBasePlayer *pPlayer)
{
#ifdef REGAMEDLL_ADD
if (pPlayer->HasRestrictItem(ITEM_BATTERY, ITEM_TYPE_TOUCHED))
@ -244,19 +244,19 @@ BOOL CItemBattery::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
LINK_ENTITY_TO_CLASS(item_battery, CItemBattery, CCSItemBattery)
void CItemAntidote::__MAKE_VHOOK(Spawn)()
void CItemAntidote::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_antidote.mdl");
CItem::Spawn();
}
void CItemAntidote::__MAKE_VHOOK(Precache)()
void CItemAntidote::Precache()
{
PRECACHE_MODEL("models/w_antidote.mdl");
}
BOOL CItemAntidote::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
BOOL CItemAntidote::MyTouch(CBasePlayer *pPlayer)
{
#ifdef REGAMEDLL_ADD
if (pPlayer->HasRestrictItem(ITEM_ANTIDOTE, ITEM_TYPE_TOUCHED))
@ -273,19 +273,19 @@ LINK_ENTITY_TO_CLASS(item_antidote, CItemAntidote, CCSItemAntidote)
// NOTE: useless thing
#ifndef REGAMEDLL_FIXES
void CItemSecurity::__MAKE_VHOOK(Spawn)()
void CItemSecurity::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_security.mdl");
CItem::Spawn();
}
void CItemSecurity::__MAKE_VHOOK(Precache)()
void CItemSecurity::Precache()
{
PRECACHE_MODEL("models/w_security.mdl");
}
BOOL CItemSecurity::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
BOOL CItemSecurity::MyTouch(CBasePlayer *pPlayer)
{
pPlayer->m_rgItems[ ITEM_ID_SECURITY ] += 1;
return TRUE;
@ -294,19 +294,19 @@ BOOL CItemSecurity::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
LINK_ENTITY_TO_CLASS(item_security, CItemSecurity, CCSItemSecurity)
#endif
void CItemLongJump::__MAKE_VHOOK(Spawn)()
void CItemLongJump::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_longjump.mdl");
CItem::Spawn();
}
void CItemLongJump::__MAKE_VHOOK(Precache)()
void CItemLongJump::Precache()
{
PRECACHE_MODEL("models/w_longjump.mdl");
}
BOOL CItemLongJump::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
BOOL CItemLongJump::MyTouch(CBasePlayer *pPlayer)
{
#ifdef REGAMEDLL_ADD
if (pPlayer->HasRestrictItem(ITEM_LONGJUMP, ITEM_TYPE_TOUCHED))
@ -336,19 +336,19 @@ BOOL CItemLongJump::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
LINK_ENTITY_TO_CLASS(item_longjump, CItemLongJump, CCSItemLongJump)
void CItemKevlar::__MAKE_VHOOK(Spawn)()
void CItemKevlar::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_kevlar.mdl");
CItem::Spawn();
}
void CItemKevlar::__MAKE_VHOOK(Precache)()
void CItemKevlar::Precache()
{
PRECACHE_MODEL("models/w_kevlar.mdl");
}
BOOL CItemKevlar::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
BOOL CItemKevlar::MyTouch(CBasePlayer *pPlayer)
{
#ifdef REGAMEDLL_ADD
if (pPlayer->HasRestrictItem(ITEM_KEVLAR, ITEM_TYPE_TOUCHED))
@ -379,19 +379,19 @@ BOOL CItemKevlar::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
LINK_ENTITY_TO_CLASS(item_kevlar, CItemKevlar, CCSItemKevlar)
void CItemAssaultSuit::__MAKE_VHOOK(Spawn)()
void CItemAssaultSuit::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_assault.mdl");
CItem::Spawn();
}
void CItemAssaultSuit::__MAKE_VHOOK(Precache)()
void CItemAssaultSuit::Precache()
{
PRECACHE_MODEL("models/w_assault.mdl");
}
BOOL CItemAssaultSuit::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
BOOL CItemAssaultSuit::MyTouch(CBasePlayer *pPlayer)
{
#ifdef REGAMEDLL_ADD
if (pPlayer->HasRestrictItem(ITEM_ASSAULT, ITEM_TYPE_TOUCHED))
@ -421,19 +421,19 @@ BOOL CItemAssaultSuit::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
LINK_ENTITY_TO_CLASS(item_assaultsuit, CItemAssaultSuit, CCSItemAssaultSuit)
void CItemThighPack::__MAKE_VHOOK(Spawn)()
void CItemThighPack::Spawn()
{
Precache();
SET_MODEL(ENT(pev), "models/w_thighpack.mdl");
CItem::Spawn();
}
void CItemThighPack::__MAKE_VHOOK(Precache)()
void CItemThighPack::Precache()
{
PRECACHE_MODEL("models/w_thighpack.mdl");
}
BOOL CItemThighPack::__MAKE_VHOOK(MyTouch)(CBasePlayer *pPlayer)
BOOL CItemThighPack::MyTouch(CBasePlayer *pPlayer)
{
if (pPlayer->m_iTeam != CT || pPlayer->m_bHasDefuser)
return FALSE;

View File

@ -93,13 +93,6 @@ public:
virtual CBaseEntity *Respawn();
virtual BOOL MyTouch(CBasePlayer *pPlayer) { return FALSE; }
#ifdef HOOK_GAMEDLL
void Spawn_();
CBaseEntity *Respawn_();
#endif
public:
void EXPORT ItemTouch(CBaseEntity *pOther);
void EXPORT Materialize();
@ -111,13 +104,6 @@ public:
virtual void Spawn();
virtual void KeyValue(KeyValueData *pkvd);
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
#endif
public:
int m_iType;
};
@ -128,15 +114,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL MyTouch(CBasePlayer *pPlayer);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL MyTouch_(CBasePlayer *pPlayer);
#endif
};
class CItemBattery: public CItem
@ -145,15 +122,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL MyTouch(CBasePlayer *pPlayer);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL MyTouch_(CBasePlayer *pPlayer);
#endif
};
class CItemAntidote: public CItem
@ -162,15 +130,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL MyTouch(CBasePlayer *pPlayer);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL MyTouch_(CBasePlayer *pPlayer);
#endif
};
class CItemSecurity: public CItem
@ -179,15 +138,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL MyTouch(CBasePlayer *pPlayer);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL MyTouch_(CBasePlayer *pPlayer);
#endif
};
class CItemLongJump: public CItem
@ -196,15 +146,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL MyTouch(CBasePlayer *pPlayer);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL MyTouch_(CBasePlayer *pPlayer);
#endif
};
class CItemKevlar: public CItem
@ -213,15 +154,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL MyTouch(CBasePlayer *pPlayer);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL MyTouch_(CBasePlayer *pPlayer);
#endif
};
class CItemAssaultSuit: public CItem
@ -230,15 +162,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL MyTouch(CBasePlayer *pPlayer);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL MyTouch_(CBasePlayer *pPlayer);
#endif
};
class CItemThighPack: public CItem
@ -247,15 +170,6 @@ public:
virtual void Spawn();
virtual void Precache();
virtual BOOL MyTouch(CBasePlayer *pPlayer);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
BOOL MyTouch_(CBasePlayer *pPlayer);
#endif
};
ItemID GetItemIdByName(const char *pszName);

View File

@ -17,7 +17,7 @@ LINK_ENTITY_TO_CLASS(light, CLight, CCSLight)
IMPLEMENT_SAVERESTORE(CLight, CPointEntity)
// Cache user-entity-field values until spawn is called.
void CLight::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CLight::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "style"))
{
@ -38,7 +38,7 @@ void CLight::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CPointEntity::KeyValue(pkvd);
}
void CLight::__MAKE_VHOOK(Spawn)()
void CLight::Spawn()
{
// inert light
if (FStringNull(pev->targetname))
@ -61,7 +61,7 @@ void CLight::__MAKE_VHOOK(Spawn)()
}
}
void CLight::__MAKE_VHOOK(Restart)()
void CLight::Restart()
{
if (m_iStyle >= 32)
{
@ -82,7 +82,7 @@ void CLight::__MAKE_VHOOK(Restart)()
}
}
void CLight::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CLight::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (m_iStyle >= 32)
{
@ -109,7 +109,7 @@ void CLight::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, US
LINK_ENTITY_TO_CLASS(light_spot, CLight, CCSLight)
LINK_ENTITY_TO_CLASS(light_environment, CEnvLight, CCSEnvLight)
void CEnvLight::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CEnvLight::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "_light"))
{
@ -145,7 +145,7 @@ void CEnvLight::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CLight::KeyValue(pkvd);
}
void CEnvLight::__MAKE_VHOOK(Spawn)()
void CEnvLight::Spawn()
{
#ifdef HOOK_GAMEDLL
// NOTE: fix negative the values for function sprintf from STD C++:

View File

@ -44,17 +44,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Restart_();
int Save_(CSave &save);
int Restore_(CRestore &restore);
void KeyValue_(KeyValueData *pkvd);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
static TYPEDESCRIPTION IMPL(m_SaveData)[2];
private:
@ -68,14 +57,6 @@ class CEnvLight: public CLight
public:
virtual void Spawn();
virtual void KeyValue(KeyValueData *pkvd);
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
#endif
};
#endif // LIGHT_H

View File

@ -60,7 +60,7 @@ void CMapInfo::CheckMapInfo()
CSGameRules()->m_bTCantBuy = bTCantBuy;
}
void CMapInfo::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CMapInfo::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "buying"))
{
@ -78,7 +78,7 @@ void CMapInfo::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
}
}
void CMapInfo::__MAKE_VHOOK(Spawn)()
void CMapInfo::Spawn()
{
pev->movetype = MOVETYPE_NONE;
pev->solid = SOLID_NOT;

View File

@ -37,13 +37,6 @@ public:
virtual void UpdateOnRemove();
void CheckMapInfo();
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
#endif
public:
InfoMapBuyParam m_iBuyingStatus;
float m_flBombRadius;

View File

@ -29,14 +29,14 @@ TYPEDESCRIPTION CGamePlayerZone::m_SaveData[] =
IMPLEMENT_SAVERESTORE(CRuleEntity, CBaseEntity)
void CRuleEntity::__MAKE_VHOOK(Spawn)()
void CRuleEntity::Spawn()
{
pev->solid = SOLID_NOT;
pev->movetype = MOVETYPE_NONE;
pev->effects = EF_NODRAW;
}
void CRuleEntity::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CRuleEntity::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "master"))
{
@ -60,14 +60,14 @@ BOOL CRuleEntity::CanFireForActivator(CBaseEntity *pActivator)
return TRUE;
}
void CRulePointEntity::__MAKE_VHOOK(Spawn)()
void CRulePointEntity::Spawn()
{
CRuleEntity::Spawn();
pev->frame = 0;
pev->model = 0;
}
void CRuleBrushEntity::__MAKE_VHOOK(Spawn)()
void CRuleBrushEntity::Spawn()
{
SET_MODEL(edict(), STRING(pev->model));
CRuleEntity::Spawn();
@ -75,12 +75,12 @@ void CRuleBrushEntity::__MAKE_VHOOK(Spawn)()
LINK_ENTITY_TO_CLASS(game_score, CGameScore, CCSGameScore)
void CGameScore::__MAKE_VHOOK(Spawn)()
void CGameScore::Spawn()
{
CRulePointEntity::Spawn();
}
void CGameScore::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CGameScore::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "points"))
{
@ -91,7 +91,7 @@ void CGameScore::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CRulePointEntity::KeyValue(pkvd);
}
void CGameScore::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGameScore::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!CanFireForActivator(pActivator))
return;
@ -112,7 +112,7 @@ void CGameScore::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller
LINK_ENTITY_TO_CLASS(game_end, CGameEnd, CCSGameEnd)
void CGameEnd::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGameEnd::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!CanFireForActivator(pActivator))
return;
@ -123,7 +123,7 @@ void CGameEnd::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller,
LINK_ENTITY_TO_CLASS(game_text, CGameText, CCSGameText)
IMPLEMENT_SAVERESTORE(CGameText, CRulePointEntity)
void CGameText::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CGameText::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "channel"))
{
@ -193,7 +193,7 @@ void CGameText::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CRulePointEntity::KeyValue(pkvd);
}
void CGameText::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGameText::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!CanFireForActivator(pActivator))
return;
@ -213,7 +213,7 @@ void CGameText::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller,
LINK_ENTITY_TO_CLASS(game_team_master, CGameTeamMaster, CCSGameTeamMaster)
void CGameTeamMaster::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CGameTeamMaster::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "teamindex"))
{
@ -243,7 +243,7 @@ void CGameTeamMaster::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CRulePointEntity::KeyValue(pkvd);
}
void CGameTeamMaster::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGameTeamMaster::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!CanFireForActivator(pActivator))
return;
@ -281,12 +281,12 @@ void CGameTeamMaster::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pC
}
}
BOOL CGameTeamMaster::__MAKE_VHOOK(IsTriggered)(CBaseEntity *pActivator)
BOOL CGameTeamMaster::IsTriggered(CBaseEntity *pActivator)
{
return TeamMatch(pActivator);
}
const char *CGameTeamMaster::__MAKE_VHOOK(TeamID)()
const char *CGameTeamMaster::TeamID()
{
// Currently set to "no team"
if (m_teamIndex < 0)
@ -323,7 +323,7 @@ BOOL CGameTeamMaster::TeamMatch(CBaseEntity *pActivator)
LINK_ENTITY_TO_CLASS(game_team_set, CGameTeamSet, CCSGameTeamSet)
void CGameTeamSet::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGameTeamSet::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!CanFireForActivator(pActivator))
return;
@ -348,7 +348,7 @@ void CGameTeamSet::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCall
LINK_ENTITY_TO_CLASS(game_zone_player, CGamePlayerZone, CCSGamePlayerZone)
IMPLEMENT_SAVERESTORE(CGamePlayerZone, CRuleBrushEntity)
void CGamePlayerZone::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CGamePlayerZone::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "intarget"))
{
@ -374,7 +374,7 @@ void CGamePlayerZone::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CRuleBrushEntity::KeyValue(pkvd);
}
void CGamePlayerZone::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGamePlayerZone::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
int playersInCount = 0;
int playersOutCount = 0;
@ -432,7 +432,7 @@ void CGamePlayerZone::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pC
LINK_ENTITY_TO_CLASS(game_player_hurt, CGamePlayerHurt, CCSGamePlayerHurt)
void CGamePlayerHurt::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGamePlayerHurt::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!CanFireForActivator(pActivator))
return;
@ -455,14 +455,14 @@ void CGamePlayerHurt::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pC
LINK_ENTITY_TO_CLASS(game_counter, CGameCounter, CCSGameCounter)
void CGameCounter::__MAKE_VHOOK(Spawn)()
void CGameCounter::Spawn()
{
// Save off the initial count
SetInitialValue(CountValue());
CRulePointEntity::Spawn();
}
void CGameCounter::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGameCounter::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!CanFireForActivator(pActivator))
return;
@ -501,7 +501,7 @@ void CGameCounter::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCall
LINK_ENTITY_TO_CLASS(game_counter_set, CGameCounterSet, CCSGameCounterSet)
void CGameCounterSet::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGameCounterSet::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!CanFireForActivator(pActivator))
return;
@ -516,7 +516,7 @@ void CGameCounterSet::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pC
LINK_ENTITY_TO_CLASS(game_player_equip, CGamePlayerEquip, CCSGamePlayerEquip)
void CGamePlayerEquip::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CGamePlayerEquip::KeyValue(KeyValueData *pkvd)
{
CRulePointEntity::KeyValue(pkvd);
@ -540,7 +540,7 @@ void CGamePlayerEquip::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
}
}
void CGamePlayerEquip::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
void CGamePlayerEquip::Touch(CBaseEntity *pOther)
{
if (!CanFireForActivator(pOther))
return;
@ -581,7 +581,7 @@ void CGamePlayerEquip::EquipPlayer(CBaseEntity *pEntity)
}
}
void CGamePlayerEquip::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGamePlayerEquip::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
EquipPlayer(pActivator);
}
@ -601,7 +601,7 @@ const char *CGamePlayerTeam::TargetTeamName(const char *pszTargetName)
return NULL;
}
void CGamePlayerTeam::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGamePlayerTeam::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!CanFireForActivator(pActivator))
return;

View File

@ -65,15 +65,6 @@ public:
virtual int Save(CSave &save);
virtual int Restore(CRestore &restore);
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[1];
@ -91,13 +82,6 @@ class CRulePointEntity: public CRuleEntity
{
public:
virtual void Spawn();
#ifdef HOOK_GAMEDLL
void Spawn_();
#endif
};
// CRuleBrushEntity -- base class for all rule "brush" entities (not brushes)
@ -106,13 +90,6 @@ class CRuleBrushEntity: public CRuleEntity
{
public:
virtual void Spawn();
#ifdef HOOK_GAMEDLL
void Spawn_();
#endif
};
// CGameScore / game_score -- award points to player / team
@ -126,14 +103,6 @@ public:
virtual void KeyValue(KeyValueData *pkvd);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
int Points() const { return int(pev->frags); }
BOOL AllowNegativeScore() { return pev->spawnflags & SF_SCORE_NEGATIVE; }
@ -147,13 +116,6 @@ class CGameEnd: public CRulePointEntity
{
public:
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
};
// CGameText / game_text -- NON-Localized HUD Message (use env_message to display a titles.txt message)
@ -166,15 +128,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
BOOL MessageToAll() const { return (pev->spawnflags & SF_ENVTEXT_ALLPLAYERS) == SF_ENVTEXT_ALLPLAYERS; }
void MessageSet(const char *pMessage) { pev->message = ALLOC_STRING(pMessage); }
@ -202,15 +155,6 @@ public:
virtual const char *TeamID();
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void KeyValue_(KeyValueData *pkvd);
BOOL IsTriggered_(CBaseEntity *pActivator);
const char *TeamID_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
BOOL RemoveOnFire() const { return (pev->spawnflags & SF_TEAMMASTER_FIREONCE) == SF_TEAMMASTER_FIREONCE; }
BOOL AnyTeam() const { return (pev->spawnflags & SF_TEAMMASTER_ANYTEAM) == SF_TEAMMASTER_ANYTEAM; }
@ -231,12 +175,6 @@ class CGameTeamSet: public CRulePointEntity
public:
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
BOOL RemoveOnFire() const { return (pev->spawnflags & SF_TEAMSET_FIREONCE) == SF_TEAMSET_FIREONCE; }
BOOL ShouldClearTeam() const { return (pev->spawnflags & SF_TEAMSET_CLEARTEAM) == SF_TEAMSET_CLEARTEAM; }
@ -252,15 +190,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[4];
@ -278,12 +207,6 @@ class CGamePlayerHurt: public CRulePointEntity
public:
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
BOOL RemoveOnFire() const { return (pev->spawnflags & SF_PKILL_FIREONCE) == SF_PKILL_FIREONCE; }
};
@ -297,13 +220,6 @@ public:
virtual void Spawn();
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
BOOL RemoveOnFire() const { return (pev->spawnflags & SF_GAMECOUNT_FIREONCE) == SF_GAMECOUNT_FIREONCE; }
BOOL ResetOnFire() const { return (pev->spawnflags & SF_GAMECOUNT_RESET) == SF_GAMECOUNT_RESET; }
@ -328,12 +244,6 @@ class CGameCounterSet: public CRulePointEntity
public:
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
BOOL RemoveOnFire() const { return (pev->spawnflags & SF_GAMECOUNTSET_FIREONCE) == SF_GAMECOUNTSET_FIREONCE; }
};
@ -347,14 +257,6 @@ public:
virtual void Touch(CBaseEntity *pOther);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void KeyValue_(KeyValueData *pkvd);
void Touch_(CBaseEntity *pOther);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
BOOL UseOnly() const { return (pev->spawnflags & SF_PLAYEREQUIP_USEONLY) == SF_PLAYEREQUIP_USEONLY; }
@ -375,12 +277,6 @@ class CGamePlayerTeam: public CRulePointEntity
public:
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
private:
BOOL RemoveOnFire() const { return (pev->spawnflags & SF_PTEAM_FIREONCE) == SF_PTEAM_FIREONCE; }
BOOL ShouldKillPlayer() const { return (pev->spawnflags & SF_PTEAM_KILL) == SF_PTEAM_KILL; }

View File

@ -20,7 +20,7 @@ TYPEDESCRIPTION CFuncMortarField::m_SaveData[] =
LINK_ENTITY_TO_CLASS(func_mortar_field, CFuncMortarField, CCSFuncMortarField)
IMPLEMENT_SAVERESTORE(CFuncMortarField, CBaseToggle)
void CFuncMortarField::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CFuncMortarField::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "m_iszXController"))
{
@ -50,7 +50,7 @@ void CFuncMortarField::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
}
// Drop bombs from above
void CFuncMortarField::__MAKE_VHOOK(Spawn)()
void CFuncMortarField::Spawn()
{
pev->solid = SOLID_NOT;
@ -63,7 +63,7 @@ void CFuncMortarField::__MAKE_VHOOK(Spawn)()
Precache();
}
void CFuncMortarField::__MAKE_VHOOK(Precache)()
void CFuncMortarField::Precache()
{
PRECACHE_SOUND("weapons/mortar.wav");
PRECACHE_SOUND("weapons/mortarhit.wav");
@ -155,7 +155,7 @@ void CFuncMortarField::FieldUse(CBaseEntity *pActivator, CBaseEntity *pCaller, U
LINK_ENTITY_TO_CLASS(monster_mortar, CMortar, CCSMortar)
void CMortar::__MAKE_VHOOK(Spawn)()
void CMortar::Spawn()
{
pev->movetype = MOVETYPE_NONE;
pev->solid = SOLID_NOT;
@ -166,7 +166,7 @@ void CMortar::__MAKE_VHOOK(Spawn)()
Precache();
}
void CMortar::__MAKE_VHOOK(Precache)()
void CMortar::Precache()
{
m_spriteTexture = PRECACHE_MODEL("sprites/lgtning.spr");
}

View File

@ -44,16 +44,6 @@ public:
// Bmodels don't go across transitions
virtual int ObjectCaps() { return CBaseToggle::ObjectCaps() & ~FCAP_ACROSS_TRANSITION; }
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
#endif
public:
void EXPORT FieldUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
@ -74,13 +64,6 @@ public:
virtual void Spawn();
virtual void Precache();
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
#endif
void EXPORT MortarExplode();
public:

View File

@ -42,7 +42,7 @@ int CGraph::FindNearestNode(const Vector &vecOrigin, CBaseEntity *pEntity)
return 0;
}
float CBaseMonster::__MAKE_VHOOK(ChangeYaw)(int speed)
float CBaseMonster::ChangeYaw(int speed)
{
return 0.0f;
}
@ -66,7 +66,7 @@ NOXREF void CBaseMonster::CorpseFallThink()
pev->nextthink = gpGlobals->time + 0.1f;
}
void CBaseMonster::__MAKE_VHOOK(MonsterInitDead)()
void CBaseMonster::MonsterInitDead()
{
InitBoneControllers();
@ -88,7 +88,7 @@ void CBaseMonster::__MAKE_VHOOK(MonsterInitDead)()
pev->nextthink = gpGlobals->time + 0.5f;
}
BOOL CBaseMonster::__MAKE_VHOOK(ShouldFadeOnDeath)()
BOOL CBaseMonster::ShouldFadeOnDeath()
{
return FALSE;
}
@ -98,12 +98,12 @@ BOOL CBaseMonster::FCheckAITrigger()
return FALSE;
}
void CBaseMonster::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CBaseMonster::KeyValue(KeyValueData *pkvd)
{
CBaseToggle::KeyValue(pkvd);
}
int CBaseMonster::__MAKE_VHOOK(IRelationship)(CBaseEntity *pTarget)
int CBaseMonster::IRelationship(CBaseEntity *pTarget)
{
static int const iEnemy[14][14] =
{
@ -136,7 +136,7 @@ int CBaseMonster::__MAKE_VHOOK(IRelationship)(CBaseEntity *pTarget)
// Function also sets the Looker's m_pLink
// to the head of a link list that contains all visible ents.
// (linked via each ent's m_pLink field)
void CBaseMonster::__MAKE_VHOOK(Look)(int iDistance)
void CBaseMonster::Look(int iDistance)
{
int iSighted = 0;
@ -213,7 +213,7 @@ void CBaseMonster::__MAKE_VHOOK(Look)(int iDistance)
//
// UNDONE: currently, this only returns the closest enemy.
// we'll want to consider distance, relationship, attack types, back turned, etc.
CBaseEntity *CBaseMonster::__MAKE_VHOOK(BestVisibleEnemy)()
CBaseEntity *CBaseMonster::BestVisibleEnemy()
{
CBaseEntity *pReturn;
CBaseEntity *pNextEnt;

View File

@ -179,7 +179,7 @@ BOOL CHalfLifeMultiplay::IsCareer()
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN2(CHalfLifeMultiplay, CSGameRules, ServerDeactivate)
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(ServerDeactivate)()
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(ServerDeactivate)()
{
if (!IsCareer())
{
@ -191,7 +191,7 @@ void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(ServerDeactivate)()
UTIL_LogPrintf("Career End\n");
}
bool CCStrikeGameMgrHelper::__MAKE_VHOOK(CanPlayerHearPlayer)(CBasePlayer *pListener, CBasePlayer *pSender)
bool CCStrikeGameMgrHelper::CanPlayerHearPlayer(CBasePlayer *pListener, CBasePlayer *pSender)
{
if (
#ifndef REGAMEDLL_FIXES
@ -611,7 +611,7 @@ CHalfLifeMultiplay::CHalfLifeMultiplay()
#endif
}
void CHalfLifeMultiplay::__MAKE_VHOOK(RefreshSkillData)()
void CHalfLifeMultiplay::RefreshSkillData()
{
// load all default values
CGameRules::RefreshSkillData();
@ -644,7 +644,7 @@ void CHalfLifeMultiplay::__MAKE_VHOOK(RefreshSkillData)()
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN2(CHalfLifeMultiplay, CSGameRules, RemoveGuns)
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(RemoveGuns)()
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(RemoveGuns)()
{
CBaseEntity *toremove = NULL;
@ -675,9 +675,11 @@ void CHalfLifeMultiplay::UpdateTeamScores()
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN2(CHalfLifeMultiplay, CSGameRules, CleanUpMap)
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(CleanUpMap)()
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(CleanUpMap)()
{
#ifdef REGAMEDLL_FIXES
UTIL_RestartOther("multi_manager");
// Release or reset everything entities in depending of flags ObjectCaps
// (FCAP_MUST_RESET / FCAP_MUST_RELEASE)
UTIL_ResetEntities();
@ -703,7 +705,6 @@ void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(CleanUpMap)()
UTIL_RestartOther("func_button");
UTIL_RestartOther("trigger_auto");
UTIL_RestartOther("trigger_once");
UTIL_RestartOther("multi_manager");
#endif
// Remove grenades and C4
@ -735,7 +736,7 @@ void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(CleanUpMap)()
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN2(CHalfLifeMultiplay, CSGameRules, GiveC4)
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(GiveC4)()
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(GiveC4)()
{
int iTeamCount;
int iTemp = 0;
@ -927,7 +928,7 @@ void CHalfLifeMultiplay::QueueCareerRoundEndMenu(float tmDelay, int iWinStatus)
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN2(CHalfLifeMultiplay, CSGameRules, CheckWinConditions)
// Check if the scenario has been won/lost.
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(CheckWinConditions)()
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(CheckWinConditions)()
{
if (HasRoundInfinite())
return;
@ -1637,7 +1638,7 @@ void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(BalanceTeams)()
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN2(CHalfLifeMultiplay, CSGameRules, CheckMapConditions)
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(CheckMapConditions)()
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(CheckMapConditions)()
{
// Check to see if this map has a bomb target in it
if (UTIL_FindEntityByClassname(NULL, "func_bomb_target"))
@ -1672,7 +1673,7 @@ void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(CheckMapConditions)()
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN2(CHalfLifeMultiplay, CSGameRules, RestartRound)
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(RestartRound)()
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(RestartRound)()
{
// tell bots that the round is restarting
if (TheBots)
@ -2371,7 +2372,7 @@ void CHalfLifeMultiplay::PickNextVIP()
}
}
void CHalfLifeMultiplay::__MAKE_VHOOK(Think)()
void CHalfLifeMultiplay::Think()
{
MonitorTutorStatus();
m_VoiceGameMgr.Update(gpGlobals->frametime);
@ -3200,24 +3201,24 @@ void CHalfLifeMultiplay::CareerRestart()
}
}
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(IsMultiplayer)()
BOOL CHalfLifeMultiplay::IsMultiplayer()
{
return TRUE;
}
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(IsDeathmatch)()
BOOL CHalfLifeMultiplay::IsDeathmatch()
{
return TRUE;
}
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(IsCoOp)()
BOOL CHalfLifeMultiplay::IsCoOp()
{
return gpGlobals->coop;
}
LINK_HOOK_CLASS_CUSTOM_CHAIN(BOOL, CHalfLifeMultiplay, CSGameRules, FShouldSwitchWeapon, (CBasePlayer *pPlayer, CBasePlayerItem *pWeapon), pPlayer, pWeapon)
BOOL EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(FShouldSwitchWeapon)(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
BOOL EXT_FUNC CHalfLifeMultiplay::__API_HOOK(FShouldSwitchWeapon)(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
{
if (!pWeapon->CanDeploy())
return FALSE;
@ -3239,7 +3240,7 @@ BOOL EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(FShouldSwitchWeapon)(CBasePlayer *
LINK_HOOK_CLASS_CUSTOM_CHAIN(BOOL, CHalfLifeMultiplay, CSGameRules, GetNextBestWeapon, (CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon), pPlayer, pCurrentWeapon)
BOOL EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(GetNextBestWeapon)(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon)
BOOL EXT_FUNC CHalfLifeMultiplay::__API_HOOK(GetNextBestWeapon)(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon)
{
CBasePlayerItem *pCheck;
CBasePlayerItem *pBest; // this will be used in the event that we don't find a weapon in the same category.
@ -3295,30 +3296,30 @@ BOOL EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(GetNextBestWeapon)(CBasePlayer *pP
return TRUE;
}
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(ClientCommand_DeadOrAlive)(CBasePlayer *pPlayer, const char *pcmd)
BOOL CHalfLifeMultiplay::ClientCommand_DeadOrAlive(CBasePlayer *pPlayer, const char *pcmd)
{
return m_VoiceGameMgr.ClientCommand(pPlayer, pcmd);
}
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(ClientCommand)(CBasePlayer *pPlayer, const char *pcmd)
BOOL CHalfLifeMultiplay::ClientCommand(CBasePlayer *pPlayer, const char *pcmd)
{
return FALSE;
}
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(ClientConnected)(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason)
BOOL CHalfLifeMultiplay::ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason)
{
m_VoiceGameMgr.ClientConnected(pEntity);
return TRUE;
}
void CHalfLifeMultiplay::__MAKE_VHOOK(UpdateGameMode)(CBasePlayer *pPlayer)
void CHalfLifeMultiplay::UpdateGameMode(CBasePlayer *pPlayer)
{
MESSAGE_BEGIN(MSG_ONE, gmsgGameMode, NULL, pPlayer->edict());
WRITE_BYTE(1);
MESSAGE_END();
}
void CHalfLifeMultiplay::__MAKE_VHOOK(InitHUD)(CBasePlayer *pl)
void CHalfLifeMultiplay::InitHUD(CBasePlayer *pl)
{
int i;
@ -3488,7 +3489,7 @@ void CHalfLifeMultiplay::__MAKE_VHOOK(InitHUD)(CBasePlayer *pl)
#endif
}
void CHalfLifeMultiplay::__MAKE_VHOOK(ClientDisconnected)(edict_t *pClient)
void CHalfLifeMultiplay::ClientDisconnected(edict_t *pClient)
{
if (pClient)
{
@ -3584,7 +3585,7 @@ void CHalfLifeMultiplay::__MAKE_VHOOK(ClientDisconnected)(edict_t *pClient)
LINK_HOOK_CLASS_CUSTOM_CHAIN(float, CHalfLifeMultiplay, CSGameRules, FlPlayerFallDamage, (CBasePlayer *pPlayer), pPlayer)
float EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(FlPlayerFallDamage)(CBasePlayer *pPlayer)
float EXT_FUNC CHalfLifeMultiplay::__API_HOOK(FlPlayerFallDamage)(CBasePlayer *pPlayer)
{
pPlayer->m_flFallVelocity -= PLAYER_MAX_SAFE_FALL_SPEED;
return pPlayer->m_flFallVelocity * DAMAGE_FOR_FALL_SPEED * 1.25;
@ -3592,7 +3593,7 @@ float EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(FlPlayerFallDamage)(CBasePlayer *
LINK_HOOK_CLASS_CUSTOM_CHAIN(BOOL, CHalfLifeMultiplay, CSGameRules, FPlayerCanTakeDamage, (CBasePlayer *pPlayer, CBaseEntity *pAttacker), pPlayer, pAttacker)
BOOL EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(FPlayerCanTakeDamage)(CBasePlayer *pPlayer, CBaseEntity *pAttacker)
BOOL EXT_FUNC CHalfLifeMultiplay::__API_HOOK(FPlayerCanTakeDamage)(CBasePlayer *pPlayer, CBaseEntity *pAttacker)
{
if (!pAttacker || PlayerRelationship(pPlayer, pAttacker) != GR_TEAMMATE)
{
@ -3607,7 +3608,7 @@ BOOL EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(FPlayerCanTakeDamage)(CBasePlayer
return FALSE;
}
void CHalfLifeMultiplay::__MAKE_VHOOK(PlayerThink)(CBasePlayer *pPlayer)
void CHalfLifeMultiplay::PlayerThink(CBasePlayer *pPlayer)
{
if (m_bGameOver)
{
@ -3708,7 +3709,7 @@ void CHalfLifeMultiplay::__MAKE_VHOOK(PlayerThink)(CBasePlayer *pPlayer)
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN(CHalfLifeMultiplay, CSGameRules, PlayerSpawn, (CBasePlayer *pPlayer), pPlayer)
// Purpose: Player has just spawned. Equip them.
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(PlayerSpawn)(CBasePlayer *pPlayer)
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(PlayerSpawn)(CBasePlayer *pPlayer)
{
// This is tied to the joining state (m_iJoiningState).. add it when the joining state is there.
if (pPlayer->m_bJustConnected)
@ -3721,7 +3722,7 @@ void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(PlayerSpawn)(CBasePlayer *pPlayer)
LINK_HOOK_CLASS_CUSTOM_CHAIN(BOOL, CHalfLifeMultiplay, CSGameRules, FPlayerCanRespawn, (CBasePlayer *pPlayer), pPlayer)
BOOL EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(FPlayerCanRespawn)(CBasePlayer *pPlayer)
BOOL EXT_FUNC CHalfLifeMultiplay::__API_HOOK(FPlayerCanRespawn)(CBasePlayer *pPlayer)
{
#ifdef REGAMEDLL_ADD
if (forcerespawn.value <= 0)
@ -3776,26 +3777,26 @@ BOOL EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(FPlayerCanRespawn)(CBasePlayer *pP
return TRUE;
}
float CHalfLifeMultiplay::__MAKE_VHOOK(FlPlayerSpawnTime)(CBasePlayer *pPlayer)
float CHalfLifeMultiplay::FlPlayerSpawnTime(CBasePlayer *pPlayer)
{
return gpGlobals->time;
}
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(AllowAutoTargetCrosshair)()
BOOL CHalfLifeMultiplay::AllowAutoTargetCrosshair()
{
return FALSE;
}
// IPointsForKill - how many points awarded to anyone
// that kills this player?
int CHalfLifeMultiplay::__MAKE_VHOOK(IPointsForKill)(CBasePlayer *pAttacker, CBasePlayer *pKilled)
int CHalfLifeMultiplay::IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled)
{
return 1;
}
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN(CHalfLifeMultiplay, CSGameRules, PlayerKilled, (CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor), pVictim, pKiller, pInflictor)
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(PlayerKilled)(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(PlayerKilled)(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
{
DeathNotice(pVictim, pKiller, pInflictor);
@ -3947,7 +3948,7 @@ void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(PlayerKilled)(CBasePlayer *pVictim
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN(CHalfLifeMultiplay, CSGameRules, DeathNotice, (CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pevInflictor), pVictim, pKiller, pevInflictor)
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(DeathNotice)(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pevInflictor)
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(DeathNotice)(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pevInflictor)
{
// Work out what killed the player, and send a message to all clients about it
// CBaseEntity *Killer = CBaseEntity::Instance(pKiller);
@ -4078,21 +4079,21 @@ void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(DeathNotice)(CBasePlayer *pVictim,
// PlayerGotWeapon - player has grabbed a weapon that was
// sitting in the world
void CHalfLifeMultiplay::__MAKE_VHOOK(PlayerGotWeapon)(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
void CHalfLifeMultiplay::PlayerGotWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
{
;
}
// FlWeaponRespawnTime - what is the time in the future
// at which this weapon may spawn?
float CHalfLifeMultiplay::__MAKE_VHOOK(FlWeaponRespawnTime)(CBasePlayerItem *pWeapon)
float CHalfLifeMultiplay::FlWeaponRespawnTime(CBasePlayerItem *pWeapon)
{
return gpGlobals->time + WEAPON_RESPAWN_TIME;
}
// FlWeaponRespawnTime - Returns 0 if the weapon can respawn now,
// otherwise it returns the time at which it can try to spawn again.
float CHalfLifeMultiplay::__MAKE_VHOOK(FlWeaponTryRespawn)(CBasePlayerItem *pWeapon)
float CHalfLifeMultiplay::FlWeaponTryRespawn(CBasePlayerItem *pWeapon)
{
if (pWeapon && pWeapon->m_iId && (pWeapon->iFlags() & ITEM_FLAG_LIMITINWORLD))
{
@ -4106,12 +4107,12 @@ float CHalfLifeMultiplay::__MAKE_VHOOK(FlWeaponTryRespawn)(CBasePlayerItem *pWea
return 0;
}
Vector CHalfLifeMultiplay::__MAKE_VHOOK(VecWeaponRespawnSpot)(CBasePlayerItem *pWeapon)
Vector CHalfLifeMultiplay::VecWeaponRespawnSpot(CBasePlayerItem *pWeapon)
{
return pWeapon->pev->origin;
}
int CHalfLifeMultiplay::__MAKE_VHOOK(WeaponShouldRespawn)(CBasePlayerItem *pWeapon)
int CHalfLifeMultiplay::WeaponShouldRespawn(CBasePlayerItem *pWeapon)
{
if (pWeapon->pev->spawnflags & SF_NORESPAWN)
{
@ -4123,22 +4124,22 @@ int CHalfLifeMultiplay::__MAKE_VHOOK(WeaponShouldRespawn)(CBasePlayerItem *pWeap
LINK_HOOK_CLASS_CUSTOM_CHAIN(BOOL, CHalfLifeMultiplay, CSGameRules, CanHavePlayerItem, (CBasePlayer *pPlayer, CBasePlayerItem *pItem), pPlayer, pItem)
BOOL EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(CanHavePlayerItem)(CBasePlayer *pPlayer, CBasePlayerItem *pItem)
BOOL EXT_FUNC CHalfLifeMultiplay::__API_HOOK(CanHavePlayerItem)(CBasePlayer *pPlayer, CBasePlayerItem *pItem)
{
return CGameRules::CanHavePlayerItem(pPlayer, pItem);
}
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(CanHaveItem)(CBasePlayer *pPlayer, CItem *pItem)
BOOL CHalfLifeMultiplay::CanHaveItem(CBasePlayer *pPlayer, CItem *pItem)
{
return TRUE;
}
void CHalfLifeMultiplay::__MAKE_VHOOK(PlayerGotItem)(CBasePlayer *pPlayer, CItem *pItem)
void CHalfLifeMultiplay::PlayerGotItem(CBasePlayer *pPlayer, CItem *pItem)
{
;
}
int CHalfLifeMultiplay::__MAKE_VHOOK(ItemShouldRespawn)(CItem *pItem)
int CHalfLifeMultiplay::ItemShouldRespawn(CItem *pItem)
{
if (pItem->pev->spawnflags & SF_NORESPAWN)
{
@ -4148,27 +4149,27 @@ int CHalfLifeMultiplay::__MAKE_VHOOK(ItemShouldRespawn)(CItem *pItem)
return GR_ITEM_RESPAWN_YES;
}
float CHalfLifeMultiplay::__MAKE_VHOOK(FlItemRespawnTime)(CItem *pItem)
float CHalfLifeMultiplay::FlItemRespawnTime(CItem *pItem)
{
return gpGlobals->time + ITEM_RESPAWN_TIME;
}
Vector CHalfLifeMultiplay::__MAKE_VHOOK(VecItemRespawnSpot)(CItem *pItem)
Vector CHalfLifeMultiplay::VecItemRespawnSpot(CItem *pItem)
{
return pItem->pev->origin;
}
void CHalfLifeMultiplay::__MAKE_VHOOK(PlayerGotAmmo)(CBasePlayer *pPlayer, char *szName, int iCount)
void CHalfLifeMultiplay::PlayerGotAmmo(CBasePlayer *pPlayer, char *szName, int iCount)
{
;
}
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(IsAllowedToSpawn)(CBaseEntity *pEntity)
BOOL CHalfLifeMultiplay::IsAllowedToSpawn(CBaseEntity *pEntity)
{
return TRUE;
}
int CHalfLifeMultiplay::__MAKE_VHOOK(AmmoShouldRespawn)(CBasePlayerAmmo *pAmmo)
int CHalfLifeMultiplay::AmmoShouldRespawn(CBasePlayerAmmo *pAmmo)
{
if (pAmmo->pev->spawnflags & SF_NORESPAWN)
{
@ -4178,41 +4179,41 @@ int CHalfLifeMultiplay::__MAKE_VHOOK(AmmoShouldRespawn)(CBasePlayerAmmo *pAmmo)
return GR_AMMO_RESPAWN_YES;
}
float CHalfLifeMultiplay::__MAKE_VHOOK(FlAmmoRespawnTime)(CBasePlayerAmmo *pAmmo)
float CHalfLifeMultiplay::FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo)
{
return gpGlobals->time + 20.0f;
}
Vector CHalfLifeMultiplay::__MAKE_VHOOK(VecAmmoRespawnSpot)(CBasePlayerAmmo *pAmmo)
Vector CHalfLifeMultiplay::VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo)
{
return pAmmo->pev->origin;
}
float CHalfLifeMultiplay::__MAKE_VHOOK(FlHealthChargerRechargeTime)()
float CHalfLifeMultiplay::FlHealthChargerRechargeTime()
{
return 60;
}
float CHalfLifeMultiplay::__MAKE_VHOOK(FlHEVChargerRechargeTime)()
float CHalfLifeMultiplay::FlHEVChargerRechargeTime()
{
return 30;
}
LINK_HOOK_CLASS_CUSTOM_CHAIN(int, CHalfLifeMultiplay, CSGameRules, DeadPlayerWeapons, (CBasePlayer *pPlayer), pPlayer)
int EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(DeadPlayerWeapons)(CBasePlayer *pPlayer)
int EXT_FUNC CHalfLifeMultiplay::__API_HOOK(DeadPlayerWeapons)(CBasePlayer *pPlayer)
{
return GR_PLR_DROP_GUN_ACTIVE;
}
int CHalfLifeMultiplay::__MAKE_VHOOK(DeadPlayerAmmo)(CBasePlayer *pPlayer)
int CHalfLifeMultiplay::DeadPlayerAmmo(CBasePlayer *pPlayer)
{
return GR_PLR_DROP_AMMO_ACTIVE;
}
LINK_HOOK_CLASS_CUSTOM_CHAIN(edict_t *, CHalfLifeMultiplay, CSGameRules, GetPlayerSpawnSpot, (CBasePlayer *pPlayer), pPlayer)
edict_t *EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(GetPlayerSpawnSpot)(CBasePlayer *pPlayer)
edict_t *EXT_FUNC CHalfLifeMultiplay::__API_HOOK(GetPlayerSpawnSpot)(CBasePlayer *pPlayer)
{
// gat valid spawn point
edict_t *pentSpawnSpot = CGameRules::GetPlayerSpawnSpot(pPlayer);
@ -4228,7 +4229,7 @@ edict_t *EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(GetPlayerSpawnSpot)(CBasePlaye
return pentSpawnSpot;
}
int CHalfLifeMultiplay::__MAKE_VHOOK(PlayerRelationship)(CBasePlayer *pPlayer, CBaseEntity *pTarget)
int CHalfLifeMultiplay::PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget)
{
#ifdef REGAMEDLL_ADD
if (IsFreeForAll())
@ -4258,7 +4259,7 @@ int CHalfLifeMultiplay::__MAKE_VHOOK(PlayerRelationship)(CBasePlayer *pPlayer, C
return GR_TEAMMATE;
}
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(FAllowFlashlight)()
BOOL CHalfLifeMultiplay::FAllowFlashlight()
{
static cvar_t *mp_flashlight = NULL;
@ -4271,7 +4272,7 @@ BOOL CHalfLifeMultiplay::__MAKE_VHOOK(FAllowFlashlight)()
return FALSE;
}
BOOL CHalfLifeMultiplay::__MAKE_VHOOK(FAllowMonsters)()
BOOL CHalfLifeMultiplay::FAllowMonsters()
{
#ifdef REGAMEDLL_FIXES
return FALSE;
@ -4282,7 +4283,7 @@ BOOL CHalfLifeMultiplay::__MAKE_VHOOK(FAllowMonsters)()
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN2(CHalfLifeMultiplay, CSGameRules, GoToIntermission)
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(GoToIntermission)()
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(GoToIntermission)()
{
if (m_bGameOver)
return;
@ -4812,7 +4813,7 @@ void CHalfLifeMultiplay::ProcessMapVote(CBasePlayer *player, int iVote)
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN2(CHalfLifeMultiplay, CSGameRules, ChangeLevel);
// Server is changing to a new level, check mapcycle.txt for map name and setup info
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(ChangeLevel)()
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(ChangeLevel)()
{
static char szPreviousMapCycleFile[256];
static mapcycle_t mapcycle;
@ -4995,7 +4996,7 @@ void CHalfLifeMultiplay::SendMOTDToClient(edict_t *client)
LINK_HOOK_CLASS_VOID_CUSTOM_CHAIN(CHalfLifeMultiplay, CSGameRules, ClientUserInfoChanged, (CBasePlayer *pPlayer, char *infobuffer), pPlayer, infobuffer);
void EXT_FUNC CHalfLifeMultiplay::__API_VHOOK(ClientUserInfoChanged)(CBasePlayer *pPlayer, char *infobuffer)
void EXT_FUNC CHalfLifeMultiplay::__API_HOOK(ClientUserInfoChanged)(CBasePlayer *pPlayer, char *infobuffer)
{
pPlayer->SetPlayerModel(pPlayer->m_bHasC4);
pPlayer->SetPrefsFromUserinfo(infobuffer);

View File

@ -37,7 +37,10 @@
#define CAMERA_MODE_SPEC_ONLY_FRIST_PERSON 2
int GetForceCamera(CBasePlayer *pObserver);
int GetForceCamera_(CBasePlayer *pObserver);
void UpdateClientEffects(CBasePlayer *pObserver, int oldMode);
#ifdef REGAMEDLL_API
int GetForceCamera_OrigFunc(CBasePlayer *pObserver);
#endif
#endif // OBSERVER_H

View File

@ -24,7 +24,7 @@ TYPEDESCRIPTION CPathTrack::m_SaveData[] =
LINK_ENTITY_TO_CLASS(path_corner, CPathCorner, CCSPathCorner)
IMPLEMENT_SAVERESTORE(CPathCorner, CPointEntity)
void CPathCorner::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CPathCorner::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "wait"))
{
@ -35,7 +35,7 @@ void CPathCorner::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CPointEntity::KeyValue(pkvd);
}
void CPathCorner::__MAKE_VHOOK(Spawn)()
void CPathCorner::Spawn()
{
assert(("path_corner without a targetname", !FStringNull(pev->targetname)));
}
@ -43,7 +43,7 @@ void CPathCorner::__MAKE_VHOOK(Spawn)()
IMPLEMENT_SAVERESTORE(CPathTrack, CBaseEntity)
LINK_ENTITY_TO_CLASS(path_track, CPathTrack, CCSPathTrack)
void CPathTrack::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CPathTrack::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "altpath"))
{
@ -54,7 +54,7 @@ void CPathTrack::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CPointEntity::KeyValue(pkvd);
}
void CPathTrack::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CPathTrack::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
int on;
@ -117,7 +117,7 @@ void CPathTrack::Link()
}
}
void CPathTrack::__MAKE_VHOOK(Spawn)()
void CPathTrack::Spawn()
{
pev->solid = SOLID_TRIGGER;
UTIL_SetSize(pev, Vector(-8, -8, -8), Vector(8, 8, 8));
@ -126,7 +126,7 @@ void CPathTrack::__MAKE_VHOOK(Spawn)()
m_pprevious = NULL;
}
void CPathTrack::__MAKE_VHOOK(Activate)()
void CPathTrack::Activate()
{
// Link to next, and back-link
if (!FStringNull(pev->targetname))

View File

@ -41,15 +41,6 @@ public:
virtual int Restore(CRestore &restore);
virtual float GetDelay() { return m_flWait; }
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[1];

View File

@ -63,7 +63,7 @@ TYPEDESCRIPTION CGunTarget::m_SaveData[] =
IMPLEMENT_SAVERESTORE(CBasePlatTrain, CBaseToggle)
void CBasePlatTrain::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CBasePlatTrain::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "lip"))
{
@ -107,7 +107,7 @@ void CBasePlatTrain::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
#define noiseMoving noise
#define noiseArrived noise1
void CBasePlatTrain::__MAKE_VHOOK(Precache)()
void CBasePlatTrain::Precache()
{
// set the plat's "in-motion" sound
switch (m_bMoveSnd)
@ -292,7 +292,7 @@ void CFuncPlat::Setup()
}
}
void CFuncPlat::__MAKE_VHOOK(Precache)()
void CFuncPlat::Precache()
{
CBasePlatTrain::Precache();
@ -303,7 +303,7 @@ void CFuncPlat::__MAKE_VHOOK(Precache)()
}
}
void CFuncPlat::__MAKE_VHOOK(Spawn)()
void CFuncPlat::Spawn()
{
Setup();
Precache();
@ -359,7 +359,7 @@ void CPlatTrigger::SpawnInsideTrigger(CFuncPlat *pPlatform)
UTIL_SetSize(pev, vecTMin, vecTMax);
}
void CPlatTrigger::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
void CPlatTrigger::Touch(CBaseEntity *pOther)
{
// Ignore touches by non-players
entvars_t *pevToucher = pOther->pev;
@ -418,7 +418,7 @@ void CFuncPlat::PlatUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE
}
// Platform is at top, now starts moving down.
void CFuncPlat::__MAKE_VHOOK(GoDown)()
void CFuncPlat::GoDown()
{
if (pev->noiseMovement)
{
@ -432,7 +432,7 @@ void CFuncPlat::__MAKE_VHOOK(GoDown)()
}
// Platform has hit bottom. Stops and waits forever.
void CFuncPlat::__MAKE_VHOOK(HitBottom)()
void CFuncPlat::HitBottom()
{
if (pev->noiseMovement)
{
@ -449,7 +449,7 @@ void CFuncPlat::__MAKE_VHOOK(HitBottom)()
}
// Platform is at bottom, now starts moving up
void CFuncPlat::__MAKE_VHOOK(GoUp)()
void CFuncPlat::GoUp()
{
if (pev->noiseMovement)
{
@ -463,7 +463,7 @@ void CFuncPlat::__MAKE_VHOOK(GoUp)()
}
// Platform has hit top. Pauses, then starts back down again.
void CFuncPlat::__MAKE_VHOOK(HitTop)()
void CFuncPlat::HitTop()
{
if (pev->noiseMovement)
{
@ -486,7 +486,7 @@ void CFuncPlat::__MAKE_VHOOK(HitTop)()
}
}
void CFuncPlat::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
void CFuncPlat::Blocked(CBaseEntity *pOther)
{
ALERT(at_aiconsole, "%s Blocked by %s\n", STRING(pev->classname), STRING(pOther->pev->classname));
@ -536,20 +536,20 @@ void CFuncPlatRot::SetupRotation()
}
}
void CFuncPlatRot::__MAKE_VHOOK(Spawn)()
void CFuncPlatRot::Spawn()
{
CFuncPlat::Spawn();
SetupRotation();
}
void CFuncPlatRot::__MAKE_VHOOK(GoDown)()
void CFuncPlatRot::GoDown()
{
CFuncPlat::GoDown();
RotMove(m_start, pev->nextthink - pev->ltime);
}
// Platform has hit bottom. Stops and waits forever.
void CFuncPlatRot::__MAKE_VHOOK(HitBottom)()
void CFuncPlatRot::HitBottom()
{
CFuncPlat::HitBottom();
pev->avelocity = g_vecZero;
@ -557,14 +557,14 @@ void CFuncPlatRot::__MAKE_VHOOK(HitBottom)()
}
// Platform is at bottom, now starts moving up
void CFuncPlatRot::__MAKE_VHOOK(GoUp)()
void CFuncPlatRot::GoUp()
{
CFuncPlat::GoUp();
RotMove(m_end, pev->nextthink - pev->ltime);
}
// Platform has hit top. Pauses, then starts back down again.
void CFuncPlatRot::__MAKE_VHOOK(HitTop)()
void CFuncPlatRot::HitTop()
{
CFuncPlat::HitTop();
pev->avelocity = g_vecZero;
@ -591,7 +591,7 @@ void CFuncPlatRot::RotMove(Vector &destAngle, float time)
LINK_ENTITY_TO_CLASS(func_train, CFuncTrain, CCSFuncTrain)
IMPLEMENT_SAVERESTORE(CFuncTrain, CBasePlatTrain)
void CFuncTrain::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CFuncTrain::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "sounds"))
{
@ -602,7 +602,7 @@ void CFuncTrain::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CBasePlatTrain::KeyValue(pkvd);
}
void CFuncTrain::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
void CFuncTrain::Blocked(CBaseEntity *pOther)
{
if (gpGlobals->time < m_flActivateFinished)
return;
@ -611,7 +611,7 @@ void CFuncTrain::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
pOther->TakeDamage(pev, pev, pev->dmg, DMG_CRUSH);
}
void CFuncTrain::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CFuncTrain::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (pev->spawnflags & SF_TRAIN_WAIT_RETRIGGER)
{
@ -765,7 +765,7 @@ void CFuncTrain::Next()
}
}
void CFuncTrain::__MAKE_VHOOK(Activate)()
void CFuncTrain::Activate()
{
// Not yet active, so teleport to first target
if (!m_activated)
@ -803,7 +803,7 @@ void CFuncTrain::__MAKE_VHOOK(Activate)()
// dmg default 2
// sounds
// 1) ratchet metal
void CFuncTrain::__MAKE_VHOOK(Spawn)()
void CFuncTrain::Spawn()
{
Precache();
@ -846,7 +846,7 @@ void CFuncTrain::__MAKE_VHOOK(Spawn)()
m_volume = 0.85f;
}
void CFuncTrain::__MAKE_VHOOK(Restart)()
void CFuncTrain::Restart()
{
if (pev->speed == 0)
pev->speed = 100;
@ -888,12 +888,12 @@ void CFuncTrain::__MAKE_VHOOK(Restart)()
#endif
}
void CFuncTrain::__MAKE_VHOOK(Precache)()
void CFuncTrain::Precache()
{
CBasePlatTrain::Precache();
}
void CFuncTrain::__MAKE_VHOOK(OverrideReset)()
void CFuncTrain::OverrideReset()
{
CBaseEntity *pTarg;
@ -921,7 +921,7 @@ void CFuncTrain::__MAKE_VHOOK(OverrideReset)()
IMPLEMENT_SAVERESTORE(CFuncTrackTrain, CBaseEntity)
LINK_ENTITY_TO_CLASS(func_tracktrain, CFuncTrackTrain, CCSFuncTrackTrain)
void CFuncTrackTrain::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CFuncTrackTrain::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "wheels"))
{
@ -970,7 +970,7 @@ void CFuncTrackTrain::NextThink(float thinkTime, BOOL alwaysThink)
pev->nextthink = thinkTime;
}
void CFuncTrackTrain::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
void CFuncTrackTrain::Blocked(CBaseEntity *pOther)
{
entvars_t *pevOther = pOther->pev;
@ -1007,7 +1007,7 @@ void CFuncTrackTrain::__MAKE_VHOOK(Blocked)(CBaseEntity *pOther)
#endif
}
void CFuncTrackTrain::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CFuncTrackTrain::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (useType != USE_SET)
{
@ -1356,7 +1356,7 @@ void CFuncTrackTrain::SetControls(entvars_t *pevControls)
m_controlMaxs = pevControls->maxs + offset;
}
BOOL CFuncTrackTrain::__MAKE_VHOOK(OnControls)(entvars_t *pevTest)
BOOL CFuncTrackTrain::OnControls(entvars_t *pevTest)
{
Vector offset = pevTest->origin - pev->origin;
@ -1474,7 +1474,7 @@ void CFuncTrackTrain::NearestPath()
}
}
void CFuncTrackTrain::__MAKE_VHOOK(OverrideReset)()
void CFuncTrackTrain::OverrideReset()
{
NextThink(pev->ltime + 0.1f, FALSE);
SetThink(&CFuncTrackTrain::NearestPath);
@ -1490,7 +1490,7 @@ CFuncTrackTrain *CFuncTrackTrain::Instance(edict_t *pent)
return NULL;
}
void CFuncTrackTrain::__MAKE_VHOOK(Spawn)()
void CFuncTrackTrain::Spawn()
{
if (pev->speed == 0)
m_speed = 165;
@ -1535,7 +1535,7 @@ void CFuncTrackTrain::__MAKE_VHOOK(Spawn)()
Precache();
}
void CFuncTrackTrain::__MAKE_VHOOK(Restart)()
void CFuncTrackTrain::Restart()
{
ALERT(at_console, "M_speed = %f\n", m_speed);
@ -1555,7 +1555,7 @@ void CFuncTrackTrain::__MAKE_VHOOK(Restart)()
SetThink(&CFuncTrackTrain::Find);
}
void CFuncTrackTrain::__MAKE_VHOOK(Precache)()
void CFuncTrackTrain::Precache()
{
if (m_flVolume == 0.0f)
m_flVolume = 1.0f;
@ -1603,7 +1603,7 @@ void CFuncTrainControls::Find()
UTIL_Remove(this);
}
void CFuncTrainControls::__MAKE_VHOOK(Spawn)()
void CFuncTrainControls::Spawn()
{
pev->solid = SOLID_NOT;
pev->movetype = MOVETYPE_NONE;
@ -1616,7 +1616,7 @@ void CFuncTrainControls::__MAKE_VHOOK(Spawn)()
pev->nextthink = gpGlobals->time;
}
BOOL CFuncTrackChange::__MAKE_VHOOK(IsTogglePlat)()
BOOL CFuncTrackChange::IsTogglePlat()
{
return TRUE;
}
@ -1624,7 +1624,7 @@ BOOL CFuncTrackChange::__MAKE_VHOOK(IsTogglePlat)()
LINK_ENTITY_TO_CLASS(func_trackchange, CFuncTrackChange, CCSFuncTrackChange)
IMPLEMENT_SAVERESTORE(CFuncTrackChange, CFuncPlatRot)
void CFuncTrackChange::__MAKE_VHOOK(Spawn)()
void CFuncTrackChange::Spawn()
{
Setup();
if (pev->spawnflags & SF_TRACK_DONT_MOVE)
@ -1655,7 +1655,7 @@ void CFuncTrackChange::__MAKE_VHOOK(Spawn)()
Precache();
}
void CFuncTrackChange::__MAKE_VHOOK(Precache)()
void CFuncTrackChange::Precache()
{
// Can't trigger sound
PRECACHE_SOUND("buttons/button11.wav");
@ -1664,7 +1664,7 @@ void CFuncTrackChange::__MAKE_VHOOK(Precache)()
}
// UNDONE: Filter touches before re-evaluating the train.
void CFuncTrackChange::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
void CFuncTrackChange::Touch(CBaseEntity *pOther)
{
#if 0
TRAIN_CODE code;
@ -1672,7 +1672,7 @@ void CFuncTrackChange::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
#endif
}
void CFuncTrackChange::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CFuncTrackChange::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "train"))
{
@ -1696,7 +1696,7 @@ void CFuncTrackChange::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
}
}
void CFuncTrackChange::__MAKE_VHOOK(OverrideReset)()
void CFuncTrackChange::OverrideReset()
{
pev->nextthink = pev->ltime + 1.0f;
SetThink(&CFuncTrackChange::Find);
@ -1804,7 +1804,7 @@ void CFuncTrackChange::UpdateTrain(Vector &dest)
m_train->pev->velocity = pev->velocity + (local * (1.0 / time));
}
void CFuncTrackChange::__MAKE_VHOOK(GoDown)()
void CFuncTrackChange::GoDown()
{
if (m_code == TRAIN_BLOCKING)
return;
@ -1837,7 +1837,7 @@ void CFuncTrackChange::__MAKE_VHOOK(GoDown)()
}
// Platform is at bottom, now starts moving up
void CFuncTrackChange::__MAKE_VHOOK(GoUp)()
void CFuncTrackChange::GoUp()
{
if (m_code == TRAIN_BLOCKING)
return;
@ -1871,7 +1871,7 @@ void CFuncTrackChange::__MAKE_VHOOK(GoUp)()
}
// Normal track change
void CFuncTrackChange::__MAKE_VHOOK(UpdateAutoTargets)(int toggleState)
void CFuncTrackChange::UpdateAutoTargets(int toggleState)
{
if (!m_trackTop || !m_trackBottom)
return;
@ -1887,7 +1887,7 @@ void CFuncTrackChange::__MAKE_VHOOK(UpdateAutoTargets)(int toggleState)
m_trackBottom->pev->spawnflags |= SF_PATH_DISABLED;
}
void CFuncTrackChange::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CFuncTrackChange::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (m_toggle_state != TS_AT_TOP && m_toggle_state != TS_AT_BOTTOM)
return;
@ -1925,7 +1925,7 @@ void CFuncTrackChange::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *p
}
// Platform has hit bottom. Stops and waits forever.
void CFuncTrackChange::__MAKE_VHOOK(HitBottom)()
void CFuncTrackChange::HitBottom()
{
CFuncPlatRot::HitBottom();
if (m_code == TRAIN_FOLLOWING)
@ -1941,7 +1941,7 @@ void CFuncTrackChange::__MAKE_VHOOK(HitBottom)()
}
// Platform has hit bottom. Stops and waits forever.
void CFuncTrackChange::__MAKE_VHOOK(HitTop)()
void CFuncTrackChange::HitTop()
{
CFuncPlatRot::HitTop();
if (m_code == TRAIN_FOLLOWING)
@ -1961,7 +1961,7 @@ void CFuncTrackChange::__MAKE_VHOOK(HitTop)()
LINK_ENTITY_TO_CLASS(func_trackautochange, CFuncTrackAuto, CCSFuncTrackAuto)
// Auto track change
void CFuncTrackAuto::__MAKE_VHOOK(UpdateAutoTargets)(int toggleState)
void CFuncTrackAuto::UpdateAutoTargets(int toggleState)
{
CPathTrack *pTarget, *pNextTarget;
@ -1995,7 +1995,7 @@ void CFuncTrackAuto::__MAKE_VHOOK(UpdateAutoTargets)(int toggleState)
}
}
void CFuncTrackAuto::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CFuncTrackAuto::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
CPathTrack *pTarget;
@ -2052,7 +2052,7 @@ void CFuncTrackAuto::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCa
LINK_ENTITY_TO_CLASS(func_guntarget, CGunTarget, CCSGunTarget)
IMPLEMENT_SAVERESTORE(CGunTarget, CBaseMonster)
void CGunTarget::__MAKE_VHOOK(Spawn)()
void CGunTarget::Spawn()
{
pev->solid = SOLID_BSP;
pev->movetype = MOVETYPE_PUSH;
@ -2079,7 +2079,7 @@ void CGunTarget::__MAKE_VHOOK(Spawn)()
}
}
void CGunTarget::__MAKE_VHOOK(Activate)()
void CGunTarget::Activate()
{
CBaseEntity *pTarg;
@ -2159,7 +2159,7 @@ void CGunTarget::Stop()
pev->takedamage = DAMAGE_NO;
}
BOOL CGunTarget::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
BOOL CGunTarget::TakeDamage(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType)
{
if (pev->health > 0)
{
@ -2180,7 +2180,7 @@ BOOL CGunTarget::__MAKE_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pe
return FALSE;
}
void CGunTarget::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CGunTarget::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
if (!ShouldToggle(useType, m_on))
return;

View File

@ -58,15 +58,6 @@ public:
// This is done to fix spawn flag collisions between this class and a derived class
virtual BOOL IsTogglePlat() { return (pev->spawnflags & SF_PLAT_TOGGLE) != 0; }
#ifdef HOOK_GAMEDLL
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[3];
@ -86,18 +77,6 @@ public:
virtual void HitTop();
virtual void HitBottom();
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void Blocked_(CBaseEntity *pOther);
void GoUp_();
void GoDown_();
void HitTop_();
void HitBottom_();
#endif
public:
void Setup();
void EXPORT PlatUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
@ -112,12 +91,6 @@ public:
virtual int ObjectCaps() { return (CBaseEntity::ObjectCaps() & ~FCAP_ACROSS_TRANSITION) | FCAP_DONT_SAVE; }
virtual void Touch(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Touch_(CBaseEntity *pOther);
#endif
public:
void SpawnInsideTrigger(CFuncPlat *pPlatform);
@ -136,18 +109,6 @@ public:
virtual void HitTop();
virtual void HitBottom();
#ifdef HOOK_GAMEDLL
void Spawn_();
int Save_(CSave &save);
int Restore_(CRestore &restore);
void GoUp_();
void GoDown_();
void HitTop_();
void HitBottom_();
#endif
public:
void SetupRotation();
void RotMove(Vector &destAngle, float time);
@ -173,21 +134,6 @@ public:
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
virtual void Blocked(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void Restart_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Activate_();
void OverrideReset_();
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
void Blocked_(CBaseEntity *pOther);
#endif
public:
void EXPORT Wait();
void EXPORT Next();
@ -208,12 +154,6 @@ public:
virtual void Spawn();
virtual int ObjectCaps() { return CBaseEntity::ObjectCaps() & ~FCAP_ACROSS_TRANSITION; }
#ifdef HOOK_GAMEDLL
void Spawn_();
#endif
public:
void EXPORT Find();
};
@ -238,25 +178,6 @@ public:
virtual void HitBottom();
virtual void UpdateAutoTargets(int toggleState);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void OverrideReset_();
void Touch_(CBaseEntity *pOther);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
BOOL IsTogglePlat_();
void GoUp_();
void GoDown_();
void HitBottom_();
void HitTop_();
void UpdateAutoTargets_(int toggleState);
#endif
public:
void EXPORT Find();
TRAIN_CODE EvaluateTrain(CPathTrack *pcurrent);
@ -288,14 +209,6 @@ class CFuncTrackAuto: public CFuncTrackChange
public:
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
virtual void UpdateAutoTargets(int toggleState);
#ifdef HOOK_GAMEDLL
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
void UpdateAutoTargets_(int toggleState);
#endif
};
class CGunTarget: public CBaseMonster
@ -312,17 +225,6 @@ public:
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
virtual Vector BodyTarget(const Vector &posSrc) { return pev->origin; }
#ifdef HOOK_GAMEDLL
void Spawn_();
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Activate_();
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT Next();
void EXPORT Start();

View File

@ -724,12 +724,12 @@ LINK_HOOK_CLASS_CHAIN(BOOL, CBasePlayer, TakeHealth, (float flHealth, int bitsDa
// override takehealth
// bitsDamageType indicates type of damage healed.
BOOL EXT_FUNC CBasePlayer::__API_VHOOK(TakeHealth)(float flHealth, int bitsDamageType)
BOOL EXT_FUNC CBasePlayer::__API_HOOK(TakeHealth)(float flHealth, int bitsDamageType)
{
return CBaseMonster::TakeHealth(flHealth, bitsDamageType);
}
Vector CBasePlayer::__MAKE_VHOOK(GetGunPosition)()
Vector CBasePlayer::GetGunPosition()
{
return pev->origin + pev->view_ofs;
}
@ -750,7 +750,7 @@ bool CBasePlayer::IsHittingShield(Vector &vecDirection, TraceResult *ptr)
LINK_HOOK_CLASS_VOID_CHAIN(CBasePlayer, TraceAttack, (entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType), pevAttacker, flDamage, vecDir, ptr, bitsDamageType)
void EXT_FUNC CBasePlayer::__API_VHOOK(TraceAttack)(entvars_t *pevAttacker, float flDamage, VectorRef vecDir, TraceResult *ptr, int bitsDamageType)
void EXT_FUNC CBasePlayer::__API_HOOK(TraceAttack)(entvars_t *pevAttacker, float flDamage, VectorRef vecDir, TraceResult *ptr, int bitsDamageType)
{
bool bShouldBleed = true;
bool bShouldSpark = false;
@ -981,7 +981,7 @@ LINK_HOOK_CLASS_CHAIN(BOOL, CBasePlayer, TakeDamage, (entvars_t *pevInflictor, e
// NOTE: each call to TakeDamage with bitsDamageType set to a time-based damage
// type will cause the damage time countdown to be reset. Thus the ongoing effects of poison, radiation
// etc are implemented with subsequent calls to TakeDamage using DMG_GENERIC.
BOOL EXT_FUNC CBasePlayer::__API_VHOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, FloatRef flDamage, int bitsDamageType)
BOOL EXT_FUNC CBasePlayer::__API_HOOK(TakeDamage)(entvars_t *pevInflictor, entvars_t *pevAttacker, FloatRef flDamage, int bitsDamageType)
{
BOOL bTookDamage;
float flRatio = ARMOR_RATIO;
@ -2010,7 +2010,7 @@ void CBasePlayer::SendFOV(int fov)
LINK_HOOK_CLASS_VOID_CHAIN(CBasePlayer, Killed, (entvars_t *pevAttacker, int iGib), pevAttacker, iGib)
void EXT_FUNC CBasePlayer::__API_VHOOK(Killed)(entvars_t *pevAttacker, int iGib)
void EXT_FUNC CBasePlayer::__API_HOOK(Killed)(entvars_t *pevAttacker, int iGib)
{
m_canSwitchObserverModes = false;
@ -3047,7 +3047,7 @@ NOXREF void CBasePlayer::ThrowWeapon(char *pszItemName)
LINK_ENTITY_TO_CLASS(weapon_shield, CWShield, CCSShield)
void CWShield::__MAKE_VHOOK(Spawn)()
void CWShield::Spawn()
{
pev->movetype = MOVETYPE_TOSS;
pev->solid = SOLID_TRIGGER;
@ -3056,7 +3056,7 @@ void CWShield::__MAKE_VHOOK(Spawn)()
SET_MODEL(ENT(pev), "models/w_shield.mdl");
}
void CWShield::__MAKE_VHOOK(Touch)(CBaseEntity *pOther)
void CWShield::Touch(CBaseEntity *pOther)
{
if (!pOther->IsPlayer())
return;
@ -3697,7 +3697,7 @@ void CBasePlayer::PlayerDeathThink()
LINK_HOOK_CLASS_VOID_CHAIN2(CBasePlayer, RoundRespawn)
void EXT_FUNC CBasePlayer::__API_VHOOK(RoundRespawn)()
void EXT_FUNC CBasePlayer::__API_HOOK(RoundRespawn)()
{
m_canSwitchObserverModes = true;
@ -4049,7 +4049,7 @@ void CBasePlayer::HostageUsed()
LINK_HOOK_CLASS_VOID_CHAIN2(CBasePlayer, Jump)
void EXT_FUNC CBasePlayer::__API_VHOOK(Jump)()
void EXT_FUNC CBasePlayer::__API_HOOK(Jump)()
{
if (pev->flags & FL_WATERJUMP)
return;
@ -4121,7 +4121,7 @@ NOXREF void FixPlayerCrouchStuck(edict_t *pPlayer)
LINK_HOOK_CLASS_VOID_CHAIN2(CBasePlayer, Duck)
void EXT_FUNC CBasePlayer::__API_VHOOK(Duck)()
void EXT_FUNC CBasePlayer::__API_HOOK(Duck)()
{
if (pev->button & IN_DUCK)
SetAnimation(PLAYER_WALK);
@ -4129,7 +4129,7 @@ void EXT_FUNC CBasePlayer::__API_VHOOK(Duck)()
LINK_HOOK_CLASS_CHAIN2(int, CBasePlayer, ObjectCaps)
int EXT_FUNC CBasePlayer::__API_VHOOK(ObjectCaps)()
int EXT_FUNC CBasePlayer::__API_HOOK(ObjectCaps)()
{
return (CBaseMonster::ObjectCaps() & ~FCAP_ACROSS_TRANSITION);
}
@ -4137,14 +4137,14 @@ int EXT_FUNC CBasePlayer::__API_VHOOK(ObjectCaps)()
LINK_HOOK_CLASS_CHAIN2(int, CBasePlayer, Classify)
// ID's player as such.
int EXT_FUNC CBasePlayer::__API_VHOOK(Classify)()
int EXT_FUNC CBasePlayer::__API_HOOK(Classify)()
{
return CLASS_PLAYER;
}
LINK_HOOK_CLASS_VOID_CHAIN(CBasePlayer, AddPoints, (int score, BOOL bAllowNegativeScore), score, bAllowNegativeScore)
void EXT_FUNC CBasePlayer::__API_VHOOK(AddPoints)(int score, BOOL bAllowNegativeScore)
void EXT_FUNC CBasePlayer::__API_HOOK(AddPoints)(int score, BOOL bAllowNegativeScore)
{
// Positive score always adds
if (score < 0 && !bAllowNegativeScore)
@ -4177,7 +4177,7 @@ void EXT_FUNC CBasePlayer::__API_VHOOK(AddPoints)(int score, BOOL bAllowNegative
LINK_HOOK_CLASS_VOID_CHAIN(CBasePlayer, AddPointsToTeam, (int score, BOOL bAllowNegativeScore), score, bAllowNegativeScore)
void EXT_FUNC CBasePlayer::__API_VHOOK(AddPointsToTeam)(int score, BOOL bAllowNegativeScore)
void EXT_FUNC CBasePlayer::__API_HOOK(AddPointsToTeam)(int score, BOOL bAllowNegativeScore)
{
int index = entindex();
for (int i = 1; i <= gpGlobals->maxClients; ++i)
@ -4270,7 +4270,7 @@ bool CBasePlayer::CanPlayerBuy(bool display)
LINK_HOOK_CLASS_VOID_CHAIN2(CBasePlayer, PreThink)
void EXT_FUNC CBasePlayer::__API_VHOOK(PreThink)()
void EXT_FUNC CBasePlayer::__API_HOOK(PreThink)()
{
// These buttons have changed this frame
int buttonsChanged = (m_afButtonLast ^ pev->button);
@ -4851,7 +4851,7 @@ void CBasePlayer::UpdatePlayerSound()
LINK_HOOK_CLASS_VOID_CHAIN2(CBasePlayer, PostThink)
void EXT_FUNC CBasePlayer::__API_VHOOK(PostThink)()
void EXT_FUNC CBasePlayer::__API_HOOK(PostThink)()
{
// intermission or finale
if (g_pGameRules->IsGameOver())
@ -5208,7 +5208,7 @@ void CBasePlayer::SetScoreAttrib(CBasePlayer *dest)
LINK_HOOK_CLASS_VOID_CHAIN2(CBasePlayer, Spawn)
void EXT_FUNC CBasePlayer::__API_VHOOK(Spawn)()
void EXT_FUNC CBasePlayer::__API_HOOK(Spawn)()
{
int i;
@ -5565,7 +5565,7 @@ void EXT_FUNC CBasePlayer::__API_VHOOK(Spawn)()
LINK_HOOK_CLASS_VOID_CHAIN2(CBasePlayer, Precache)
void EXT_FUNC CBasePlayer::__API_VHOOK(Precache)()
void EXT_FUNC CBasePlayer::__API_HOOK(Precache)()
{
#ifndef REGAMEDLL_FIXES
// in the event that the player JUST spawned, and the level node graph
@ -5607,7 +5607,7 @@ void EXT_FUNC CBasePlayer::__API_VHOOK(Precache)()
m_fInitHUD = TRUE;
}
int CBasePlayer::__MAKE_VHOOK(Save)(CSave &save)
int CBasePlayer::Save(CSave &save)
{
if (!CBaseMonster::Save(save))
return 0;
@ -5638,7 +5638,7 @@ NOXREF void CBasePlayer::RenewItems()
;
}
int CBasePlayer::__MAKE_VHOOK(Restore)(CRestore &restore)
int CBasePlayer::Restore(CRestore &restore)
{
if (!CBaseMonster::Restore(restore))
return 0;
@ -5866,7 +5866,7 @@ NOXREF void CBasePlayer::SelectPrevItem(int iItem)
;
}
const char *CBasePlayer::__MAKE_VHOOK(TeamID)()
const char *CBasePlayer::TeamID()
{
// Not fully connected yet
if (!pev)
@ -5891,7 +5891,7 @@ void CSprayCan::Spawn(entvars_t *pevOwner)
EMIT_SOUND(ENT(pev), CHAN_VOICE, "player/sprayer.wav", VOL_NORM, ATTN_NORM);
}
void CSprayCan::__MAKE_VHOOK(Think)()
void CSprayCan::Think()
{
TraceResult tr;
int playernum;
@ -6082,7 +6082,7 @@ void CBasePlayer::ForceClientDllUpdate()
LINK_HOOK_CLASS_VOID_CHAIN2(CBasePlayer, ImpulseCommands)
void EXT_FUNC CBasePlayer::__API_VHOOK(ImpulseCommands)()
void EXT_FUNC CBasePlayer::__API_HOOK(ImpulseCommands)()
{
TraceResult tr;
@ -6395,11 +6395,11 @@ void CBasePlayer::HandleSignals()
{
if (CSGameRules()->IsMultiplayer())
{
#ifdef REGAMEDLL_ADD
if (buytime.value != 0.0f)
#endif
{
{
if (!CSGameRules()->m_bMapHasBuyZone)
OLD_CheckBuyZone(this);
}
@ -6456,7 +6456,7 @@ void CBasePlayer::HandleSignals()
LINK_HOOK_CLASS_CHAIN(BOOL, CBasePlayer, AddPlayerItem, (CBasePlayerItem *pItem), pItem)
// Add a weapon to the player (Item == Weapon == Selectable Object)
BOOL EXT_FUNC CBasePlayer::__API_VHOOK(AddPlayerItem)(CBasePlayerItem *pItem)
BOOL EXT_FUNC CBasePlayer::__API_HOOK(AddPlayerItem)(CBasePlayerItem *pItem)
{
CBasePlayerItem *pInsert = m_rgpPlayerItems[ pItem->iItemSlot() ];
while (pInsert)
@ -6523,7 +6523,7 @@ BOOL EXT_FUNC CBasePlayer::__API_VHOOK(AddPlayerItem)(CBasePlayerItem *pItem)
LINK_HOOK_CLASS_CHAIN(BOOL, CBasePlayer, RemovePlayerItem, (CBasePlayerItem *pItem), pItem)
BOOL EXT_FUNC CBasePlayer::__API_VHOOK(RemovePlayerItem)(CBasePlayerItem *pItem)
BOOL EXT_FUNC CBasePlayer::__API_HOOK(RemovePlayerItem)(CBasePlayerItem *pItem)
{
if (m_pActiveItem == pItem)
{
@ -6561,7 +6561,7 @@ BOOL EXT_FUNC CBasePlayer::__API_VHOOK(RemovePlayerItem)(CBasePlayerItem *pItem)
LINK_HOOK_CLASS_CHAIN(int, CBasePlayer, GiveAmmo, (int iCount, char *szName, int iMax), iCount, szName, iMax)
// Returns the unique ID for the ammo, or -1 if error
int EXT_FUNC CBasePlayer::__API_VHOOK(GiveAmmo)(int iCount, char *szName, int iMax)
int EXT_FUNC CBasePlayer::__API_HOOK(GiveAmmo)(int iCount, char *szName, int iMax)
{
if (pev->flags & FL_SPECTATOR)
return -1;
@ -6781,7 +6781,7 @@ LINK_HOOK_CLASS_VOID_CHAIN2(CBasePlayer, UpdateClientData)
// Also called at start of demo recording and playback by
// ForceClientDllUpdate to ensure the demo gets messages
// reflecting all of the HUD state info.
void EXT_FUNC CBasePlayer::__API_VHOOK(UpdateClientData)()
void EXT_FUNC CBasePlayer::__API_HOOK(UpdateClientData)()
{
if (m_fInitHUD)
{
@ -7138,7 +7138,7 @@ void EXT_FUNC CBasePlayer::__API_VHOOK(UpdateClientData)()
}
}
BOOL CBasePlayer::__MAKE_VHOOK(FBecomeProne)()
BOOL CBasePlayer::FBecomeProne()
{
m_afPhysicsFlags |= PFLAG_ONBARNACLE;
return TRUE;
@ -7155,7 +7155,7 @@ NOXREF void CBasePlayer::BarnacleVictimReleased()
}
// return player light level plus virtual muzzle flash
int CBasePlayer::__MAKE_VHOOK(Illumination)()
int CBasePlayer::Illumination()
{
int iIllum = CBaseEntity::Illumination();
@ -7177,7 +7177,7 @@ void CBasePlayer::EnableControl(BOOL fControl)
LINK_HOOK_CLASS_VOID_CHAIN2(CBasePlayer, ResetMaxSpeed)
void EXT_FUNC CBasePlayer::__API_VHOOK(ResetMaxSpeed)()
void EXT_FUNC CBasePlayer::__API_HOOK(ResetMaxSpeed)()
{
float speed;
@ -7221,7 +7221,7 @@ bool CBasePlayer::HintMessage(const char *pMessage, BOOL bDisplayIfPlayerDead, B
return true;
}
Vector CBasePlayer::__MAKE_VHOOK(GetAutoaimVector)(float flDelta)
Vector CBasePlayer::GetAutoaimVector(float flDelta)
{
Vector vecSrc;
BOOL m_fOldTargeting;
@ -7320,7 +7320,7 @@ int CBasePlayer::GetCustomDecalFrames()
LINK_HOOK_CLASS_VOID_CHAIN(CBasePlayer, Blind, (float duration, float holdTime, float fadeTime, int alpha), duration, holdTime, fadeTime, alpha)
void EXT_FUNC CBasePlayer::__API_VHOOK(Blind)(float duration, float holdTime, float fadeTime, int alpha)
void EXT_FUNC CBasePlayer::__API_HOOK(Blind)(float duration, float holdTime, float fadeTime, int alpha)
{
m_blindUntilTime = gpGlobals->time + duration;
m_blindStartTime = gpGlobals->time;
@ -7873,12 +7873,12 @@ void CBasePlayer::TabulateAmmo()
ammo_357sig = AmmoInventory(GetAmmoIndex("357SIG"));
}
int CDeadHEV::__MAKE_VHOOK(Classify)()
int CDeadHEV::Classify()
{
return CLASS_HUMAN_MILITARY;
}
void CDeadHEV::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CDeadHEV::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "pose"))
{
@ -7891,7 +7891,7 @@ void CDeadHEV::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
LINK_ENTITY_TO_CLASS(monster_hevsuit_dead, CDeadHEV, CCSDeadHEV)
void CDeadHEV::__MAKE_VHOOK(Spawn)()
void CDeadHEV::Spawn()
{
PRECACHE_MODEL("models/player.mdl");
SET_MODEL(ENT(pev), "models/player.mdl");
@ -7919,7 +7919,7 @@ void CDeadHEV::__MAKE_VHOOK(Spawn)()
LINK_ENTITY_TO_CLASS(player_weaponstrip, CStripWeapons, CCSStripWeapons)
void CStripWeapons::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CStripWeapons::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
CBasePlayer *pPlayer = NULL;
@ -7941,7 +7941,7 @@ void CStripWeapons::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCal
LINK_ENTITY_TO_CLASS(player_loadsaved, CRevertSaved, CCSRevertSaved)
IMPLEMENT_SAVERESTORE(CRevertSaved, CPointEntity)
void CRevertSaved::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CRevertSaved::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "duration"))
{
@ -7967,7 +7967,7 @@ void CRevertSaved::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
CPointEntity::KeyValue(pkvd);
}
void CRevertSaved::__MAKE_VHOOK(Use)(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
void CRevertSaved::Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value)
{
UTIL_ScreenFadeAll(pev->rendercolor, Duration(), HoldTime(), int(pev->renderamt), FFADE_OUT);
pev->nextthink = gpGlobals->time + MessageTime();
@ -7994,7 +7994,7 @@ void CRevertSaved::LoadThink()
SERVER_COMMAND("reload\n");
}
void CInfoIntermission::__MAKE_VHOOK(Spawn)()
void CInfoIntermission::Spawn()
{
UTIL_SetOrigin(pev, pev->origin);
@ -8004,7 +8004,7 @@ void CInfoIntermission::__MAKE_VHOOK(Spawn)()
pev->nextthink = gpGlobals->time + 2.0f; // let targets spawn!
}
void CInfoIntermission::__MAKE_VHOOK(Think)()
void CInfoIntermission::Think()
{
// find my target
edict_t *pTarget = FIND_ENTITY_BY_TARGETNAME(NULL, STRING(pev->target));

View File

@ -284,13 +284,6 @@ class CCSPlayer;
class CStripWeapons: public CPointEntity {
public:
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
};
// Multiplayer intermission spots.
@ -298,14 +291,6 @@ class CInfoIntermission: public CPointEntity {
public:
virtual void Spawn();
virtual void Think();
#ifdef HOOK_GAMEDLL
void Spawn_();
void Think_();
#endif
};
// Dead HEV suit prop
@ -315,14 +300,6 @@ public:
virtual void KeyValue(KeyValueData *pkvd);
virtual int Classify();
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
int Classify_();
#endif
public:
int m_iPose; // which sequence to display -- temporary, don't need to save
static char *m_szPoses[4];
@ -333,12 +310,6 @@ public:
virtual void Think();
virtual int ObjectCaps() { return FCAP_DONT_SAVE; }
#ifdef HOOK_GAMEDLL
void Think_();
#endif
public:
void Spawn(entvars_t *pevOwner);
};
@ -397,37 +368,50 @@ public:
virtual void Blind(float flUntilTime, float flHoldTime, float flFadeTime, int iAlpha);
virtual void OnTouchingWeapon(CWeaponBox *pWeapon) { }
#if defined(REGAMEDLL_API) || defined(HOOK_GAMEDLL)
void Spawn_();
void Precache_();
int ObjectCaps_();
int Classify_();
int Save_(CSave &save);
int Restore_(CRestore &restore);
void TraceAttack_(entvars_t *pevAttacker, float flDamage, VectorRef vecDir, TraceResult *ptr, int bitsDamageType);
BOOL TakeDamage_(entvars_t *pevInflictor, entvars_t *pevAttacker, FloatRef flDamage, int bitsDamageType);
BOOL TakeHealth_(float flHealth, int bitsDamageType);
void Killed_(entvars_t *pevAttacker, int iGib);
void AddPoints_(int score, BOOL bAllowNegativeScore);
void AddPointsToTeam_(int score, BOOL bAllowNegativeScore);
BOOL AddPlayerItem_(CBasePlayerItem *pItem);
BOOL RemovePlayerItem_(CBasePlayerItem *pItem);
int GiveAmmo_(int iAmount, char *szName, int iMax);
void ResetMaxSpeed_();
void Jump_();
void Duck_();
void PreThink_();
void PostThink_();
void UpdateClientData_();
void ImpulseCommands_();
void RoundRespawn_();
void Blind_(float flUntilTime, float flHoldTime, float flFadeTime, int iAlpha);
const char *TeamID_();
BOOL FBecomeProne_();
int Illumination_();
Vector GetGunPosition_();
Vector GetAutoaimVector_(float flDelta);
#endif
#ifdef REGAMEDLL_API
void Spawn_OrigFunc();
void Precache_OrigFunc();
int ObjectCaps_OrigFunc();
int Classify_OrigFunc();
void TraceAttack_OrigFunc(entvars_t *pevAttacker, float flDamage, VectorRef vecDir, TraceResult *ptr, int bitsDamageType);
BOOL TakeDamage_OrigFunc(entvars_t *pevInflictor, entvars_t *pevAttacker, FloatRef flDamage, int bitsDamageType);
BOOL TakeHealth_OrigFunc(float flHealth, int bitsDamageType);
void Killed_OrigFunc(entvars_t *pevAttacker, int iGib);
void AddPoints_OrigFunc(int score, BOOL bAllowNegativeScore);
void AddPointsToTeam_OrigFunc(int score, BOOL bAllowNegativeScore);
BOOL AddPlayerItem_OrigFunc(CBasePlayerItem *pItem);
BOOL RemovePlayerItem_OrigFunc(CBasePlayerItem *pItem);
int GiveAmmo_OrigFunc(int iAmount, char *szName, int iMax);
void ResetMaxSpeed_OrigFunc();
void Jump_OrigFunc();
void Duck_OrigFunc();
void PreThink_OrigFunc();
void PostThink_OrigFunc();
void UpdateClientData_OrigFunc();
void ImpulseCommands_OrigFunc();
void RoundRespawn_OrigFunc();
void Blind_OrigFunc(float flUntilTime, float flHoldTime, float flFadeTime, int iAlpha);
CBasePlayer *Observer_IsValidTarget_OrigFunc(int iPlayerIndex, bool bSameTeam);
void Radio_OrigFunc(const char *msg_id, const char *msg_verbose = NULL, short pitch = 100, bool showIcon = true);
void AddAccount_OrigFunc(int amount, RewardType type = RT_NONE, bool bTrackChange = true);
void Disappear_OrigFunc();
void MakeVIP_OrigFunc();
void GiveDefaultItems_OrigFunc();
bool SetClientUserInfoName_OrigFunc(char *infobuffer, char *szNewName);
void SetAnimation_OrigFunc(PLAYER_ANIM playerAnim);
void StartObserver_OrigFunc(Vector &vecPosition, Vector &vecViewAngle);
void DropPlayerItem_OrigFunc(const char *pszItemName);
CBaseEntity *GiveNamedItem_OrigFunc(const char *pszName);
void DropShield_OrigFunc(bool bDeploy = true);
void GiveShield_OrigFunc(bool bDeploy = true);
bool HasRestrictItem_OrigFunc(ItemID item, ItemRestType type);
void OnSpawnEquip_OrigFunc(bool addDefault = true, bool equipGame = true);
bool MakeBomber_OrigFunc();
bool GetIntoGame_OrigFunc();
void StartDeathCam_OrigFunc();
CCSPlayer *CSPlayer() const;
#endif // REGAMEDLL_API
public:
static CBasePlayer *Instance(edict_t *pent) { return (CBasePlayer *)GET_PRIVATE(pent ? pent : ENT(0)); }
@ -437,8 +421,6 @@ public:
void SpawnClientSideCorpse();
void Observer_FindNextPlayer(bool bReverse, const char *name = NULL);
CBasePlayer *Observer_IsValidTarget(int iPlayerIndex, bool bSameTeam);
CBasePlayer *Observer_IsValidTarget_(int iPlayerIndex, bool bSameTeam);
void Disconnect();
void Observer_Think();
void Observer_HandleButtons();
@ -448,17 +430,13 @@ public:
int IsObserver() { return pev->iuser1; }
void PlantC4();
void Radio(const char *msg_id, const char *msg_verbose = NULL, short pitch = 100, bool showIcon = true);
void Radio_(const char *msg_id, const char *msg_verbose = NULL, short pitch = 100, bool showIcon = true);
CBasePlayer *GetNextRadioRecipient(CBasePlayer *pStartPlayer);
void SmartRadio();
void ThrowWeapon(char *pszItemName);
void ThrowPrimary();
void AddAccount(int amount, RewardType type = RT_NONE, bool bTrackChange = true);
void AddAccount_(int amount, RewardType type = RT_NONE, bool bTrackChange = true);
void Disappear();
void Disappear_();
void MakeVIP();
void MakeVIP_();
bool CanPlayerBuy(bool display = false);
void SwitchTeam();
void TabulateAmmo();
@ -470,14 +448,12 @@ public:
void RenewItems();
void PackDeadPlayerItems();
void GiveDefaultItems();
void GiveDefaultItems_();
void RemoveAllItems(BOOL removeSuit);
void SetBombIcon(BOOL bFlash = FALSE);
void SetProgressBarTime(int time);
void SetProgressBarTime2(int time, float timeElapsed);
void SetPlayerModel(BOOL HasC4);
bool SetClientUserInfoName(char *infobuffer, char *szNewName);
bool SetClientUserInfoName_(char *infobuffer, char *szNewName);
void SetClientUserInfoModel(char *infobuffer, char *szNewModel);
void SetClientUserInfoModel_api(char *infobuffer, char *szNewModel);
void SetNewPlayerModel(const char *modelName);
@ -501,16 +477,12 @@ public:
void UpdatePlayerSound();
void DeathSound();
void SetAnimation(PLAYER_ANIM playerAnim);
void SetAnimation_(PLAYER_ANIM playerAnim);
void SetWeaponAnimType(const char *szExtention) { Q_strcpy(m_szAnimExtention, szExtention); }
void CheatImpulseCommands(int iImpulse);
void StartDeathCam();
void StartDeathCam_();
void StartObserver(Vector &vecPosition, Vector &vecViewAngle);
void StartObserver_(Vector &vecPosition, Vector &vecViewAngle);
void HandleSignals();
void DropPlayerItem(const char *pszItemName);
void DropPlayerItem_(const char *pszItemName);
bool HasPlayerItem(CBasePlayerItem *pCheckItem);
bool HasNamedPlayerItem(const char *pszItemName);
bool HasWeapons();
@ -521,7 +493,6 @@ public:
void ItemPreFrame();
void ItemPostFrame();
CBaseEntity *GiveNamedItem(const char *pszName);
CBaseEntity *GiveNamedItem_(const char *pszName);
CBaseEntity *GiveNamedItemEx(const char *pszName);
void EnableControl(BOOL fControl);
bool HintMessage(const char *pMessage, BOOL bDisplayIfPlayerDead = FALSE, BOOL bOverride = FALSE);
@ -570,9 +541,7 @@ public:
bool IsProtectedByShield() { return HasShield() && m_bShieldDrawn; }
void RemoveShield();
void DropShield(bool bDeploy = true);
void DropShield_(bool bDeploy = true);
void GiveShield(bool bDeploy = true);
void GiveShield_(bool bDeploy = true);
bool IsHittingShield(Vector &vecDirection, TraceResult *ptr);
bool SelectSpawnSpot(const char *pEntClassName, CBaseEntity* &pSpot);
bool IsReloading() const;
@ -616,28 +585,17 @@ public:
void ReloadWeapons(CBasePlayerItem *pWeapon = nullptr, bool bForceReload = false, bool bForceRefill = false);
void TeamChangeUpdate();
bool HasRestrictItem(ItemID item, ItemRestType type);
bool HasRestrictItem_(ItemID item, ItemRestType type);
void DropSecondary();
void DropPrimary();
void OnSpawnEquip(bool addDefault = true, bool equipGame = true);
void OnSpawnEquip_(bool addDefault = true, bool equipGame = true);
void RemoveBomb();
void HideTimer();
bool MakeBomber();
bool MakeBomber_();
bool GetIntoGame();
bool GetIntoGame_();
CBasePlayerItem *GetItemByName(const char *itemName);
CBasePlayerItem *GetItemById(WeaponIdType weaponID);
#ifdef REGAMEDLL_API
CCSPlayer *CSPlayer() const;
#endif
// templates
template<typename Functor>
CBasePlayerItem *ForEachItem(int slot, const Functor &func)
@ -871,13 +829,6 @@ public:
virtual void Spawn();
virtual void EXPORT Touch(CBaseEntity *pOther);
#ifdef HOOK_GAMEDLL
void Spawn_();
void Touch_(CBaseEntity *pOther);
#endif
public:
void SetCantBePickedUpByUser(CBaseEntity *pEntity, float time)
{

View File

@ -40,15 +40,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#ifdef HOOK_GAMEDLL
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Use_(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
#endif
public:
void EXPORT MessageThink();
void EXPORT LoadThink();

View File

@ -42,16 +42,16 @@
#define IMPL_CLASS(baseClass,var)\
baseClass::var
#endif
#endif // HOOK_GAMEDLL
#define IMPLEMENT_SAVERESTORE(derivedClass, baseClass)\
int derivedClass::__MAKE_VHOOK(Save)(CSave &save)\
int derivedClass::Save(CSave &save)\
{\
if (!baseClass::Save(save))\
return 0;\
return save.WriteFields(#derivedClass, this, IMPL(m_SaveData), ARRAYSIZE(IMPL(m_SaveData)));\
}\
int derivedClass::__MAKE_VHOOK(Restore)(CRestore &restore)\
int derivedClass::Restore(CRestore &restore)\
{\
if (!baseClass::Restore(restore))\
return 0;\
@ -126,12 +126,8 @@ public:
void WriteFunction(const char *pname, void **data, int count);
int WriteEntVars(const char *pname, entvars_t *pev);
int WriteFields(const char *pname, void *pBaseData, TYPEDESCRIPTION *pFields, int fieldCount);
private:
#ifdef HOOK_GAMEDLL
public:
#endif
int DataEmpty(const char *pdata, int size);
void BufferField(const char *pname, int size, const char *pdata);
void BufferString(char *pdata, int len);

View File

@ -6,27 +6,27 @@ CHalfLifeRules::CHalfLifeRules()
RefreshSkillData();
}
void CHalfLifeRules::__MAKE_VHOOK(Think)()
void CHalfLifeRules::Think()
{
;
}
BOOL CHalfLifeRules::__MAKE_VHOOK(IsMultiplayer)()
BOOL CHalfLifeRules::IsMultiplayer()
{
return FALSE;
}
BOOL CHalfLifeRules::__MAKE_VHOOK(IsDeathmatch)()
BOOL CHalfLifeRules::IsDeathmatch()
{
return FALSE;
}
BOOL CHalfLifeRules::__MAKE_VHOOK(IsCoOp)()
BOOL CHalfLifeRules::IsCoOp()
{
return FALSE;
}
BOOL CHalfLifeRules::__MAKE_VHOOK(FShouldSwitchWeapon)(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
BOOL CHalfLifeRules::FShouldSwitchWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
{
if (!pPlayer->m_pActiveItem)
{
@ -42,27 +42,27 @@ BOOL CHalfLifeRules::__MAKE_VHOOK(FShouldSwitchWeapon)(CBasePlayer *pPlayer, CBa
return TRUE;
}
BOOL CHalfLifeRules::__MAKE_VHOOK(GetNextBestWeapon)(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon)
BOOL CHalfLifeRules::GetNextBestWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pCurrentWeapon)
{
return FALSE;
}
BOOL CHalfLifeRules::__MAKE_VHOOK(ClientConnected)(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason)
BOOL CHalfLifeRules::ClientConnected(edict_t *pEntity, const char *pszName, const char *pszAddress, char *szRejectReason)
{
return TRUE;
}
void CHalfLifeRules::__MAKE_VHOOK(InitHUD)(CBasePlayer *pl)
void CHalfLifeRules::InitHUD(CBasePlayer *pl)
{
;
}
void CHalfLifeRules::__MAKE_VHOOK(ClientDisconnected)(edict_t *pClient)
void CHalfLifeRules::ClientDisconnected(edict_t *pClient)
{
;
}
float CHalfLifeRules::__MAKE_VHOOK(FlPlayerFallDamage)(CBasePlayer *pPlayer)
float CHalfLifeRules::FlPlayerFallDamage(CBasePlayer *pPlayer)
{
// subtract off the speed at which a player is allowed to fall without being hurt,
// so damage will be based on speed beyond that, not the entire fall
@ -70,7 +70,7 @@ float CHalfLifeRules::__MAKE_VHOOK(FlPlayerFallDamage)(CBasePlayer *pPlayer)
return pPlayer->m_flFallVelocity * DAMAGE_FOR_FALL_SPEED;
}
void CHalfLifeRules::__MAKE_VHOOK(PlayerSpawn)(CBasePlayer *pPlayer)
void CHalfLifeRules::PlayerSpawn(CBasePlayer *pPlayer)
{
pPlayer->pev->weapons |= (1 << WEAPON_SUIT);
@ -83,62 +83,62 @@ void CHalfLifeRules::__MAKE_VHOOK(PlayerSpawn)(CBasePlayer *pPlayer)
pPlayer->GiveAmmo(24, "45acp");
}
BOOL CHalfLifeRules::__MAKE_VHOOK(AllowAutoTargetCrosshair)()
BOOL CHalfLifeRules::AllowAutoTargetCrosshair()
{
return (g_iSkillLevel == SKILL_EASY);
}
void CHalfLifeRules::__MAKE_VHOOK(PlayerThink)(CBasePlayer *pPlayer)
void CHalfLifeRules::PlayerThink(CBasePlayer *pPlayer)
{
;
}
BOOL CHalfLifeRules::__MAKE_VHOOK(FPlayerCanRespawn)(CBasePlayer *pPlayer)
BOOL CHalfLifeRules::FPlayerCanRespawn(CBasePlayer *pPlayer)
{
return TRUE;
}
float CHalfLifeRules::__MAKE_VHOOK(FlPlayerSpawnTime)(CBasePlayer *pPlayer)
float CHalfLifeRules::FlPlayerSpawnTime(CBasePlayer *pPlayer)
{
return gpGlobals->time;
}
int CHalfLifeRules::__MAKE_VHOOK(IPointsForKill)(CBasePlayer *pAttacker, CBasePlayer *pKilled)
int CHalfLifeRules::IPointsForKill(CBasePlayer *pAttacker, CBasePlayer *pKilled)
{
return 1;
}
void CHalfLifeRules::__MAKE_VHOOK(PlayerKilled)(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
void CHalfLifeRules::PlayerKilled(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
{
;
}
void CHalfLifeRules::__MAKE_VHOOK(DeathNotice)(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
void CHalfLifeRules::DeathNotice(CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor)
{
;
}
void CHalfLifeRules::__MAKE_VHOOK(PlayerGotWeapon)(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
void CHalfLifeRules::PlayerGotWeapon(CBasePlayer *pPlayer, CBasePlayerItem *pWeapon)
{
;
}
float CHalfLifeRules::__MAKE_VHOOK(FlWeaponRespawnTime)(CBasePlayerItem *pWeapon)
float CHalfLifeRules::FlWeaponRespawnTime(CBasePlayerItem *pWeapon)
{
return -1;
}
float CHalfLifeRules::__MAKE_VHOOK(FlWeaponTryRespawn)(CBasePlayerItem *pWeapon)
float CHalfLifeRules::FlWeaponTryRespawn(CBasePlayerItem *pWeapon)
{
return 0;
}
Vector CHalfLifeRules::__MAKE_VHOOK(VecWeaponRespawnSpot)(CBasePlayerItem *pWeapon)
Vector CHalfLifeRules::VecWeaponRespawnSpot(CBasePlayerItem *pWeapon)
{
return pWeapon->pev->origin;
}
edict_t *CHalfLifeRules::__MAKE_VHOOK(GetPlayerSpawnSpot)(CBasePlayer *pPlayer)
edict_t *CHalfLifeRules::GetPlayerSpawnSpot(CBasePlayer *pPlayer)
{
CBaseEntity *pSpot = UTIL_FindEntityByClassname(NULL, "info_player_start");
@ -158,83 +158,83 @@ edict_t *CHalfLifeRules::__MAKE_VHOOK(GetPlayerSpawnSpot)(CBasePlayer *pPlayer)
return pSpot->edict();
}
int CHalfLifeRules::__MAKE_VHOOK(WeaponShouldRespawn)(CBasePlayerItem *pWeapon)
int CHalfLifeRules::WeaponShouldRespawn(CBasePlayerItem *pWeapon)
{
return GR_WEAPON_RESPAWN_NO;
}
BOOL CHalfLifeRules::__MAKE_VHOOK(CanHaveItem)(CBasePlayer *pPlayer, CItem *pItem)
BOOL CHalfLifeRules::CanHaveItem(CBasePlayer *pPlayer, CItem *pItem)
{
return TRUE;
}
void CHalfLifeRules::__MAKE_VHOOK(PlayerGotItem)(CBasePlayer *pPlayer, CItem *pItem)
void CHalfLifeRules::PlayerGotItem(CBasePlayer *pPlayer, CItem *pItem)
{
;
}
int CHalfLifeRules::__MAKE_VHOOK(ItemShouldRespawn)(CItem *pItem)
int CHalfLifeRules::ItemShouldRespawn(CItem *pItem)
{
return GR_ITEM_RESPAWN_NO;
}
float CHalfLifeRules::__MAKE_VHOOK(FlItemRespawnTime)(CItem *pItem)
float CHalfLifeRules::FlItemRespawnTime(CItem *pItem)
{
return -1;
}
Vector CHalfLifeRules::__MAKE_VHOOK(VecItemRespawnSpot)(CItem *pItem)
Vector CHalfLifeRules::VecItemRespawnSpot(CItem *pItem)
{
return pItem->pev->origin;
}
BOOL CHalfLifeRules::__MAKE_VHOOK(IsAllowedToSpawn)(CBaseEntity *pEntity)
BOOL CHalfLifeRules::IsAllowedToSpawn(CBaseEntity *pEntity)
{
return TRUE;
}
void CHalfLifeRules::__MAKE_VHOOK(PlayerGotAmmo)(CBasePlayer *pPlayer, char *szName, int iCount)
void CHalfLifeRules::PlayerGotAmmo(CBasePlayer *pPlayer, char *szName, int iCount)
{
;
}
int CHalfLifeRules::__MAKE_VHOOK(AmmoShouldRespawn)(CBasePlayerAmmo *pAmmo)
int CHalfLifeRules::AmmoShouldRespawn(CBasePlayerAmmo *pAmmo)
{
return GR_AMMO_RESPAWN_NO;
}
float CHalfLifeRules::__MAKE_VHOOK(FlAmmoRespawnTime)(CBasePlayerAmmo *pAmmo)
float CHalfLifeRules::FlAmmoRespawnTime(CBasePlayerAmmo *pAmmo)
{
return -1;
}
Vector CHalfLifeRules::__MAKE_VHOOK(VecAmmoRespawnSpot)(CBasePlayerAmmo *pAmmo)
Vector CHalfLifeRules::VecAmmoRespawnSpot(CBasePlayerAmmo *pAmmo)
{
return pAmmo->pev->origin;
}
float CHalfLifeRules::__MAKE_VHOOK(FlHealthChargerRechargeTime)()
float CHalfLifeRules::FlHealthChargerRechargeTime()
{
return 0;
}
int CHalfLifeRules::__MAKE_VHOOK(DeadPlayerWeapons)(CBasePlayer *pPlayer)
int CHalfLifeRules::DeadPlayerWeapons(CBasePlayer *pPlayer)
{
return GR_PLR_DROP_GUN_NO;
}
int CHalfLifeRules::__MAKE_VHOOK(DeadPlayerAmmo)(CBasePlayer *pPlayer)
int CHalfLifeRules::DeadPlayerAmmo(CBasePlayer *pPlayer)
{
return GR_PLR_DROP_AMMO_NO;
}
int CHalfLifeRules::__MAKE_VHOOK(PlayerRelationship)(CBasePlayer *pPlayer, CBaseEntity *pTarget)
int CHalfLifeRules::PlayerRelationship(CBasePlayer *pPlayer, CBaseEntity *pTarget)
{
// why would a single player in half life need this?
return GR_NOTTEAMMATE;
}
BOOL CHalfLifeRules::__MAKE_VHOOK(FAllowMonsters)()
BOOL CHalfLifeRules::FAllowMonsters()
{
return TRUE;
}

View File

@ -87,7 +87,7 @@ IMPLEMENT_SAVERESTORE(CAmbientGeneric, CBaseEntity)
// 200 : "Small Radius"
// 125 : "Medium Radius"
// 80 : "Large Radius"
void CAmbientGeneric::__MAKE_VHOOK(Spawn)()
void CAmbientGeneric::Spawn()
{
if (pev->spawnflags & AMBIENT_SOUND_EVERYWHERE)
{
@ -144,7 +144,7 @@ void CAmbientGeneric::__MAKE_VHOOK(Spawn)()
Precache();
}
void CAmbientGeneric::__MAKE_VHOOK(Restart)()
void CAmbientGeneric::Restart()
{
if (pev->spawnflags & AMBIENT_SOUND_EVERYWHERE)
{
@ -210,7 +210,7 @@ void CAmbientGeneric::__MAKE_VHOOK(Restart)()
}
}
void CAmbientGeneric::__MAKE_VHOOK(Precache)()
void CAmbientGeneric::Precache()
{
char *szSoundFile = (char *)STRING(pev->message);
@ -658,7 +658,7 @@ void CAmbientGeneric::ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, U
// KeyValue - load keyvalue pairs into member data of the
// ambient generic. NOTE: called BEFORE spawn!
void CAmbientGeneric::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CAmbientGeneric::KeyValue(KeyValueData *pkvd)
{
// NOTE: changing any of the modifiers in this code
// NOTE: also requires changing InitModulationParms code.
@ -857,7 +857,7 @@ void CAmbientGeneric::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
LINK_ENTITY_TO_CLASS(env_sound, CEnvSound, CCSEnvSound)
IMPLEMENT_SAVERESTORE(CEnvSound, CBaseEntity)
void CEnvSound::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CEnvSound::KeyValue(KeyValueData *pkvd)
{
if (FStrEq(pkvd->szKeyName, "radius"))
{
@ -913,7 +913,7 @@ BOOL FEnvSoundInRange(entvars_t *pev, entvars_t *pevTarget, float *pflRange)
// a new in-range, visible sound entity resets a new room_type.
//
// CONSIDER: if player in water state, autoset roomtype to 14,15 or 16.
void CEnvSound::__MAKE_VHOOK(Think)()
void CEnvSound::Think()
{
// get pointer to client if visible; FIND_CLIENT_IN_PVS will
// cycle through visible clients on consecutive calls.
@ -1006,7 +1006,7 @@ void CEnvSound::__MAKE_VHOOK(Think)()
// env_sound - spawn a sound entity that will set player roomtype
// when player moves in range and sight.
void CEnvSound::__MAKE_VHOOK(Spawn)()
void CEnvSound::Spawn()
{
// spread think times
pev->nextthink = gpGlobals->time + RANDOM_FLOAT(0.0, 0.5);
@ -1819,7 +1819,7 @@ LINK_ENTITY_TO_CLASS(speaker, CSpeaker, CCSSpeaker)
IMPLEMENT_SAVERESTORE(CSpeaker, CBaseEntity)
// ambient_generic - general-purpose user-defined static sound
void CSpeaker::__MAKE_VHOOK(Spawn)()
void CSpeaker::Spawn()
{
char *szSoundFile = (char *)STRING(pev->message);
@ -1843,7 +1843,7 @@ void CSpeaker::__MAKE_VHOOK(Spawn)()
Precache();
}
void CSpeaker::__MAKE_VHOOK(Precache)()
void CSpeaker::Precache()
{
if (!(pev->spawnflags & SPEAKER_START_SILENT))
{
@ -1970,7 +1970,7 @@ void CSpeaker::ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE
// KeyValue - load keyvalue pairs into member data
// NOTE: called BEFORE spawn!
void CSpeaker::__MAKE_VHOOK(KeyValue)(KeyValueData *pkvd)
void CSpeaker::KeyValue(KeyValueData *pkvd)
{
// preset
if (FStrEq(pkvd->szKeyName, "preset"))

View File

@ -116,17 +116,6 @@ public:
virtual int Restore(CRestore &restore);
virtual int ObjectCaps() { return (CBaseEntity::ObjectCaps() & ~FCAP_ACROSS_TRANSITION); }
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void Restart_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
#endif
public:
void EXPORT ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
void EXPORT RampThink();
@ -150,16 +139,6 @@ public:
virtual int Restore(CRestore &restore);
virtual void Think();
#ifdef HOOK_GAMEDLL
void Spawn_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
void Think_();
#endif
public:
static TYPEDESCRIPTION IMPL(m_SaveData)[2];
@ -177,16 +156,6 @@ public:
virtual int Restore(CRestore &restore);
virtual int ObjectCaps() { return (CBaseEntity::ObjectCaps() & ~FCAP_ACROSS_TRANSITION); }
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void KeyValue_(KeyValueData *pkvd);
int Save_(CSave &save);
int Restore_(CRestore &restore);
#endif
public:
void EXPORT ToggleUse(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
void EXPORT SpeakerThink();

View File

@ -54,7 +54,7 @@ NOXREF BOOL CSound::FIsScent()
return FALSE;
}
void CSoundEnt::__MAKE_VHOOK(Spawn)()
void CSoundEnt::Spawn()
{
pev->solid = SOLID_NOT;
Initialize();
@ -65,7 +65,7 @@ void CSoundEnt::__MAKE_VHOOK(Spawn)()
// Think - at interval, the entire active sound list is checked
// for sounds that have ExpireTimes less than or equal
// to the current world time, and these sounds are deallocated.
void CSoundEnt::__MAKE_VHOOK(Think)()
void CSoundEnt::Think()
{
int iSound;
int iPreviousSound;
@ -102,7 +102,7 @@ void CSoundEnt::__MAKE_VHOOK(Think)()
}
// Precache - dummy function
void CSoundEnt::__MAKE_VHOOK(Precache)()
void CSoundEnt::Precache()
{
;
}

View File

@ -84,14 +84,6 @@ public:
virtual int ObjectCaps() { return FCAP_DONT_SAVE; }
virtual void Think();
#ifdef HOOK_GAMEDLL
void Spawn_();
void Precache_();
void Think_();
#endif
public:
void Initialize();

Some files were not shown because too many files have changed in this diff Show More