New reversed of functions from CBasePlayer etc

This commit is contained in:
s1lentq 2015-07-09 06:22:48 +06:00
parent 2f82bb17ae
commit 32d9488658
25 changed files with 1876 additions and 933 deletions

View File

@ -127,7 +127,7 @@ void setupToolchain(NativeBinarySpec b) {
} }
b.lib LazyNativeDepSet.create(dep_bzip2, 'bzip2', b.buildType.name, true) b.lib LazyNativeDepSet.create(dep_bzip2, 'bzip2', b.buildType.name, true)
cfg.singleDefines 'USE_BREAKPAD_HANDLER', 'DEDICATED', 'REGAMEDLL_SELF', 'HOOK_GAMEDLL', 'BUILD_GRADLE' cfg.singleDefines 'USE_BREAKPAD_HANDLER', 'DEDICATED', 'REGAMEDLL_SELF', 'HOOK_GAMEDLL', 'CLIENT_WEAPONS'
if (cfg instanceof MsvcToolchainConfig) { if (cfg instanceof MsvcToolchainConfig) {

View File

@ -34,8 +34,9 @@ TYPEDESCRIPTION (*CPendulum::pm_SaveData)[8];
#endif // HOOK_GAMEDLL #endif // HOOK_GAMEDLL
/* <1c36f> ../cstrike/dlls/bmodels.cpp:43 */ /* <1c36f> ../cstrike/dlls/bmodels.cpp:43 */
NOBODY Vector VecBModelOrigin(entvars_t *pevBModel) Vector VecBModelOrigin(entvars_t *pevBModel)
{ {
return pevBModel->absmin + (pevBModel->size * 0.5);
} }
/* <1e384> ../cstrike/dlls/bmodels.cpp:63 */ /* <1e384> ../cstrike/dlls/bmodels.cpp:63 */

View File

@ -259,6 +259,6 @@ public:
};/* size: 200, cachelines: 4, members: 10 */ };/* size: 200, cachelines: 4, members: 10 */
NOBODY Vector VecBModelOrigin(entvars_t *pevBModel); Vector VecBModelOrigin(entvars_t *pevBModel);
#endif // BMODELS_H #endif // BMODELS_H

View File

@ -511,8 +511,8 @@ public:
void UpdateOnRemove(void); void UpdateOnRemove(void);
void EXPORT SUB_Remove(void); void EXPORT SUB_Remove(void);
void EXPORT SUB_DoNothing(void); void EXPORT SUB_DoNothing(void);
NOBODY void EXPORT SUB_StartFadeOut(void); void EXPORT SUB_StartFadeOut(void);
NOBODY void EXPORT SUB_FadeOut(void); void EXPORT SUB_FadeOut(void);
NOBODY void EXPORT SUB_CallUseToggle(void) NOBODY void EXPORT SUB_CallUseToggle(void)
{ {
Use(this,this,USE_TOGGLE,0); Use(this,this,USE_TOGGLE,0);
@ -1094,6 +1094,10 @@ typedef BOOL (CBaseEntity::*FVISIBLE_VECTOR)(Vector &);
typedef void (CGrenade::*EXPLODE_VECTOR)(Vector, Vector); typedef void (CGrenade::*EXPLODE_VECTOR)(Vector, Vector);
typedef void (CGrenade::*EXPLODE_TRACERESULT)(TraceResult *, int); typedef void (CGrenade::*EXPLODE_TRACERESULT)(TraceResult *, int);
typedef CBaseEntity *(CBaseEntity::*CBASE_ISTANCE_EDICT)(edict_t *);
typedef CBaseEntity *(CBaseEntity::*CBASE_ISTANCE_ENTVARS)(entvars_t *);
typedef CBaseEntity *(CBaseEntity::*CBASE_ISTANCE_INT)(int);
#endif // HOOK_GAMEDLL #endif // HOOK_GAMEDLL
//Refs //Refs

View File

@ -1,13 +1,21 @@
#include "precompiled.h" #include "precompiled.h"
#define GERMAN_GIB_COUNT 4
#define HUMAN_GIB_COUNT 6
#define ALIEN_GIB_COUNT 4
/* <5f4cb> ../cstrike/dlls/combat.cpp:52 */ /* <5f4cb> ../cstrike/dlls/combat.cpp:52 */
NOBODY void CGib::LimitVelocity(void) void CGib::LimitVelocity(void)
{ {
// { float length = pev->velocity.Length();
// float length; // 54
// Length(const Vector *const this); // 54 // ceiling at 1500. The gib velocity equation is not bounded properly. Rather than tune it
// } // in 3 separate places again, I'll just limit it here.
// LimitVelocity(CGib *const this); // 52 if (length > 1500.0)
{
// This should really be sv_maxvelocity * 0.75 or something
pev->velocity = pev->velocity.Normalize() * 1500;
}
} }
/* <60320> ../cstrike/dlls/combat.cpp:63 */ /* <60320> ../cstrike/dlls/combat.cpp:63 */
@ -73,36 +81,16 @@ NOBODY void CGib::SpawnHeadGib(entvars_t *pevVictim)
// } // }
} }
void (*pCGib__SpawnRandomGibs)(entvars_t *pevVictim, int cGibs, int human);
/* <606c8> ../cstrike/dlls/combat.cpp:190 */ /* <606c8> ../cstrike/dlls/combat.cpp:190 */
NOBODY void CGib::SpawnRandomGibs(entvars_t *pevVictim, int human, int cGibs) NOBODY void __declspec(naked) CGib::SpawnRandomGibs(entvars_t *pevVictim, int cGibs, int human)
{ {
// { // TODO: Reverse me!
// int cSplat; // 192 __asm
// { {
// class CGib *pGib; // 196 jmp pCGib__SpawnRandomGibs
// operator*(const Vector *const this, }
// float fl); // 227
// operator*(const Vector *const this,
// float fl); // 234
// Instance(entvars_t *pev); // 240
// operator*(const Vector *const this,
// float fl); // 244
// operator*(const Vector *const this,
// float fl); // 252
// Vector(Vector *const this,
// float X,
// float Y,
// float Z); // 256
// Vector(Vector *const this,
// float X,
// float Y,
// float Z); // 256
// LimitVelocity(CGib *const this); // 258
// GetClassPtr<CGib>(CGib *a); // 196
// operator*(const Vector *const this,
// float fl); // 248
// }
// }
} }
/* <5f58a> ../cstrike/dlls/combat.cpp:263 */ /* <5f58a> ../cstrike/dlls/combat.cpp:263 */
@ -234,34 +222,88 @@ NOBODY void CBaseMonster::Killed_(entvars_t *pevAttacker, int iGib)
} }
/* <5e84e> ../cstrike/dlls/combat.cpp:652 */ /* <5e84e> ../cstrike/dlls/combat.cpp:652 */
NOBODY void CBaseEntity::SUB_StartFadeOut(void) void CBaseEntity::SUB_StartFadeOut(void)
{ {
if (pev->rendermode == kRenderNormal)
{
pev->renderamt = 255.0f;
pev->rendermode = kRenderTransTexture;
}
pev->solid = SOLID_NOT;
pev->avelocity = g_vecZero;
pev->nextthink = gpGlobals->time + 0.1f;
SetThink(&CBaseEntity::SUB_FadeOut);
} }
/* <5ea72> ../cstrike/dlls/combat.cpp:667 */ /* <5ea72> ../cstrike/dlls/combat.cpp:667 */
NOBODY void CBaseEntity::SUB_FadeOut(void) void CBaseEntity::SUB_FadeOut(void)
{ {
// SUB_FadeOut(CBaseEntity *const this); // 667 if (pev->renderamt > 7)
{
pev->renderamt -= 7.0f;
pev->nextthink = gpGlobals->time + 0.1f;
}
else
{
pev->renderamt = 0.0f;
pev->nextthink = gpGlobals->time + 0.2f;
SetThink(&CBaseEntity::SUB_Remove);
}
} }
/* <5eab1> ../cstrike/dlls/combat.cpp:688 */ /* <5eab1> ../cstrike/dlls/combat.cpp:688 */
NOBODY void CGib::WaitTillLand(void) void CGib::WaitTillLand(void)
{ {
// operator==(const Vector ::WaitTillLand(// const Vector &v); // 696 if (!IsInWorld())
// WaitTillLand(CGib *const this); // 688 {
UTIL_Remove(this);
return;
}
if (pev->velocity == g_vecZero)
{
SetThink(&CBaseEntity::SUB_StartFadeOut);
pev->nextthink = gpGlobals->time + m_lifeTime;
if (m_bloodColor != DONT_BLEED)
CSoundEnt::InsertSound(bits_SOUND_MEAT, pev->origin, 384, 25);
}
else
pev->nextthink = gpGlobals->time + 0.5f;
} }
/* <5eee0> ../cstrike/dlls/combat.cpp:718 */ /* <5eee0> ../cstrike/dlls/combat.cpp:718 */
NOBODY void CGib::BounceGibTouch(CBaseEntity *pOther) void CGib::BounceGibTouch(CBaseEntity *pOther)
{ {
// { if (pev->flags & FL_ONGROUND)
// class Vector vecSpot; // 720 {
// TraceResult tr; // 721 pev->velocity = pev->velocity * 0.9;
// operator*(const Vector *const this, pev->angles.x = 0;
// float fl); // 728 pev->angles.z = 0;
// } pev->avelocity.x = 0;
// BounceGibTouch(CGib *const this, pev->avelocity.z = 0;
// class CBaseEntity *pOther); // 718 }
else
{
if (g_Language != LANGUAGE_GERMAN && m_cBloodDecals > 0 && m_bloodColor != DONT_BLEED)
{
TraceResult tr;
Vector vecSpot = pev->origin + Vector(0, 0, 8);
UTIL_TraceLine(vecSpot, vecSpot + Vector(0, 0, -24), ignore_monsters, ENT(pev), &tr);
UTIL_BloodDecalTrace(&tr, m_bloodColor);
m_cBloodDecals--;
}
if (m_material != matNone && !RANDOM_LONG(0, 2))
{
float zvel = fabs(pev->velocity.z);
float volume = 0.8 * min(1, zvel / 450);
CBreakable::MaterialSoundRandom(edict(), (Materials)m_material, volume);
}
}
} }
/* <5ed6d> ../cstrike/dlls/combat.cpp:761 */ /* <5ed6d> ../cstrike/dlls/combat.cpp:761 */
@ -278,18 +320,41 @@ NOBODY void CGib::StickyGibTouch(CBaseEntity *pOther)
} }
/* <5fb0b> ../cstrike/dlls/combat.cpp:789 */ /* <5fb0b> ../cstrike/dlls/combat.cpp:789 */
NOBODY void CGib::Spawn(const char *szGibModel) void CGib::Spawn(const char *szGibModel)
{ {
// MAKE_STRING_CLASS(const char *str, pev->movetype = MOVETYPE_BOUNCE;
// entvars_t *pev); // 800
// Vector(Vector *const this, // deading the bounce a bit
// float X, pev->friction = 0.55;
// float Y,
// float Z); // 803 // sometimes an entity inherits the edict from a former piece of glass,
// Vector(Vector *const this, // and will spawn using the same render FX or rendermode! bad!
// float X, pev->renderamt = 255.0;
// float Y, pev->rendermode = kRenderNormal;
// float Z); // 803 pev->renderfx = kRenderFxNone;
/// hopefully this will fix the VELOCITY TOO LOW crap
pev->solid = SOLID_SLIDEBOX;
if (pev->classname)
RemoveEntityHashValue(pev, STRING(pev->classname), CLASSNAME);
MAKE_STRING_CLASS("gib", pev);
AddEntityHashValue(pev, STRING(pev->classname), CLASSNAME);
SET_MODEL(ENT(pev), szGibModel);
UTIL_SetSize(pev, Vector(0, 0, 0), Vector(0, 0, 0));
pev->nextthink = gpGlobals->time + 4.0f;
m_lifeTime = 25.0f;
SetThink(&CGib::WaitTillLand);
SetTouch(&CGib::BounceGibTouch);
m_material = matNone;
// how many blood decals this gib can place (1 per bounce until none remain).
m_cBloodDecals = 5;
} }
/* <60aea> ../cstrike/dlls/combat.cpp:815 */ /* <60aea> ../cstrike/dlls/combat.cpp:815 */

View File

@ -168,11 +168,53 @@ NOBODY void CBreakable::Restart_(void)
} }
/* <864f1> ../cstrike/dlls/func_break.cpp:260 */ /* <864f1> ../cstrike/dlls/func_break.cpp:260 */
NOBODY const char **CBreakable::MaterialSoundList(Materials precacheMaterial, int &soundCount) const char **CBreakable::MaterialSoundList(Materials precacheMaterial, int &soundCount)
{ {
// { const char **pSoundList = NULL;
// const char ** pSoundList; // 262
// } switch (precacheMaterial)
{
case matWood:
{
pSoundList = pSoundsWood;
soundCount = ARRAYSIZE(pSoundsWood);
const int dad = ARRAYSIZE(pSoundsConcrete);
break;
}
case matFlesh:
{
pSoundList = pSoundsFlesh;
soundCount = ARRAYSIZE(pSoundsFlesh);
break;
}
case matComputer:
case matUnbreakableGlass:
case matGlass:
{
pSoundList = pSoundsGlass;
soundCount = ARRAYSIZE(pSoundsGlass);
break;
}
case matMetal:
{
pSoundList = pSoundsMetal;
soundCount = ARRAYSIZE(pSoundsMetal);
break;
}
case matCinderBlock:
case matRocks:
{
pSoundList = pSoundsConcrete;
soundCount = ARRAYSIZE(pSoundsConcrete);
break;
}
case matCeilingTile:
case matNone:
default:
soundCount = 0;
break;
}
return pSoundList;
} }
/* <86526> ../cstrike/dlls/func_break.cpp:303 */ /* <86526> ../cstrike/dlls/func_break.cpp:303 */
@ -188,19 +230,13 @@ NOBODY void CBreakable::MaterialSoundPrecache(Materials precacheMaterial)
} }
/* <86598> ../cstrike/dlls/func_break.cpp:316 */ /* <86598> ../cstrike/dlls/func_break.cpp:316 */
NOBODY void CBreakable::MaterialSoundRandom(edict_t *pEdict, Materials soundMaterial, float volume) void CBreakable::MaterialSoundRandom(edict_t *pEdict, Materials soundMaterial, float volume)
{ {
// { int soundCount = 0;
// const char ** pSoundList; // 318 const char **pSoundList = MaterialSoundList(soundMaterial, soundCount);
// int soundCount; // 319
// MaterialSoundList(Materials precacheMaterial, if (soundCount)
// int &soundCount); // 321 EMIT_SOUND(pEdict, CHAN_BODY, pSoundList[ RANDOM_LONG(0, soundCount - 1) ], volume, 1.0);
// EMIT_SOUND(edict_t *entity,
// int channel,
// const char *sample,
// float volume,
// float attenuation); // 324
// }
} }
/* <8634b> ../cstrike/dlls/func_break.cpp:328 */ /* <8634b> ../cstrike/dlls/func_break.cpp:328 */

View File

@ -137,8 +137,8 @@ public:
} }
NOBODY static void MaterialSoundPrecache(Materials precacheMaterial); NOBODY static void MaterialSoundPrecache(Materials precacheMaterial);
NOBODY static void MaterialSoundRandom(edict_t *pEdict, Materials soundMaterial, float volume); static void MaterialSoundRandom(edict_t *pEdict, Materials soundMaterial, float volume);
NOBODY static const char **MaterialSoundList(Materials precacheMaterial, int &soundCount); static const char **MaterialSoundList(Materials precacheMaterial, int &soundCount);
static const char *pSoundsWood[3]; static const char *pSoundsWood[3];
static const char *pSoundsFlesh[6]; static const char *pSoundsFlesh[6];

View File

@ -35,6 +35,15 @@
#define LOG_ENEMYATTACK 1 #define LOG_ENEMYATTACK 1
#define LOG_TEAMMATEATTACK 2 #define LOG_TEAMMATEATTACK 2
// playerid
#define PLAYERID_MODE_EVERYONE 0
#define PLAYERID_MODE_TEAMONLY 1
#define PLAYERID_MODE_OFF 2
#define PLAYERID_EVERYONE 0
#define PLAYERID_TEAMONLY 1
#define PLAYERID_OFF 2
#ifdef HOOK_GAMEDLL #ifdef HOOK_GAMEDLL
#define g_psv_gravity (*pg_psv_gravity) #define g_psv_gravity (*pg_psv_gravity)

View File

@ -126,14 +126,14 @@ public:
#endif // HOOK_GAMEDLL #endif // HOOK_GAMEDLL
public: public:
NOBODY void Spawn(const char *szGibModel); void Spawn(const char *szGibModel);
NOBODY void EXPORT BounceGibTouch(CBaseEntity *pOther); void EXPORT BounceGibTouch(CBaseEntity *pOther);
NOBODY void EXPORT StickyGibTouch(CBaseEntity *pOther); NOBODY void EXPORT StickyGibTouch(CBaseEntity *pOther);
NOBODY void EXPORT WaitTillLand(void); void EXPORT WaitTillLand(void);
NOBODY void LimitVelocity(void); void LimitVelocity(void);
public: public:
NOBODY static void SpawnHeadGib(entvars_t *pevVictim); NOBODY static void SpawnHeadGib(entvars_t *pevVictim);
NOBODY static void SpawnRandomGibs(entvars_t *pevVictim, int cGibs, int human); static void SpawnRandomGibs(entvars_t *pevVictim, int cGibs, int human);
NOBODY static void SpawnStickyGibs(entvars_t *pevVictim, Vector vecOrigin, int cGibs); NOBODY static void SpawnStickyGibs(entvars_t *pevVictim, Vector vecOrigin, int cGibs);
public: public:
int m_bloodColor; int m_bloodColor;
@ -158,5 +158,7 @@ public:
return baseClass::ScheduleFromName(pName);\ return baseClass::ScheduleFromName(pName);\
return pSchedule;\ return pSchedule;\
} }
// refs
extern void (*pCGib__SpawnRandomGibs)(entvars_t *pevVictim, int cGibs, int human);
#endif // MONSTERS_H #endif // MONSTERS_H

View File

@ -35,11 +35,13 @@ void CGraph::ShowNodeConnections(int iNode)
/* <fc528> ../cstrike/dlls/mpstubb.cpp:38 */ /* <fc528> ../cstrike/dlls/mpstubb.cpp:38 */
int CGraph::FindNearestNode(const Vector &vecOrigin, int afNodeTypes) int CGraph::FindNearestNode(const Vector &vecOrigin, int afNodeTypes)
{ {
return 0;
} }
/* <fc528> ../cstrike/dlls/mpstubb.cpp:38 */ /* <fc528> ../cstrike/dlls/mpstubb.cpp:38 */
int CGraph::FindNearestNode(const Vector &vecOrigin, CBaseEntity *pEntity) int CGraph::FindNearestNode(const Vector &vecOrigin, CBaseEntity *pEntity)
{ {
return 0;
} }
/* <fc023> ../cstrike/dlls/mpstubb.cpp:45 */ /* <fc023> ../cstrike/dlls/mpstubb.cpp:45 */

View File

@ -32,6 +32,11 @@
#pragma once #pragma once
#endif #endif
#define bits_NODE_LAND ( 1 << 0 ) // Land node, so nudge if necessary.
#define bits_NODE_AIR ( 1 << 1 ) // Air node, don't nudge.
#define bits_NODE_WATER ( 1 << 2 ) // Water node, don't nudge.
#define bits_NODE_GROUP_REALM (bits_NODE_LAND | bits_NODE_AIR | bits_NODE_WATER)
class CBaseEntity; class CBaseEntity;
class CLink class CLink
@ -49,7 +54,7 @@ public:
NOBODY int CheckNODFile(char *szMapName); NOBODY int CheckNODFile(char *szMapName);
NOBODY int FLoadGraph(char *szMapName); NOBODY int FLoadGraph(char *szMapName);
NOBODY int FSetGraphPointers(void); NOBODY int FSetGraphPointers(void);
NOBODY void ShowNodeConnections(int iNode); void ShowNodeConnections(int iNode);
NOBODY int FindNearestNode(const Vector &vecOrigin, CBaseEntity *pEntity); NOBODY int FindNearestNode(const Vector &vecOrigin, CBaseEntity *pEntity);
NOBODY int FindNearestNode(const Vector &vecOrigin, int afNodeTypes); NOBODY int FindNearestNode(const Vector &vecOrigin, int afNodeTypes);
public: public:

File diff suppressed because it is too large Load Diff

View File

@ -46,6 +46,7 @@
#define PLAYER_FATAL_FALL_SPEED 1100.0f #define PLAYER_FATAL_FALL_SPEED 1100.0f
#define PLAYER_MAX_SAFE_FALL_SPEED 500.0f #define PLAYER_MAX_SAFE_FALL_SPEED 500.0f
#define PLAYER_SEARCH_RADIUS 64.0f
// damage per unit per second. // damage per unit per second.
#define DAMAGE_FOR_FALL_SPEED 100.0f / (PLAYER_FATAL_FALL_SPEED - PLAYER_MAX_SAFE_FALL_SPEED) #define DAMAGE_FOR_FALL_SPEED 100.0f / (PLAYER_FATAL_FALL_SPEED - PLAYER_MAX_SAFE_FALL_SPEED)
@ -296,9 +297,9 @@ struct WeaponStruct
//#define gmsgDamage (*pgmsgDamage) //#define gmsgDamage (*pgmsgDamage)
//#define gmsgBattery (*pgmsgBattery) //#define gmsgBattery (*pgmsgBattery)
//#define gmsgTrain (*pgmsgTrain) //#define gmsgTrain (*pgmsgTrain)
//#define gmsgLogo (*pgmsgLogo) #define gmsgLogo (*pgmsgLogo)
#define gmsgWeaponList (*pgmsgWeaponList) #define gmsgWeaponList (*pgmsgWeaponList)
//#define gmsgAmmoX (*pgmsgAmmoX) #define gmsgAmmoX (*pgmsgAmmoX)
//#define gmsgDeathMsg (*pgmsgDeathMsg) //#define gmsgDeathMsg (*pgmsgDeathMsg)
#define gmsgScoreAttrib (*pgmsgScoreAttrib) #define gmsgScoreAttrib (*pgmsgScoreAttrib)
#define gmsgScoreInfo (*pgmsgScoreInfo) #define gmsgScoreInfo (*pgmsgScoreInfo)
@ -319,8 +320,8 @@ struct WeaponStruct
#define gmsgMoney (*pgmsgMoney) #define gmsgMoney (*pgmsgMoney)
#define gmsgBlinkAcct (*pgmsgBlinkAcct) #define gmsgBlinkAcct (*pgmsgBlinkAcct)
#define gmsgArmorType (*pgmsgArmorType) #define gmsgArmorType (*pgmsgArmorType)
//#define gmsgStatusValue (*pgmsgStatusValue) #define gmsgStatusValue (*pgmsgStatusValue)
//#define gmsgStatusText (*pgmsgStatusText) #define gmsgStatusText (*pgmsgStatusText)
#define gmsgStatusIcon (*pgmsgStatusIcon) #define gmsgStatusIcon (*pgmsgStatusIcon)
#define gmsgBarTime (*pgmsgBarTime) #define gmsgBarTime (*pgmsgBarTime)
#define gmsgReloadSound (*pgmsgReloadSound) #define gmsgReloadSound (*pgmsgReloadSound)
@ -340,7 +341,7 @@ struct WeaponStruct
//#define gmsgAllowSpec (*pgmsgAllowSpec) //#define gmsgAllowSpec (*pgmsgAllowSpec)
#define gmsgBombDrop (*pgmsgBombDrop) #define gmsgBombDrop (*pgmsgBombDrop)
//#define gmsgBombPickup (*pgmsgBombPickup) //#define gmsgBombPickup (*pgmsgBombPickup)
//#define gmsgHostagePos (*pgmsgHostagePos) #define gmsgHostagePos (*pgmsgHostagePos)
//#define gmsgHostageK (*pgmsgHostageK) //#define gmsgHostageK (*pgmsgHostageK)
#define gmsgGeigerRange (*pgmsgGeigerRange) #define gmsgGeigerRange (*pgmsgGeigerRange)
#define gmsgSendCorpse (*pgmsgSendCorpse) #define gmsgSendCorpse (*pgmsgSendCorpse)
@ -348,7 +349,7 @@ struct WeaponStruct
//#define gmsgSpecHealth (*pgmsgSpecHealth) //#define gmsgSpecHealth (*pgmsgSpecHealth)
//#define gmsgForceCam (*pgmsgForceCam) //#define gmsgForceCam (*pgmsgForceCam)
//#define gmsgADStop (*pgmsgADStop) //#define gmsgADStop (*pgmsgADStop)
//#define gmsgReceiveW (*pgmsgReceiveW) #define gmsgReceiveW (*pgmsgReceiveW)
#define gmsgScenarioIcon (*pgmsgScenarioIcon) #define gmsgScenarioIcon (*pgmsgScenarioIcon)
#define gmsgBotVoice (*pgmsgBotVoice) #define gmsgBotVoice (*pgmsgBotVoice)
#define gmsgBuyClose (*pgmsgBuyClose) #define gmsgBuyClose (*pgmsgBuyClose)
@ -420,8 +421,8 @@ public:
class CSprayCan: public CBaseEntity class CSprayCan: public CBaseEntity
{ {
public: public:
NOBODY virtual void Think(void); virtual void Think(void);
NOBODY virtual int ObjectCaps(void) virtual int ObjectCaps(void)
{ {
return ObjectCaps_(); return ObjectCaps_();
} }
@ -445,8 +446,8 @@ public:
class CBloodSplat: public CBaseEntity class CBloodSplat: public CBaseEntity
{ {
public: public:
NOBODY void Spawn(entvars_t *pevOwner); void Spawn(entvars_t *pevOwner);
NOBODY void Spray(void); void Spray(void);
};/* size: 152, cachelines: 3, members: 1 */ };/* size: 152, cachelines: 3, members: 1 */
@ -498,13 +499,13 @@ public:
{ {
return IsNetClient_(); return IsNetClient_();
} }
NOBODY virtual const char *TeamID(void); virtual const char *TeamID(void);
NOBODY virtual BOOL FBecomeProne(void); virtual BOOL FBecomeProne(void);
NOBODY virtual Vector BodyTarget(const Vector &posSrc) NOBODY virtual Vector BodyTarget(const Vector &posSrc)
{ {
return BodyTarget_(posSrc); return BodyTarget_(posSrc);
} }
NOBODY virtual int Illumination(void); virtual int Illumination(void);
NOBODY virtual BOOL ShouldFadeOnDeath(void) NOBODY virtual BOOL ShouldFadeOnDeath(void)
{ {
return ShouldFadeOnDeath_(); return ShouldFadeOnDeath_();
@ -523,7 +524,7 @@ public:
NOBODY virtual void ImpulseCommands(void); NOBODY virtual void ImpulseCommands(void);
virtual void RoundRespawn(void); virtual void RoundRespawn(void);
virtual Vector GetAutoaimVector(float flDelta); virtual Vector GetAutoaimVector(float flDelta);
NOBODY virtual void Blind(float flUntilTime, float flHoldTime, float flFadeTime, int iAlpha); virtual void Blind(float flUntilTime, float flHoldTime, float flFadeTime, int iAlpha);
NOBODY virtual void OnTouchingWeapon(CWeaponBox *pWeapon) NOBODY virtual void OnTouchingWeapon(CWeaponBox *pWeapon)
{ {
OnTouchingWeapon_(pWeapon); OnTouchingWeapon_(pWeapon);
@ -628,7 +629,7 @@ public:
NOBODY void Disappear(void); NOBODY void Disappear(void);
void MakeVIP(void); void MakeVIP(void);
NOBODY bool CanPlayerBuy(bool display); NOBODY bool CanPlayerBuy(bool display);
NOBODY void SwitchTeam(void); void SwitchTeam(void);
void TabulateAmmo(void); void TabulateAmmo(void);
void Pain(int m_LastHitGroup, bool HasArmour); void Pain(int m_LastHitGroup, bool HasArmour);
BOOL IsBombGuy(void); BOOL IsBombGuy(void);
@ -658,35 +659,35 @@ public:
bool NeedsDefuseKit(void); bool NeedsDefuseKit(void);
bool NeedsGrenade(void); bool NeedsGrenade(void);
BOOL IsOnLadder(void); BOOL IsOnLadder(void);
NOXREF BOOL FlashlightIsOn(void); BOOL FlashlightIsOn(void);
void FlashlightTurnOn(void); void FlashlightTurnOn(void);
NOBODY void FlashlightTurnOff(void); void FlashlightTurnOff(void);
NOBODY void UpdatePlayerSound(void); NOBODY void UpdatePlayerSound(void);
NOXREF void DeathSound(void); NOXREF void DeathSound(void);
void SetAnimation(PLAYER_ANIM playerAnim); void SetAnimation(PLAYER_ANIM playerAnim);
NOBODY void SetWeaponAnimType(const char *szExtention); NOBODY void SetWeaponAnimType(const char *szExtention);
NOBODY void CheatImpulseCommands(int iImpulse); void CheatImpulseCommands(int iImpulse);
NOXREF void StartDeathCam(void); NOXREF void StartDeathCam(void);
NOBODY void StartObserver(Vector vecPosition, Vector vecViewAngle); NOBODY void StartObserver(Vector vecPosition, Vector vecViewAngle);
NOBODY void HandleSignals(void); NOBODY void HandleSignals(void);
void DropPlayerItem(const char *pszItemName); void DropPlayerItem(const char *pszItemName);
BOOL HasPlayerItem(CBasePlayerItem *pCheckItem); BOOL HasPlayerItem(CBasePlayerItem *pCheckItem);
NOBODY BOOL HasNamedPlayerItem(const char *pszItemName); BOOL HasNamedPlayerItem(const char *pszItemName);
NOXREF BOOL HasWeapons(void); NOXREF BOOL HasWeapons(void);
NOBODY void SelectPrevItem(int iItem); NOXREF void SelectPrevItem(int iItem);
NOBODY void SelectNextItem(int iItem); NOBODY void SelectNextItem(int iItem);
void SelectLastItem(void); void SelectLastItem(void);
NOBODY void SelectItem(const char *pstr); NOBODY void SelectItem(const char *pstr);
NOBODY void ItemPreFrame(void); NOXREF void ItemPreFrame(void);
NOBODY void ItemPostFrame(void); NOXREF void ItemPostFrame(void);
void GiveNamedItem(const char *pszName); void GiveNamedItem(const char *pszName);
NOBODY void EnableControl(BOOL fControl); void EnableControl(BOOL fControl);
NOBODY bool HintMessage(const char *pMessage, BOOL bDisplayIfPlayerDead = FALSE, BOOL bOverride = FALSE); NOBODY bool HintMessage(const char *pMessage, BOOL bDisplayIfPlayerDead = FALSE, BOOL bOverride = FALSE);
NOBODY void SendAmmoUpdate(void); void SendAmmoUpdate(void);
NOXREF void SendFOV(int fov); NOXREF void SendFOV(int fov);
NOBODY void WaterMove(void); NOBODY void WaterMove(void);
NOBODY void EXPORT PlayerDeathThink(void); NOBODY void EXPORT PlayerDeathThink(void);
NOBODY void PlayerUse(void); void PlayerUse(void);
NOBODY void HostageUsed(void); NOBODY void HostageUsed(void);
NOBODY void JoiningThink(void); NOBODY void JoiningThink(void);
NOBODY void RemoveLevelText(void); NOBODY void RemoveLevelText(void);
@ -697,8 +698,8 @@ public:
void SetSuitUpdate(char *name = NULL, int fgroup = 0, int iNoRepeatTime = 0); void SetSuitUpdate(char *name = NULL, int fgroup = 0, int iNoRepeatTime = 0);
NOXREF void UpdateGeigerCounter(void); NOXREF void UpdateGeigerCounter(void);
NOBODY void CheckTimeBasedDamage(void); NOBODY void CheckTimeBasedDamage(void);
NOBODY void BarnacleVictimBitten(entvars_t *pevBarnacle); NOXREF void BarnacleVictimBitten(entvars_t *pevBarnacle);
NOBODY void BarnacleVictimReleased(void); NOXREF void BarnacleVictimReleased(void);
static int GetAmmoIndex(const char *psz); static int GetAmmoIndex(const char *psz);
int AmmoInventory(int iAmmoIndex); int AmmoInventory(int iAmmoIndex);
NOBODY void ResetAutoaim(void); NOBODY void ResetAutoaim(void);
@ -706,21 +707,21 @@ public:
NOBODY void ForceClientDllUpdate(void); NOBODY void ForceClientDllUpdate(void);
void DeathMessage(entvars_t *pevAttacker) { }; void DeathMessage(entvars_t *pevAttacker) { };
void SetCustomDecalFrames(int); void SetCustomDecalFrames(int);
NOBODY int GetCustomDecalFrames(void); NOXREF int GetCustomDecalFrames(void);
NOBODY void InitStatusBar(void); NOXREF void InitStatusBar(void);
NOBODY void UpdateStatusBar(void); void UpdateStatusBar(void);
void StudioEstimateGait(void); void StudioEstimateGait(void);
NOXREF void StudioPlayerBlend(int *pBlend, float *pPitch); NOXREF void StudioPlayerBlend(int *pBlend, float *pPitch);
NOXREF void CalculatePitchBlend(void); NOXREF void CalculatePitchBlend(void);
void CalculateYawBlend(void); void CalculateYawBlend(void);
void StudioProcessGait(void); void StudioProcessGait(void);
NOBODY void SendHostagePos(void); NOXREF void SendHostagePos(void);
void SendHostageIcons(void); void SendHostageIcons(void);
NOXREF void ResetStamina(void); NOXREF void ResetStamina(void);
NOXREF BOOL IsArmored(int nHitGroup); NOXREF BOOL IsArmored(int nHitGroup);
NOXREF BOOL ShouldDoLargeFlinch(int nHitGroup, int nGunType); NOXREF BOOL ShouldDoLargeFlinch(int nHitGroup, int nGunType);
void SetPrefsFromUserinfo(char *infobuffer); void SetPrefsFromUserinfo(char *infobuffer);
NOBODY void SendWeatherInfo(void); void SendWeatherInfo(void);
void UpdateShieldCrosshair(bool); void UpdateShieldCrosshair(bool);
bool HasShield(void); bool HasShield(void);
bool IsProtectedByShield(void) bool IsProtectedByShield(void)
@ -1027,9 +1028,9 @@ extern int gmsgCurWeapon;
//extern int gmsgDamage; //extern int gmsgDamage;
//extern int gmsgBattery; //extern int gmsgBattery;
//extern int gmsgTrain; //extern int gmsgTrain;
//extern int gmsgLogo; extern int gmsgLogo;
extern int gmsgWeaponList; extern int gmsgWeaponList;
//extern int gmsgAmmoX; extern int gmsgAmmoX;
//extern int gmsgDeathMsg; //extern int gmsgDeathMsg;
extern int gmsgScoreAttrib; extern int gmsgScoreAttrib;
extern int gmsgScoreInfo; extern int gmsgScoreInfo;
@ -1050,8 +1051,8 @@ extern int gmsgRoundTime;
extern int gmsgMoney; extern int gmsgMoney;
extern int gmsgBlinkAcct; extern int gmsgBlinkAcct;
extern int gmsgArmorType; extern int gmsgArmorType;
//extern int gmsgStatusValue; extern int gmsgStatusValue;
//extern int gmsgStatusText; extern int gmsgStatusText;
extern int gmsgStatusIcon; extern int gmsgStatusIcon;
extern int gmsgBarTime; extern int gmsgBarTime;
extern int gmsgReloadSound; extern int gmsgReloadSound;
@ -1071,7 +1072,7 @@ extern int gmsgTutorClose;
//extern int gmsgAllowSpec; //extern int gmsgAllowSpec;
extern int gmsgBombDrop; extern int gmsgBombDrop;
//extern int gmsgBombPickup; //extern int gmsgBombPickup;
//extern int gmsgHostagePos; extern int gmsgHostagePos;
//extern int gmsgHostageK; //extern int gmsgHostageK;
extern int gmsgGeigerRange; extern int gmsgGeigerRange;
extern int gmsgSendCorpse; extern int gmsgSendCorpse;
@ -1079,7 +1080,7 @@ extern int gmsgSendCorpse;
//extern int gmsgSpecHealth; //extern int gmsgSpecHealth;
//extern int gmsgForceCam; //extern int gmsgForceCam;
//extern int gmsgADStop; //extern int gmsgADStop;
//extern int gmsgReceiveW; extern int gmsgReceiveW;
extern int gmsgScenarioIcon; extern int gmsgScenarioIcon;
extern int gmsgBotVoice; extern int gmsgBotVoice;
extern int gmsgBuyClose; extern int gmsgBuyClose;
@ -1099,16 +1100,22 @@ extern int gmsgBotProgress;
//NOBODY void player_weaponstrip(entvars_t *pev); //NOBODY void player_weaponstrip(entvars_t *pev);
//NOBODY void monster_hevsuit_dead(entvars_t *pev); //NOBODY void monster_hevsuit_dead(entvars_t *pev);
NOBODY void BuyZoneIcon_Set(CBasePlayer *player); void OLD_CheckBuyZone(CBasePlayer *player);
NOBODY void BuyZoneIcon_Clear(CBasePlayer *player); void OLD_CheckBombTarget(CBasePlayer *player);
NOBODY void BombTargetFlash_Set(CBasePlayer *player); void OLD_CheckRescueZone(CBasePlayer *player);
NOBODY void BombTargetFlash_Clear(CBasePlayer *player);
NOBODY void RescueZoneIcon_Set(CBasePlayer *player);
NOBODY void RescueZoneIcon_Clear(CBasePlayer *player);
NOXREF void EscapeZoneIcon_Set(CBasePlayer *player); void BuyZoneIcon_Set(CBasePlayer *player);
NOXREF void EscapeZoneIcon_Clear(CBasePlayer *player); void BuyZoneIcon_Clear(CBasePlayer *player);
NOXREF void VIP_SafetyZoneIcon_Set(CBasePlayer *player); void BombTargetFlash_Set(CBasePlayer *player);
void BombTargetFlash_Clear(CBasePlayer *player);
void RescueZoneIcon_Set(CBasePlayer *player);
void RescueZoneIcon_Clear(CBasePlayer *player);
void EscapeZoneIcon_Set(CBasePlayer *player);
void EscapeZoneIcon_Clear(CBasePlayer *player);
void EscapeZoneIcon_Set(CBasePlayer *player);
void EscapeZoneIcon_Clear(CBasePlayer *player);
void VIP_SafetyZoneIcon_Set(CBasePlayer *player);
void VIP_SafetyZoneIcon_Clear(CBasePlayer *player);
NOBODY void LinkUserMessages(void); NOBODY void LinkUserMessages(void);
void WriteSigonMessages(void); void WriteSigonMessages(void);
@ -1119,14 +1126,14 @@ int TrainSpeed(int iSpeed, int iMax);
const char *GetWeaponName(entvars_t *pevInflictor, entvars_t *pKiller); const char *GetWeaponName(entvars_t *pevInflictor, entvars_t *pKiller);
void LogAttack(CBasePlayer *pAttacker, CBasePlayer *pVictim, int teamAttack, int healthHit, int armorHit, int newHealth, int newArmor, const char *killer_weapon_name); void LogAttack(CBasePlayer *pAttacker, CBasePlayer *pVictim, int teamAttack, int healthHit, int armorHit, int newHealth, int newArmor, const char *killer_weapon_name);
void packPlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pItem, bool packAmmo); void packPlayerItem(CBasePlayer *pPlayer, CBasePlayerItem *pItem, bool packAmmo);
NOBODY bool CanSeeUseable(void); bool CanSeeUseable(CBasePlayer *me, CBaseEntity *entity);
NOBODY void FixPlayerCrouchStuck(edict_t *pPlayer); NOBODY void FixPlayerCrouchStuck(edict_t *pPlayer);
NOXREF BOOL IsSpawnPointValid(CBaseEntity *pPlayer, CBaseEntity *pSpot); NOXREF BOOL IsSpawnPointValid(CBaseEntity *pPlayer, CBaseEntity *pSpot);
NOBODY void InitZombieSpawns(void); NOBODY void InitZombieSpawns(void);
NOBODY CBaseEntity *FindZombieSpawn(CBaseEntity *player, bool forceSpawn); NOBODY CBaseEntity *FindZombieSpawn(CBaseEntity *player, bool forceSpawn);
NOBODY edict_t *EntSelectSpawnPoint(CBaseEntity *pPlayer); NOBODY edict_t *EntSelectSpawnPoint(CBaseEntity *pPlayer);
void SetScoreAttrib(CBasePlayer *dest, CBasePlayer *src); void SetScoreAttrib(CBasePlayer *dest, CBasePlayer *src);
NOBODY CBaseEntity *FindEntityForward(CBaseEntity *pMe); NOXREF CBaseEntity *FindEntityForward(CBaseEntity *pMe);
float GetPlayerPitch(const edict_t *pEdict); float GetPlayerPitch(const edict_t *pEdict);
float GetPlayerYaw(const edict_t *pEdict); float GetPlayerYaw(const edict_t *pEdict);
int GetPlayerGaitsequence(edict_t *pEdict); int GetPlayerGaitsequence(edict_t *pEdict);

View File

@ -234,7 +234,7 @@ public:
} }
NOBODY int Save(CSave &save); NOBODY int Save(CSave &save);
NOBODY int Restore(CRestore &restore); NOBODY int Restore(CRestore &restore);
NOBODY void DumpGlobals(void); void DumpGlobals(void);
static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[1]; static TYPEDESCRIPTION IMPLEMENT_ARRAY(m_SaveData)[1];

View File

@ -56,21 +56,41 @@ NOBODY void CSoundEnt::FreeSound(int iSound, int iPrevious)
} }
/* <178e2d> ../cstrike/dlls/soundent.cpp:171 */ /* <178e2d> ../cstrike/dlls/soundent.cpp:171 */
NOBODY int CSoundEnt::IAllocSound(void) int CSoundEnt::IAllocSound(void)
{ {
// { if (m_iFreeSound == SOUNDLIST_EMPTY)
// int iNewSound; // 173 {
// } ALERT(at_console, "Free Sound List is full!\n");
// IAllocSound(CSoundEnt *const this); // 171 return SOUNDLIST_EMPTY;
}
int iNewSound = m_iFreeSound;
m_iFreeSound = m_SoundPool[ iNewSound ].m_iNext;
m_SoundPool[ iNewSound ].m_iNext = m_iActiveSound;
m_iActiveSound = iNewSound;
return iNewSound;
} }
/* <178e94> ../cstrike/dlls/soundent.cpp:200 */ /* <178e94> ../cstrike/dlls/soundent.cpp:200 */
NOBODY void CSoundEnt::InsertSound(int iType, const Vector &vecOrigin, int iVolume, float flDuration) void CSoundEnt::InsertSound(int iType, const Vector &vecOrigin, int iVolume, float flDuration)
{ {
// { if (!pSoundEnt)
// int iThisSound; // 202 return;
// IAllocSound(CSoundEnt *const this); // 210
// } int iThisSound = pSoundEnt->IAllocSound();
if (iThisSound == SOUNDLIST_EMPTY)
{
ALERT(at_console, "Could not AllocSound() for InsertSound() (DLL)\n");
return;
}
pSoundEnt->m_SoundPool[ iThisSound ].m_vecOrigin = vecOrigin;
pSoundEnt->m_SoundPool[ iThisSound ].m_iType = iType;
pSoundEnt->m_SoundPool[ iThisSound ].m_iVolume = iVolume;
pSoundEnt->m_SoundPool[ iThisSound ].m_flExpireTime = gpGlobals->time + flDuration;
} }
/* <178f4e> ../cstrike/dlls/soundent.cpp:228 */ /* <178f4e> ../cstrike/dlls/soundent.cpp:228 */

View File

@ -184,7 +184,7 @@ class CFuncVehicle: public CBaseEntity
{ {
public: public:
NOBODY virtual void Spawn(void); NOBODY virtual void Spawn(void);
NOBODY virtual void Precache(void); virtual void Precache(void);
NOBODY virtual void Restart(void); NOBODY virtual void Restart(void);
NOBODY virtual void KeyValue(KeyValueData *pkvd); NOBODY virtual void KeyValue(KeyValueData *pkvd);
NOBODY virtual int Save(CSave &save); NOBODY virtual int Save(CSave &save);
@ -193,9 +193,9 @@ public:
{ {
return ObjectCaps_(); return ObjectCaps_();
} }
NOBODY virtual int Classify(void); virtual int Classify(void);
NOBODY virtual void OverrideReset(void); NOBODY virtual void OverrideReset(void);
NOBODY virtual BOOL OnControls(entvars_t *pev); virtual BOOL OnControls(entvars_t *pev);
NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value); NOBODY virtual void Use(CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value);
NOBODY virtual void Blocked(CBaseEntity *pOther); NOBODY virtual void Blocked(CBaseEntity *pOther);

View File

@ -35,8 +35,8 @@
#include "activity.h" #include "activity.h"
#define _LOG_TRACE\ #define _LOG_TRACE\
static int iNum = 0;\ static int iNumPassed = 0;\
printf2(__FUNCTION__":: iNum - %d", iNum++); printf2(__FUNCTION__":: iNumPassed - %d", iNumPassed++);
// Makes these more explicit, and easier to find // Makes these more explicit, and easier to find
#ifdef HOOK_GAMEDLL #ifdef HOOK_GAMEDLL
@ -66,6 +66,13 @@ extern globalvars_t *gpGlobals;
#define STRING(offset) ((const char *)(gpGlobals->pStringBase + (unsigned int)(offset))) #define STRING(offset) ((const char *)(gpGlobals->pStringBase + (unsigned int)(offset)))
#define MAKE_STRING(str) ((uint64_t)(str) - (uint64_t)(STRING(0))) #define MAKE_STRING(str) ((uint64_t)(str) - (uint64_t)(STRING(0)))
// Dot products for view cone checking
#define VIEW_FIELD_FULL -1.0 // +-180 degrees
#define VIEW_FIELD_WIDE -0.7 // +-135 degrees 0.1 // +-85 degrees, used for full FOV checks
#define VIEW_FIELD_NARROW 0.7 // +-45 degrees, more narrow check used to set up ranged attacks
#define VIEW_FIELD_ULTRA_NARROW 0.9 // +-25 degrees, more narrow check used to set up ranged attacks
#define SND_SPAWNING (1<<8) // duplicated in protocol.h we're spawing, used in some cases for ambients #define SND_SPAWNING (1<<8) // duplicated in protocol.h we're spawing, used in some cases for ambients
#define SND_STOP (1<<5) // duplicated in protocol.h stop sound #define SND_STOP (1<<5) // duplicated in protocol.h stop sound
#define SND_CHANGE_VOL (1<<6) // duplicated in protocol.h change sound vol #define SND_CHANGE_VOL (1<<6) // duplicated in protocol.h change sound vol

View File

@ -358,20 +358,22 @@ NOBODY void CFuncVehicle::SetControls(entvars_t *pevControls)
} }
/* <1bb1b2> ../cstrike/dlls/vehicle.cpp:819 */ /* <1bb1b2> ../cstrike/dlls/vehicle.cpp:819 */
NOBODY BOOL CFuncVehicle::OnControls_(entvars_t *pevTest) BOOL CFuncVehicle::OnControls_(entvars_t *pevTest)
{ {
// { Vector offset = pevTest->origin - pev->origin;
// Vector offset; // 821
// Vector local; // 828 if (pev->spawnflags & SF_TRACKTRAIN_NOCONTROL)
// operator-(const Vector *const this, return FALSE;
// const Vector &v); // 821
// DotProduct(Vector &a, UTIL_MakeVectors(pev->angles);
// const Vector &b); // 829
// DotProduct(Vector &a, Vector local;
// const Vector &b); // 830 local.x = DotProduct(offset, gpGlobals->v_forward);
// DotProduct(Vector &a, local.y = -DotProduct(offset, gpGlobals->v_right);
// const Vector &b); // 831 local.z = DotProduct(offset, gpGlobals->v_up);
// }
return (local.x >= m_controlMins.x && local.y >= m_controlMins.y && local.z >= m_controlMins.z
&& local.x <= m_controlMaxs.x && local.y <= m_controlMaxs.y && local.z <= m_controlMaxs.z);
} }
/* <1bb676> ../cstrike/dlls/vehicle.cpp:841 */ /* <1bb676> ../cstrike/dlls/vehicle.cpp:841 */
@ -438,8 +440,9 @@ NOBODY CFuncVehicle *CFuncVehicle::Instance(edict_t *pent)
} }
/* <1bb055> ../cstrike/dlls/vehicle.cpp:951 */ /* <1bb055> ../cstrike/dlls/vehicle.cpp:951 */
NOBODY int CFuncVehicle::Classify_(void) int CFuncVehicle::Classify_(void)
{ {
return CLASS_VEHICLE;
} }
/* <1bb0ef> ../cstrike/dlls/vehicle.cpp:956 */ /* <1bb0ef> ../cstrike/dlls/vehicle.cpp:956 */
@ -461,8 +464,43 @@ NOBODY void CFuncVehicle::Restart_(void)
} }
/* <1bb07b> ../cstrike/dlls/vehicle.cpp:1032 */ /* <1bb07b> ../cstrike/dlls/vehicle.cpp:1032 */
NOBODY void CFuncVehicle::Precache_(void) void CFuncVehicle::Precache_(void)
{ {
if (m_flVolume == 0.0f)
m_flVolume = 1.0f;
switch (m_sounds)
{
case 1:
PRECACHE_SOUND("plats/vehicle1.wav");
pev->noise = MAKE_STRING("plats/vehicle1.wav");
break;
case 2:
PRECACHE_SOUND("plats/vehicle2.wav");
pev->noise = MAKE_STRING("plats/vehicle2.wav");
break;
case 3:
PRECACHE_SOUND("plats/vehicle3.wav");
pev->noise = MAKE_STRING("plats/vehicle3.wav");
break;
case 4:
PRECACHE_SOUND("plats/vehicle4.wav");
pev->noise = MAKE_STRING("plats/vehicle4.wav");
break;
case 5:
PRECACHE_SOUND("plats/vehicle6.wav");
pev->noise = MAKE_STRING("plats/vehicle6.wav");
break;
case 6:
PRECACHE_SOUND("plats/vehicle7.wav");
pev->noise = MAKE_STRING("plats/vehicle7.wav");
break;
}
PRECACHE_SOUND("plats/vehicle_brake1.wav");
PRECACHE_SOUND("plats/vehicle_start1.wav");
m_usAdjustPitch = PRECACHE_EVENT(1, "events/vehicle.sc");
} }
/* <1bd23c> ../cstrike/dlls/vehicle.cpp:1064 */ /* <1bd23c> ../cstrike/dlls/vehicle.cpp:1064 */

View File

@ -1093,37 +1093,42 @@ NOBODY void CBasePlayerWeapon::RetireWeapon_(void)
} }
// GetNextAttackDelay - An accurate way of calcualting the next attack time.
/* <1d3f76> ../cstrike/dlls/weapons.cpp:1580 */ /* <1d3f76> ../cstrike/dlls/weapons.cpp:1580 */
float CBasePlayerWeapon::GetNextAttackDelay(float delay) float CBasePlayerWeapon::GetNextAttackDelay(float delay)
{ {
float flNextAttack;
if (m_flLastFireTime == 0.0f || m_flNextPrimaryAttack == -1.0f) if (m_flLastFireTime == 0.0f || m_flNextPrimaryAttack == -1.0f)
{ {
// At this point, we are assuming that the client has stopped firing
// and we are going to reset our book keeping variables.
m_flPrevPrimaryAttack = delay; m_flPrevPrimaryAttack = delay;
m_flLastFireTime = gpGlobals->time; m_flLastFireTime = gpGlobals->time;
} }
#ifdef REGAMEDLL_BUILD_6153 #ifdef REGAMEDLL_BUILD_6153
float flCreep;
float flTimeBetweenFires;
// TODO: Build 6xxx // TODO: Build 6xxx
// at build 6153 beta this removed // at build 6153 beta this removed
// maybe it was initiated due to the delay of the shot // maybe it was initiated due to the delay of the shot
flCreep = gpGlobals->time - m_flLastFireTime; // calculate the time between this shot and the previous
if (flCreep > 0.0f) float flTimeBetweenFires = gpGlobals->time - m_flLastFireTime;
flTimeBetweenFires = flCreep - m_flPrevPrimaryAttack; float flCreep = 0.0f;
else
flTimeBetweenFires = 0.0f;
flNextAttack = delay - flTimeBetweenFires + 0.0f; if (flTimeBetweenFires > 0.0f)
flCreep = flTimeBetweenFires - m_flPrevPrimaryAttack;
float flNextAttack = delay - flCreep + 0.0f;
#else #else
flNextAttack = delay + 0.0f; float flNextAttack = delay + 0.0f;
#endif #endif // REGAMEDLL_BUILD_6153
// save the last fire time
m_flLastFireTime = gpGlobals->time; m_flLastFireTime = gpGlobals->time;
// we need to remember what the m_flNextPrimaryAttack time is set to for each shot,
// store it as m_flPrevPrimaryAttack.
m_flPrevPrimaryAttack = flNextAttack; m_flPrevPrimaryAttack = flNextAttack;
return flNextAttack; return flNextAttack;

View File

@ -182,13 +182,22 @@ globalentity_t *CGlobalState::Find(string_t globalname)
return pTest; return pTest;
} }
// This is available all the time now on impulse 104, remove later
/* <1db703> ../cstrike/dlls/world.cpp:329 */ /* <1db703> ../cstrike/dlls/world.cpp:329 */
NOBODY void CGlobalState::DumpGlobals(void) void CGlobalState::DumpGlobals(void)
{ {
// { static char *estates[] = { "Off", "On", "Dead" };
// char *const estates; // 331 globalentity_t *pTest;
// globalentity_t *pTest; // 332
// } ALERT(at_console, "-- Globals --\n");
pTest = m_pList;
while (pTest != NULL)
{
ALERT(at_console, "%s: %s (%s)\n", pTest->name, pTest->levelName, estates[ pTest->state ]);
pTest = pTest->pNext;
}
} }
/* <1db76a> ../cstrike/dlls/world.cpp:345 */ /* <1db76a> ../cstrike/dlls/world.cpp:345 */

View File

@ -370,13 +370,13 @@ void CBot::PrintIfWatched(char *format, ...) const
Q_sprintf(buffer, "%s: ", (name != NULL) ? name : "(NULL netname)"); Q_sprintf(buffer, "%s: ", (name != NULL) ? name : "(NULL netname)");
SERVER_PRINT( buffer ); SERVER_PRINT( buffer );
_logf(buffer); //_logf(buffer);
va_start(varg, format); va_start(varg, format);
Q_vsnprintf(buffer, ARRAYSIZE(buffer), format, varg); Q_vsnprintf(buffer, ARRAYSIZE(buffer), format, varg);
va_end(varg); va_end(varg);
_logf(buffer); //_logf(buffer);
SERVER_PRINT( buffer ); SERVER_PRINT( buffer );
} }

View File

@ -6,12 +6,12 @@
#ifndef HOOK_GAMEDLL #ifndef HOOK_GAMEDLL
static short s_iBeamSprite = 0; static short s_iBeamSprite = 0;
static float cosTable[COS_TABLE_SIZE]; static float cosTable[ COS_TABLE_SIZE ];
#else #else
short s_iBeamSprite; short s_iBeamSprite;
float cosTable[COS_TABLE_SIZE]; float cosTable[ COS_TABLE_SIZE ];
#endif // HOOK_GAMEDLL #endif // HOOK_GAMEDLL

View File

@ -227,11 +227,11 @@ FunctionHook g_FunctionHooks[] =
//virtual func //virtual func
{ 0x01D70C90, "_ZN4CGib10ObjectCapsEv", mfunc_ptr_cast(&CGib::ObjectCaps_) }, { 0x01D70C90, "_ZN4CGib10ObjectCapsEv", mfunc_ptr_cast(&CGib::ObjectCaps_) },
//non-virtual func //non-virtual func
//{ 0x01D6FFE0, "_ZN4CGib5SpawnEPKc", mfunc_ptr_cast(&CGib::Spawn) }, { 0x01D6FFE0, "_ZN4CGib5SpawnEPKc", mfunc_ptr_cast(&CGib::Spawn) },
//{ 0x01D6FCA0, "_ZN4CGib14BounceGibTouchEP11CBaseEntity", mfunc_ptr_cast(&CGib::BounceGibTouch) }, { 0x01D6FCA0, "_ZN4CGib14BounceGibTouchEP11CBaseEntity", mfunc_ptr_cast(&CGib::BounceGibTouch) },
//{ 0x01D6FE40, "_ZN4CGib14StickyGibTouchEP11CBaseEntity", mfunc_ptr_cast(&CGib::StickyGibTouch) }, //{ 0x01D6FE40, "_ZN4CGib14StickyGibTouchEP11CBaseEntity", mfunc_ptr_cast(&CGib::StickyGibTouch) },
//{ 0x01D6FBF0, "_ZN4CGib12WaitTillLandEv", mfunc_ptr_cast(&CGib::WaitTillLand) }, { 0x01D6FBF0, "_ZN4CGib12WaitTillLandEv", mfunc_ptr_cast(&CGib::WaitTillLand) },
//{ 0x01D6E550, "_ZN4CGib13LimitVelocityEv", mfunc_ptr_cast(&CGib::LimitVelocity) }, { 0x01D6E550, "_ZN4CGib13LimitVelocityEv", mfunc_ptr_cast(&CGib::LimitVelocity) },
//{ 0x01D6EAB0, "_ZN4CGib12SpawnHeadGibEP9entvars_s", mfunc_ptr_cast(&CGib::SpawnHeadGib) }, //{ 0x01D6EAB0, "_ZN4CGib12SpawnHeadGibEP9entvars_s", mfunc_ptr_cast(&CGib::SpawnHeadGib) },
//{ 0x01D6EEB0, "_ZN4CGib15SpawnRandomGibsEP9entvars_sii", mfunc_ptr_cast(&CGib::SpawnRandomGibs) }, //{ 0x01D6EEB0, "_ZN4CGib15SpawnRandomGibsEP9entvars_sii", mfunc_ptr_cast(&CGib::SpawnRandomGibs) },
//{ 0x01D6E640, "_ZN4CGib15SpawnStickyGibsEP9entvars_s6Vectori", mfunc_ptr_cast(&CGib::SpawnStickyGibs) }, // NOXREF //{ 0x01D6E640, "_ZN4CGib15SpawnStickyGibsEP9entvars_s6Vectori", mfunc_ptr_cast(&CGib::SpawnStickyGibs) }, // NOXREF
@ -380,10 +380,7 @@ FunctionHook g_FunctionHooks[] =
////{ 0x0, "_ZN11CBaseEntity5SpawnEv", mfunc_ptr_cast(&CBaseEntity::Spawn) }, ////{ 0x0, "_ZN11CBaseEntity5SpawnEv", mfunc_ptr_cast(&CBaseEntity::Spawn) },
////{ 0x0, "_ZN11CBaseEntity8PrecacheEv", mfunc_ptr_cast(&CBaseEntity::Precache) }, ////{ 0x0, "_ZN11CBaseEntity8PrecacheEv", mfunc_ptr_cast(&CBaseEntity::Precache) },
////{ 0x0, "_ZN11CBaseEntity7RestartEv", mfunc_ptr_cast(&CBaseEntity::Restart) }, ////{ 0x0, "_ZN11CBaseEntity7RestartEv", mfunc_ptr_cast(&CBaseEntity::Restart) },
////{ 0x0, "_ZN11CBaseEntity8KeyValueEP14KeyValueData_s", mfunc_ptr_cast(&CBaseEntity::KeyValue_) }, ////{ 0x01D185B0, "_ZN11CBaseEntity8KeyValueEP14KeyValueData_s", mfunc_ptr_cast(&CBaseEntity::KeyValue_) },
//sub_1D185B0
//{ 0x01D635D0, "_ZN11CBaseEntity4SaveER5CSave", mfunc_ptr_cast(&CBaseEntity::Save_) }, //{ 0x01D635D0, "_ZN11CBaseEntity4SaveER5CSave", mfunc_ptr_cast(&CBaseEntity::Save_) },
//{ 0x01D63610, "_ZN11CBaseEntity7RestoreER8CRestore", mfunc_ptr_cast(&CBaseEntity::Restore_) }, //{ 0x01D63610, "_ZN11CBaseEntity7RestoreER8CRestore", mfunc_ptr_cast(&CBaseEntity::Restore_) },
////{ 0x0, "_ZN11CBaseEntity10ObjectCapsEv", mfunc_ptr_cast(&CBaseEntity::ObjectCaps) }, ////{ 0x0, "_ZN11CBaseEntity10ObjectCapsEv", mfunc_ptr_cast(&CBaseEntity::ObjectCaps) },
@ -392,10 +389,10 @@ FunctionHook g_FunctionHooks[] =
////{ 0x0, "_ZN11CBaseEntity8ClassifyEv", mfunc_ptr_cast(&CBaseEntity::Classify) }, ////{ 0x0, "_ZN11CBaseEntity8ClassifyEv", mfunc_ptr_cast(&CBaseEntity::Classify) },
////{ 0x0, "_ZN11CBaseEntity11DeathNoticeEP9entvars_s", mfunc_ptr_cast(&CBaseEntity::DeathNotice) }, ////{ 0x0, "_ZN11CBaseEntity11DeathNoticeEP9entvars_s", mfunc_ptr_cast(&CBaseEntity::DeathNotice) },
//{ 0x01D719D0, "_ZN11CBaseEntity11TraceAttackEP9entvars_sf6VectorP11TraceResulti", mfunc_ptr_cast(&CBaseEntity::TraceAttack_) }, //{ 0x01D719D0, "_ZN11CBaseEntity11TraceAttackEP9entvars_sf6VectorP11TraceResulti", mfunc_ptr_cast(&CBaseEntity::TraceAttack_) },
//{ 0x0, "_ZN11CBaseEntity10TakeDamageEP9entvars_sS1_fi", mfunc_ptr_cast(&CBaseEntity::TakeDamage_) }, //{ 0x01D63210, "_ZN11CBaseEntity10TakeDamageEP9entvars_sS1_fi", mfunc_ptr_cast(&CBaseEntity::TakeDamage_) },
{ 0x01D63190, "_ZN11CBaseEntity10TakeHealthEfi", mfunc_ptr_cast(&CBaseEntity::TakeHealth_) }, { 0x01D63190, "_ZN11CBaseEntity10TakeHealthEfi", mfunc_ptr_cast(&CBaseEntity::TakeHealth_) },
//{ 0x0, "_ZN11CBaseEntity6KilledEP9entvars_si", mfunc_ptr_cast(&CBaseEntity::Killed_) }, //{ 0x0, "_ZN11CBaseEntity6KilledEP9entvars_si", mfunc_ptr_cast(&CBaseEntity::Killed_) },
////{ 0x0, "_ZN11CBaseEntity10BloodColorEv", mfunc_ptr_cast(&CBaseEntity::BloodColor) }, //{ 0x01D01BE0, "_ZN11CBaseEntity10BloodColorEv", mfunc_ptr_cast(&CBaseEntity::BloodColor) },
{ 0x01D72EE0, "_ZN11CBaseEntity10TraceBleedEf6VectorP11TraceResulti", mfunc_ptr_cast(&CBaseEntity::TraceBleed_) }, { 0x01D72EE0, "_ZN11CBaseEntity10TraceBleedEf6VectorP11TraceResulti", mfunc_ptr_cast(&CBaseEntity::TraceBleed_) },
////{ 0x0, "_ZN11CBaseEntity11IsTriggeredEPS_", mfunc_ptr_cast(&CBaseEntity::IsTriggered) }, ////{ 0x0, "_ZN11CBaseEntity11IsTriggeredEPS_", mfunc_ptr_cast(&CBaseEntity::IsTriggered) },
////{ 0x0, "_ZN11CBaseEntity16MyMonsterPointerEv", mfunc_ptr_cast(&CBaseEntity::MyMonsterPointer) }, ////{ 0x0, "_ZN11CBaseEntity16MyMonsterPointerEv", mfunc_ptr_cast(&CBaseEntity::MyMonsterPointer) },
@ -435,15 +432,16 @@ FunctionHook g_FunctionHooks[] =
////{ 0x0, "_ZN11CBaseEntity11EyePositionEv", mfunc_ptr_cast(&CBaseEntity::EyePosition) }, ////{ 0x0, "_ZN11CBaseEntity11EyePositionEv", mfunc_ptr_cast(&CBaseEntity::EyePosition) },
////{ 0x0, "_ZN11CBaseEntity11EarPositionEv", mfunc_ptr_cast(&CBaseEntity::EarPosition) }, ////{ 0x0, "_ZN11CBaseEntity11EarPositionEv", mfunc_ptr_cast(&CBaseEntity::EarPosition) },
////{ 0x0, "_ZN11CBaseEntity10BodyTargetERK6Vector", mfunc_ptr_cast(&CBaseEntity::BodyTarget) }, ////{ 0x0, "_ZN11CBaseEntity10BodyTargetERK6Vector", mfunc_ptr_cast(&CBaseEntity::BodyTarget) },
////{ 0x0, "_ZN11CBaseEntity12IlluminationEv", mfunc_ptr_cast(&CBaseEntity::Illumination) }, ////{ 0x01D01FC0, "_ZN11CBaseEntity12IlluminationEv", mfunc_ptr_cast(&CBaseEntity::Illumination) },
//{ 0x01D71840, "_ZN11CBaseEntity8FVisibleEPS_", mfunc_ptr_cast<FVISIBLE_ENTITY>(&CBaseEntity::FVisible_) }, //{ 0x01D71840, "_ZN11CBaseEntity8FVisibleEPS_", mfunc_ptr_cast<FVISIBLE_ENTITY>(&CBaseEntity::FVisible_) },
//{ 0x01D71950, "_ZN11CBaseEntity8FVisibleERK6Vector", mfunc_ptr_cast<FVISIBLE_VECTOR>(&CBaseEntity::FVisible_) }, //{ 0x01D71950, "_ZN11CBaseEntity8FVisibleERK6Vector", mfunc_ptr_cast<FVISIBLE_VECTOR>(&CBaseEntity::FVisible_) },
//non-virtual func //non-virtual func
//{ 0x01DA7FD0, "", mfunc_ptr_cast<CBASE_ISTANCE_EDICT>(&CBaseEntity::Instance) },
{ 0x01DBAF90, "_ZN11CBaseEntity14UpdateOnRemoveEv", mfunc_ptr_cast(&CBaseEntity::UpdateOnRemove) }, { 0x01DBAF90, "_ZN11CBaseEntity14UpdateOnRemoveEv", mfunc_ptr_cast(&CBaseEntity::UpdateOnRemove) },
{ 0x01DBAFF0, "_ZN11CBaseEntity10SUB_RemoveEv", mfunc_ptr_cast(&CBaseEntity::SUB_Remove) }, { 0x01DBAFF0, "_ZN11CBaseEntity10SUB_RemoveEv", mfunc_ptr_cast(&CBaseEntity::SUB_Remove) },
{ 0x01DBB0A0, "_ZN11CBaseEntity13SUB_DoNothingEv", mfunc_ptr_cast(&CBaseEntity::SUB_DoNothing) }, { 0x01DBB0A0, "_ZN11CBaseEntity13SUB_DoNothingEv", mfunc_ptr_cast(&CBaseEntity::SUB_DoNothing) },
//{ 0x01D6FB10, "_ZN11CBaseEntity16SUB_StartFadeOutEv", mfunc_ptr_cast(&CBaseEntity::SUB_StartFadeOut) }, { 0x01D6FB10, "_ZN11CBaseEntity16SUB_StartFadeOutEv", mfunc_ptr_cast(&CBaseEntity::SUB_StartFadeOut) },
//{ 0x01D6FB80, "_ZN11CBaseEntity11SUB_FadeOutEv", mfunc_ptr_cast(&CBaseEntity::SUB_FadeOut) }, { 0x01D6FB80, "_ZN11CBaseEntity11SUB_FadeOutEv", mfunc_ptr_cast(&CBaseEntity::SUB_FadeOut) },
//{ 0x0, "_ZN11CBaseEntity17SUB_CallUseToggleEv", mfunc_ptr_cast(&CBaseEntity::SUB_CallUseToggle) }, //{ 0x0, "_ZN11CBaseEntity17SUB_CallUseToggleEv", mfunc_ptr_cast(&CBaseEntity::SUB_CallUseToggle) },
{ 0x01D63AC0, "_ZN11CBaseEntity12ShouldToggleE8USE_TYPEi", mfunc_ptr_cast(&CBaseEntity::ShouldToggle) }, { 0x01D63AC0, "_ZN11CBaseEntity12ShouldToggleE8USE_TYPEi", mfunc_ptr_cast(&CBaseEntity::ShouldToggle) },
//{ 0x01D71BC0, "_ZN11CBaseEntity11FireBulletsEj6VectorS0_S0_fiiiP9entvars_s", mfunc_ptr_cast(&CBaseEntity::FireBullets) }, //{ 0x01D71BC0, "_ZN11CBaseEntity11FireBulletsEj6VectorS0_S0_fiiiP9entvars_s", mfunc_ptr_cast(&CBaseEntity::FireBullets) },
@ -455,10 +453,6 @@ FunctionHook g_FunctionHooks[] =
{ 0x01D639B0, "_ZN11CBaseEntity9IsDormantEv", mfunc_ptr_cast(&CBaseEntity::IsDormant) }, { 0x01D639B0, "_ZN11CBaseEntity9IsDormantEv", mfunc_ptr_cast(&CBaseEntity::IsDormant) },
//{ 0x0, "_ZN11CBaseEntity16IsLockedByMasterEv", mfunc_ptr_cast(&CBaseEntity::IsLockedByMaster) }, // NOXREF //{ 0x0, "_ZN11CBaseEntity16IsLockedByMasterEv", mfunc_ptr_cast(&CBaseEntity::IsLockedByMaster) }, // NOXREF
{ 0x01D63B20, "_ZN11CBaseEntity6CreateEPcRK6VectorS3_P7edict_s", mfunc_ptr_cast(&CBaseEntity::Create) }, { 0x01D63B20, "_ZN11CBaseEntity6CreateEPcRK6VectorS3_P7edict_s", mfunc_ptr_cast(&CBaseEntity::Create) },
//CPointEntity //CPointEntity
//{ 0x01DBACC0, "_ZN12CPointEntity5SpawnEv", mfunc_ptr_cast(&CPointEntity::Spawn) }, //{ 0x01DBACC0, "_ZN12CPointEntity5SpawnEv", mfunc_ptr_cast(&CPointEntity::Spawn) },
//{ 0x0, "_ZN12CPointEntity10ObjectCapsEv", mfunc_ptr_cast(&CPointEntity::ObjectCaps) }, //{ 0x0, "_ZN12CPointEntity10ObjectCapsEv", mfunc_ptr_cast(&CPointEntity::ObjectCaps) },
@ -616,10 +610,10 @@ FunctionHook g_FunctionHooks[] =
{ 0x01D21030, "_ZN11CBasePlayer7IsAliveEv", mfunc_ptr_cast(&CBasePlayer::IsAlive_) }, { 0x01D21030, "_ZN11CBasePlayer7IsAliveEv", mfunc_ptr_cast(&CBasePlayer::IsAlive_) },
//{ 0x0, "_ZN11CBasePlayer8IsPlayerEv", mfunc_ptr_cast(&CBasePlayer::IsPlayer_) }, //{ 0x0, "_ZN11CBasePlayer8IsPlayerEv", mfunc_ptr_cast(&CBasePlayer::IsPlayer_) },
//{ 0x0, "_ZN11CBasePlayer11IsNetClientEv", mfunc_ptr_cast(&CBasePlayer::IsNetClient_) }, //{ 0x0, "_ZN11CBasePlayer11IsNetClientEv", mfunc_ptr_cast(&CBasePlayer::IsNetClient_) },
//{ 0x01DA6950, "_ZN11CBasePlayer6TeamIDEv", mfunc_ptr_cast(&CBasePlayer::TeamID_) }, { 0x01DA6950, "_ZN11CBasePlayer6TeamIDEv", mfunc_ptr_cast(&CBasePlayer::TeamID_) },
//{ 0x01DA9BF0, "_ZN11CBasePlayer12FBecomeProneEv", mfunc_ptr_cast(&CBasePlayer::FBecomeProne_) }, { 0x01DA9BF0, "_ZN11CBasePlayer12FBecomeProneEv", mfunc_ptr_cast(&CBasePlayer::FBecomeProne_) },
//{ 0x01D20F60, "_ZN11CBasePlayer10BodyTargetERK6Vector", mfunc_ptr_cast(&CBasePlayer::BodyTarget_) }, //{ 0x01D20F60, "_ZN11CBasePlayer10BodyTargetERK6Vector", mfunc_ptr_cast(&CBasePlayer::BodyTarget_) },
//{ 0x0, "_ZN11CBasePlayer12IlluminationEv", mfunc_ptr_cast(&CBasePlayer::Illumination_) }, { 0x01DA9C50, "_ZN11CBasePlayer12IlluminationEv", mfunc_ptr_cast(&CBasePlayer::Illumination_) },
//{ 0x01D21060, "_ZN11CBasePlayer17ShouldFadeOnDeathEv", mfunc_ptr_cast(&CBasePlayer::ShouldFadeOnDeath_) }, //{ 0x01D21060, "_ZN11CBasePlayer17ShouldFadeOnDeathEv", mfunc_ptr_cast(&CBasePlayer::ShouldFadeOnDeath_) },
{ 0x01DA9CB0, "_ZN11CBasePlayer13ResetMaxSpeedEv", mfunc_ptr_cast(&CBasePlayer::ResetMaxSpeed_) }, { 0x01DA9CB0, "_ZN11CBasePlayer13ResetMaxSpeedEv", mfunc_ptr_cast(&CBasePlayer::ResetMaxSpeed_) },
//{ 0x0, "_ZN11CBasePlayer4JumpEv", mfunc_ptr_cast(&CBasePlayer::Jump_) }, //{ 0x0, "_ZN11CBasePlayer4JumpEv", mfunc_ptr_cast(&CBasePlayer::Jump_) },
@ -629,10 +623,10 @@ FunctionHook g_FunctionHooks[] =
{ 0x01D9BD80, "_ZN11CBasePlayer14GetGunPositionEv", mfunc_ptr_cast(&CBasePlayer::GetGunPosition_) }, { 0x01D9BD80, "_ZN11CBasePlayer14GetGunPositionEv", mfunc_ptr_cast(&CBasePlayer::GetGunPosition_) },
//{ 0x0, "_ZN11CBasePlayer5IsBotEv", mfunc_ptr_cast(&CBasePlayer::IsBot_) }, //{ 0x0, "_ZN11CBasePlayer5IsBotEv", mfunc_ptr_cast(&CBasePlayer::IsBot_) },
//{ 0x01DA8F90, "_ZN11CBasePlayer16UpdateClientDataEv", mfunc_ptr_cast(&CBasePlayer::UpdateClientData_) }, //{ 0x01DA8F90, "_ZN11CBasePlayer16UpdateClientDataEv", mfunc_ptr_cast(&CBasePlayer::UpdateClientData_) },
//{ 0x0, "_ZN11CBasePlayer15ImpulseCommandsEv", mfunc_ptr_cast(&CBasePlayer::ImpulseCommands_) }, //{ 0x01DA7020, "_ZN11CBasePlayer15ImpulseCommandsEv", mfunc_ptr_cast(&CBasePlayer::ImpulseCommands_) }, // NOXREF
{ 0x01DA2490, "_ZN11CBasePlayer12RoundRespawnEv", mfunc_ptr_cast(&CBasePlayer::RoundRespawn_) }, { 0x01DA2490, "_ZN11CBasePlayer12RoundRespawnEv", mfunc_ptr_cast(&CBasePlayer::RoundRespawn_) },
{ 0x01DA9DC0, "_ZN11CBasePlayer16GetAutoaimVectorEf", mfunc_ptr_cast(&CBasePlayer::GetAutoaimVector_) }, { 0x01DA9DC0, "_ZN11CBasePlayer16GetAutoaimVectorEf", mfunc_ptr_cast(&CBasePlayer::GetAutoaimVector_) },
//{ 0x0, "_ZN11CBasePlayer5BlindEfffi", mfunc_ptr_cast(&CBasePlayer::Blind_) }, { 0x01DAA220, "_ZN11CBasePlayer5BlindEfffi", mfunc_ptr_cast(&CBasePlayer::Blind_) },
//{ 0x0, "_ZN11CBasePlayer16OnTouchingWeaponEP10CWeaponBox", mfunc_ptr_cast(&CBasePlayer::OnTouchingWeapon_) }, //{ 0x0, "_ZN11CBasePlayer16OnTouchingWeaponEP10CWeaponBox", mfunc_ptr_cast(&CBasePlayer::OnTouchingWeapon_) },
//non-virtual func //non-virtual func
{ 0x01DAC8D0, "_ZN11CBasePlayer21SpawnClientSideCorpseEv", mfunc_ptr_cast(&CBasePlayer::SpawnClientSideCorpse) }, { 0x01DAC8D0, "_ZN11CBasePlayer21SpawnClientSideCorpseEv", mfunc_ptr_cast(&CBasePlayer::SpawnClientSideCorpse) },
@ -653,7 +647,7 @@ FunctionHook g_FunctionHooks[] =
//{ 0x0, "_ZN11CBasePlayer9DisappearEv", mfunc_ptr_cast(&CBasePlayer::Disappear) }, //{ 0x0, "_ZN11CBasePlayer9DisappearEv", mfunc_ptr_cast(&CBasePlayer::Disappear) },
{ 0x01DA15B0, "_ZN11CBasePlayer7MakeVIPEv", mfunc_ptr_cast(&CBasePlayer::MakeVIP) }, { 0x01DA15B0, "_ZN11CBasePlayer7MakeVIPEv", mfunc_ptr_cast(&CBasePlayer::MakeVIP) },
//{ 0x0, "_ZN11CBasePlayer12CanPlayerBuyEb", mfunc_ptr_cast(&CBasePlayer::CanPlayerBuy) }, //{ 0x0, "_ZN11CBasePlayer12CanPlayerBuyEb", mfunc_ptr_cast(&CBasePlayer::CanPlayerBuy) },
//{ 0x01DAB070, "_ZN11CBasePlayer10SwitchTeamEv", mfunc_ptr_cast(&CBasePlayer::SwitchTeam) }, { 0x01DAB070, "_ZN11CBasePlayer10SwitchTeamEv", mfunc_ptr_cast(&CBasePlayer::SwitchTeam) },
{ 0x01DAB820, "_ZN11CBasePlayer12TabulateAmmoEv", mfunc_ptr_cast(&CBasePlayer::TabulateAmmo) }, { 0x01DAB820, "_ZN11CBasePlayer12TabulateAmmoEv", mfunc_ptr_cast(&CBasePlayer::TabulateAmmo) },
{ 0x01D9B9B0, "_ZN11CBasePlayer4PainEib", mfunc_ptr_cast(&CBasePlayer::Pain) }, { 0x01D9B9B0, "_ZN11CBasePlayer4PainEib", mfunc_ptr_cast(&CBasePlayer::Pain) },
{ 0x01D9F410, "_ZN11CBasePlayer9IsBombGuyEv", mfunc_ptr_cast(&CBasePlayer::IsBombGuy) }, { 0x01D9F410, "_ZN11CBasePlayer9IsBombGuyEv", mfunc_ptr_cast(&CBasePlayer::IsBombGuy) },
@ -670,19 +664,23 @@ FunctionHook g_FunctionHooks[] =
//{ 0x01D93690, "_Z14GetForceCamerav", (size_t)&GetForceCamera }, // NOXREF //{ 0x01D93690, "_Z14GetForceCamerav", (size_t)&GetForceCamera }, // NOXREF
{ 0x01D93A00, "_ZL19UpdateClientEffectsP11CBasePlayeri", (size_t)&UpdateClientEffects }, // TODO: Reverse me { 0x01D93A00, "_ZL19UpdateClientEffectsP11CBasePlayeri", (size_t)&UpdateClientEffects }, // TODO: Reverse me
//{ 0x0, "", (size_t)&OLD_CheckBuyZone }, // NOXREF
//{ 0x0, "", (size_t)&OLD_CheckBombTarget }, // NOXREF
//{ 0x0, "", (size_t)&OLD_CheckRescueZone }, // NOXREF
#ifdef _WIN32 #ifdef _WIN32
//{ 0x0, "", (size_t)&BuyZoneIcon_Set }, //{ 0x0, "", (size_t)&BuyZoneIcon_Set },
//{ 0x0, "", (size_t)&BuyZoneIcon_Clear }, //{ 0x0, "", (size_t)&BuyZoneIcon_Clear }, // NOXREF
//{ 0x0, "", (size_t)&BombTargetFlash_Set }, //{ 0x0, "", (size_t)&BombTargetFlash_Set },
//{ 0x0, "", (size_t)&BombTargetFlash_Clear }, //{ 0x0, "", (size_t)&BombTargetFlash_Clear }, // NOXREF
//{ 0x0, "", (size_t)&RescueZoneIcon_Set }, //{ 0x0, "", (size_t)&RescueZoneIcon_Set },
//{ 0x0, "", (size_t)&RescueZoneIcon_Clear }, //{ 0x0, "", (size_t)&RescueZoneIcon_Clear }, // NOXREF
//#@{ 0x01DA8410, "", (size_t)&EscapeZoneIcon_Set }, { 0x01DA8410, "", (size_t)&EscapeZoneIcon_Set },
//#@{ 0x01DA84C0, "", (size_t)&EscapeZoneIcon_Clear }, { 0x01DA84C0, "", (size_t)&EscapeZoneIcon_Clear },
//#@{ 0x01DA8550, "", (size_t)&VIP_SafetyZoneIcon_Set }, { 0x01DA8550, "", (size_t)&VIP_SafetyZoneIcon_Set },
//#@{ 0x01DA8630, "", (size_t)&VIP_SafetyZoneIcon_Clear }, { 0x01DA8630, "", (size_t)&VIP_SafetyZoneIcon_Clear },
#endif // _WIN32 #endif // _WIN32
@ -709,28 +707,28 @@ FunctionHook g_FunctionHooks[] =
//{ 0x01D9BCA0, "_ZN11CBasePlayer10DeathSoundEv", mfunc_ptr_cast(&CBasePlayer::DeathSound) }, // NOXREF //{ 0x01D9BCA0, "_ZN11CBasePlayer10DeathSoundEv", mfunc_ptr_cast(&CBasePlayer::DeathSound) }, // NOXREF
{ 0x01D9F430, "_ZN11CBasePlayer12SetAnimationE11PLAYER_ANIM", mfunc_ptr_cast(&CBasePlayer::SetAnimation) }, { 0x01D9F430, "_ZN11CBasePlayer12SetAnimationE11PLAYER_ANIM", mfunc_ptr_cast(&CBasePlayer::SetAnimation) },
//{ 0x0, "_ZN11CBasePlayer17SetWeaponAnimTypeEPKc", mfunc_ptr_cast(&CBasePlayer::SetWeaponAnimType) }, //{ 0x0, "_ZN11CBasePlayer17SetWeaponAnimTypeEPKc", mfunc_ptr_cast(&CBasePlayer::SetWeaponAnimType) },
//{ 0x0, "_ZN11CBasePlayer20CheatImpulseCommandsEi", mfunc_ptr_cast(&CBasePlayer::CheatImpulseCommands) }, { 0x01DA73C0, "_ZN11CBasePlayer20CheatImpulseCommandsEi", mfunc_ptr_cast(&CBasePlayer::CheatImpulseCommands) },
//{ 0x01DA2640, "_ZN11CBasePlayer13StartDeathCamEv", mfunc_ptr_cast(&CBasePlayer::StartDeathCam) }, // NOXREF //{ 0x01DA2640, "_ZN11CBasePlayer13StartDeathCamEv", mfunc_ptr_cast(&CBasePlayer::StartDeathCam) }, // NOXREF
//{ 0x01DA26D0, "_ZN11CBasePlayer13StartObserverE6VectorS0_", mfunc_ptr_cast(&CBasePlayer::StartObserver) }, //{ 0x01DA26D0, "_ZN11CBasePlayer13StartObserverE6VectorS0_", mfunc_ptr_cast(&CBasePlayer::StartObserver) },
//{ 0x01DA6FD0, "_ZN11CBasePlayer13HandleSignalsEv", mfunc_ptr_cast(&CBasePlayer::HandleSignals) }, { 0x01DA7FF0, "_ZN11CBasePlayer13HandleSignalsEv", mfunc_ptr_cast(&CBasePlayer::HandleSignals) },
{ 0x01DAA850, "_ZN11CBasePlayer14DropPlayerItemEPKc", mfunc_ptr_cast(&CBasePlayer::DropPlayerItem) }, { 0x01DAA850, "_ZN11CBasePlayer14DropPlayerItemEPKc", mfunc_ptr_cast(&CBasePlayer::DropPlayerItem) },
{ 0x01DAAF30, "_ZN11CBasePlayer13HasPlayerItemEP15CBasePlayerItem", mfunc_ptr_cast(&CBasePlayer::HasPlayerItem) }, { 0x01DAAF30, "_ZN11CBasePlayer13HasPlayerItemEP15CBasePlayerItem", mfunc_ptr_cast(&CBasePlayer::HasPlayerItem) },
//{ 0x0, "_ZN11CBasePlayer18HasNamedPlayerItemEPKc", mfunc_ptr_cast(&CBasePlayer::HasNamedPlayerItem) }, { 0x01DAAFC0, "_ZN11CBasePlayer18HasNamedPlayerItemEPKc", mfunc_ptr_cast(&CBasePlayer::HasNamedPlayerItem) },
//{ 0x01DA6920, "_ZN11CBasePlayer10HasWeaponsEv", mfunc_ptr_cast(&CBasePlayer::HasWeapons) }, // NOXREF //{ 0x01DA6920, "_ZN11CBasePlayer10HasWeaponsEv", mfunc_ptr_cast(&CBasePlayer::HasWeapons) }, // NOXREF
//{ 0x0, "_ZN11CBasePlayer14SelectPrevItemEi", mfunc_ptr_cast(&CBasePlayer::SelectPrevItem) }, //{ 0x01DA6940, "_ZN11CBasePlayer14SelectPrevItemEi", mfunc_ptr_cast(&CBasePlayer::SelectPrevItem) }, // NOXREF
//{ 0x01DA6470, "_ZN11CBasePlayer14SelectNextItemEi", mfunc_ptr_cast(&CBasePlayer::SelectNextItem) }, // NOXREF //{ 0x01DA6470, "_ZN11CBasePlayer14SelectNextItemEi", mfunc_ptr_cast(&CBasePlayer::SelectNextItem) }, // NOXREF
//{ 0x01DA65E0, "_ZN11CBasePlayer10SelectItemEPKc", mfunc_ptr_cast(&CBasePlayer::SelectItem) }, //{ 0x01DA65E0, "_ZN11CBasePlayer10SelectItemEPKc", mfunc_ptr_cast(&CBasePlayer::SelectItem) },
{ 0x01DA67A0, "_ZN11CBasePlayer14SelectLastItemEv", mfunc_ptr_cast(&CBasePlayer::SelectLastItem) }, { 0x01DA67A0, "_ZN11CBasePlayer14SelectLastItemEv", mfunc_ptr_cast(&CBasePlayer::SelectLastItem) },
//{ 0x01DA8BB0, "_ZN11CBasePlayer12ItemPreFrameEv", mfunc_ptr_cast(&CBasePlayer::ItemPreFrame) }, // NOXREF //{ 0x01DA8BB0, "_ZN11CBasePlayer12ItemPreFrameEv", mfunc_ptr_cast(&CBasePlayer::ItemPreFrame) }, // NOXREF
//{ 0x0, "_ZN11CBasePlayer13ItemPostFrameEv", mfunc_ptr_cast(&CBasePlayer::ItemPostFrame) }, //{ 0x01DA8BE0, "_ZN11CBasePlayer13ItemPostFrameEv", mfunc_ptr_cast(&CBasePlayer::ItemPostFrame) }, // NOXREF
{ 0x01DA6CC0, "_ZN11CBasePlayer13GiveNamedItemEPKc", mfunc_ptr_cast(&CBasePlayer::GiveNamedItem) }, { 0x01DA6CC0, "_ZN11CBasePlayer13GiveNamedItemEPKc", mfunc_ptr_cast(&CBasePlayer::GiveNamedItem) },
//{ 0x0, "_ZN11CBasePlayer13EnableControlEi", mfunc_ptr_cast(&CBasePlayer::EnableControl) }, { 0x01DA9C80, "_ZN11CBasePlayer13EnableControlEi", mfunc_ptr_cast(&CBasePlayer::EnableControl) },
{ 0x01DA9D50, "_ZN11CBasePlayer11HintMessageEPKcii", mfunc_ptr_cast(&CBasePlayer::HintMessage) }, { 0x01DA9D50, "_ZN11CBasePlayer11HintMessageEPKcii", mfunc_ptr_cast(&CBasePlayer::HintMessage) },
//{ 0x0, "_ZN11CBasePlayer14SendAmmoUpdateEv", mfunc_ptr_cast(&CBasePlayer::SendAmmoUpdate) }, { 0x01DA8CC0, "_ZN11CBasePlayer14SendAmmoUpdateEv", mfunc_ptr_cast(&CBasePlayer::SendAmmoUpdate) },
//{ 0x01D9E4F0, "_ZN11CBasePlayer7SendFOVEi", mfunc_ptr_cast(&CBasePlayer::SendFOV) }, // NOXREF //{ 0x01D9E4F0, "_ZN11CBasePlayer7SendFOVEi", mfunc_ptr_cast(&CBasePlayer::SendFOV) }, // NOXREF
//{ 0x01DA0390, "_ZN11CBasePlayer9WaterMoveEv", mfunc_ptr_cast(&CBasePlayer::WaterMove) }, //{ 0x01DA0390, "_ZN11CBasePlayer9WaterMoveEv", mfunc_ptr_cast(&CBasePlayer::WaterMove) },
//{ 0x01DA2140, "_ZN11CBasePlayer16PlayerDeathThinkEv", mfunc_ptr_cast(&CBasePlayer::PlayerDeathThink) }, //{ 0x01DA2140, "_ZN11CBasePlayer16PlayerDeathThinkEv", mfunc_ptr_cast(&CBasePlayer::PlayerDeathThink) },
//{ 0x01DA29A0, "_ZN11CBasePlayer9PlayerUseEv", mfunc_ptr_cast(&CBasePlayer::PlayerUse) }, { 0x01DA29A0, "_ZN11CBasePlayer9PlayerUseEv", mfunc_ptr_cast(&CBasePlayer::PlayerUse) },
//{ 0x0, "_ZN11CBasePlayer11HostageUsedEv", mfunc_ptr_cast(&CBasePlayer::HostageUsed) }, //{ 0x0, "_ZN11CBasePlayer11HostageUsedEv", mfunc_ptr_cast(&CBasePlayer::HostageUsed) },
//{ 0x0, "_ZN11CBasePlayer12JoiningThinkEv", mfunc_ptr_cast(&CBasePlayer::JoiningThink) }, //{ 0x0, "_ZN11CBasePlayer12JoiningThinkEv", mfunc_ptr_cast(&CBasePlayer::JoiningThink) },
//{ 0x01DA1480, "_ZN11CBasePlayer15RemoveLevelTextEv", mfunc_ptr_cast(&CBasePlayer::RemoveLevelText) }, // NOXREF //{ 0x01DA1480, "_ZN11CBasePlayer15RemoveLevelTextEv", mfunc_ptr_cast(&CBasePlayer::RemoveLevelText) }, // NOXREF
@ -747,24 +745,24 @@ FunctionHook g_FunctionHooks[] =
{ 0x01DA8C60, "_ZN11CBasePlayer13AmmoInventoryEi", mfunc_ptr_cast(&CBasePlayer::AmmoInventory) }, { 0x01DA8C60, "_ZN11CBasePlayer13AmmoInventoryEi", mfunc_ptr_cast(&CBasePlayer::AmmoInventory) },
//{ 0x01DAA150, "_ZN11CBasePlayer12ResetAutoaimEv", mfunc_ptr_cast(&CBasePlayer::ResetAutoaim) }, // NOXREF //{ 0x01DAA150, "_ZN11CBasePlayer12ResetAutoaimEv", mfunc_ptr_cast(&CBasePlayer::ResetAutoaim) }, // NOXREF
//{ 0x01DAA120, "_ZN11CBasePlayer17AutoaimDeflectionER6Vectorff", mfunc_ptr_cast(&CBasePlayer::AutoaimDeflection) }, // NOXREF //{ 0x01DAA120, "_ZN11CBasePlayer17AutoaimDeflectionER6Vectorff", mfunc_ptr_cast(&CBasePlayer::AutoaimDeflection) }, // NOXREF
//{ 0x0, "_ZN11CBasePlayer20ForceClientDllUpdateEv", mfunc_ptr_cast(&CBasePlayer::ForceClientDllUpdate) }, //{ 0x01DA6FD0, "_ZN11CBasePlayer20ForceClientDllUpdateEv", mfunc_ptr_cast(&CBasePlayer::ForceClientDllUpdate) },
//{ 0x0, "_ZN11CBasePlayer12DeathMessageEP9entvars_s", mfunc_ptr_cast(&CBasePlayer::DeathMessage) }, //{ 0x0, "_ZN11CBasePlayer12DeathMessageEP9entvars_s", mfunc_ptr_cast(&CBasePlayer::DeathMessage) },
{ 0x01DAA1E0, "_ZN11CBasePlayer20SetCustomDecalFramesEi", mfunc_ptr_cast(&CBasePlayer::SetCustomDecalFrames) }, { 0x01DAA1E0, "_ZN11CBasePlayer20SetCustomDecalFramesEi", mfunc_ptr_cast(&CBasePlayer::SetCustomDecalFrames) },
//{ 0x0, "_ZN11CBasePlayer20GetCustomDecalFramesEv", mfunc_ptr_cast(&CBasePlayer::GetCustomDecalFrames) }, //{ 0x01DAA210, "_ZN11CBasePlayer20GetCustomDecalFramesEv", mfunc_ptr_cast(&CBasePlayer::GetCustomDecalFrames) }, // NOXREF
//{ 0x0, "_ZN11CBasePlayer13InitStatusBarEv", mfunc_ptr_cast(&CBasePlayer::InitStatusBar) }, //{ 0x01DAA260, "_ZN11CBasePlayer13InitStatusBarEv", mfunc_ptr_cast(&CBasePlayer::InitStatusBar) }, // NOXREF
//{ 0x01DAA270, "_ZN11CBasePlayer15UpdateStatusBarEv", mfunc_ptr_cast(&CBasePlayer::UpdateStatusBar) }, { 0x01DAA270, "_ZN11CBasePlayer15UpdateStatusBarEv", mfunc_ptr_cast(&CBasePlayer::UpdateStatusBar) },
{ 0x01DAC0F0, "_ZN11CBasePlayer18StudioEstimateGaitEv", mfunc_ptr_cast(&CBasePlayer::StudioEstimateGait) }, { 0x01DAC0F0, "_ZN11CBasePlayer18StudioEstimateGaitEv", mfunc_ptr_cast(&CBasePlayer::StudioEstimateGait) },
//{ 0x01DAC400, "_ZN11CBasePlayer17StudioPlayerBlendEPiPf", mfunc_ptr_cast(&CBasePlayer::StudioPlayerBlend) }, // NOXREF //{ 0x01DAC400, "_ZN11CBasePlayer17StudioPlayerBlendEPiPf", mfunc_ptr_cast(&CBasePlayer::StudioPlayerBlend) }, // NOXREF
//{ 0x01DAC490, "_ZN11CBasePlayer19CalculatePitchBlendEv", mfunc_ptr_cast(&CBasePlayer::CalculatePitchBlend) }, // NOXREF //{ 0x01DAC490, "_ZN11CBasePlayer19CalculatePitchBlendEv", mfunc_ptr_cast(&CBasePlayer::CalculatePitchBlend) }, // NOXREF
{ 0x01DAC510, "_ZN11CBasePlayer17CalculateYawBlendEv", mfunc_ptr_cast(&CBasePlayer::CalculateYawBlend) }, { 0x01DAC510, "_ZN11CBasePlayer17CalculateYawBlendEv", mfunc_ptr_cast(&CBasePlayer::CalculateYawBlend) },
{ 0x01DAC640, "_ZN11CBasePlayer17StudioProcessGaitEv", mfunc_ptr_cast(&CBasePlayer::StudioProcessGait) }, { 0x01DAC640, "_ZN11CBasePlayer17StudioProcessGaitEv", mfunc_ptr_cast(&CBasePlayer::StudioProcessGait) },
//{ 0x0, "_ZN11CBasePlayer14SendHostagePosEv", mfunc_ptr_cast(&CBasePlayer::SendHostagePos) }, //{ 0x01DA8D40, "_ZN11CBasePlayer14SendHostagePosEv", mfunc_ptr_cast(&CBasePlayer::SendHostagePos) }, // NOXREF
{ 0x01DA8DE0, "_ZN11CBasePlayer16SendHostageIconsEv", mfunc_ptr_cast(&CBasePlayer::SendHostageIcons) }, { 0x01DA8DE0, "_ZN11CBasePlayer16SendHostageIconsEv", mfunc_ptr_cast(&CBasePlayer::SendHostageIcons) },
//{ 0x01DAC7C0, "_ZN11CBasePlayer12ResetStaminaEv", mfunc_ptr_cast(&CBasePlayer::ResetStamina) }, // NOXREF //{ 0x01DAC7C0, "_ZN11CBasePlayer12ResetStaminaEv", mfunc_ptr_cast(&CBasePlayer::ResetStamina) }, // NOXREF
//{ 0x01DACA10, "_ZN11CBasePlayer9IsArmoredEi", mfunc_ptr_cast(&CBasePlayer::IsArmored) }, // NOXREF //{ 0x01DACA10, "_ZN11CBasePlayer9IsArmoredEi", mfunc_ptr_cast(&CBasePlayer::IsArmored) }, // NOXREF
//{ 0x01DACA60, "_ZN11CBasePlayer19ShouldDoLargeFlinchEii", mfunc_ptr_cast(&CBasePlayer::ShouldDoLargeFlinch) }, // NOXREF //{ 0x01DACA60, "_ZN11CBasePlayer19ShouldDoLargeFlinchEii", mfunc_ptr_cast(&CBasePlayer::ShouldDoLargeFlinch) }, // NOXREF
{ 0x01DACAD0, "_ZN11CBasePlayer20SetPrefsFromUserinfoEPc", mfunc_ptr_cast(&CBasePlayer::SetPrefsFromUserinfo) }, { 0x01DACAD0, "_ZN11CBasePlayer20SetPrefsFromUserinfoEPc", mfunc_ptr_cast(&CBasePlayer::SetPrefsFromUserinfo) },
//{ 0x0, "_ZN11CBasePlayer15SendWeatherInfoEv", mfunc_ptr_cast(&CBasePlayer::SendWeatherInfo) }, { 0x01DA8EE0, "_ZN11CBasePlayer15SendWeatherInfoEv", mfunc_ptr_cast(&CBasePlayer::SendWeatherInfo) },
{ 0x01DAB6F0, "_ZN11CBasePlayer21UpdateShieldCrosshairEb", mfunc_ptr_cast(&CBasePlayer::UpdateShieldCrosshair) }, { 0x01DAB6F0, "_ZN11CBasePlayer21UpdateShieldCrosshairEb", mfunc_ptr_cast(&CBasePlayer::UpdateShieldCrosshair) },
{ 0x01DA0DA0, "_ZN11CBasePlayer9HasShieldEv", mfunc_ptr_cast(&CBasePlayer::HasShield) }, { 0x01DA0DA0, "_ZN11CBasePlayer9HasShieldEv", mfunc_ptr_cast(&CBasePlayer::HasShield) },
//{ 0x0, "_ZN11CBasePlayer19IsProtectedByShieldEv", mfunc_ptr_cast(&CBasePlayer::IsProtectedByShield) }, //{ 0x0, "_ZN11CBasePlayer19IsProtectedByShieldEv", mfunc_ptr_cast(&CBasePlayer::IsProtectedByShield) },
@ -780,7 +778,7 @@ FunctionHook g_FunctionHooks[] =
//{ 0x01DAD180, "_ZN11CBasePlayer16ClearAutoBuyDataEv", mfunc_ptr_cast(&CBasePlayer::ClearAutoBuyData) }, //{ 0x01DAD180, "_ZN11CBasePlayer16ClearAutoBuyDataEv", mfunc_ptr_cast(&CBasePlayer::ClearAutoBuyData) },
{ 0x01DAD190, "_ZN11CBasePlayer14AddAutoBuyDataEPKc", mfunc_ptr_cast(&CBasePlayer::AddAutoBuyData) }, { 0x01DAD190, "_ZN11CBasePlayer14AddAutoBuyDataEPKc", mfunc_ptr_cast(&CBasePlayer::AddAutoBuyData) },
//{ 0x01DAD280, "_ZN11CBasePlayer7AutoBuyEv", mfunc_ptr_cast(&CBasePlayer::AutoBuy) }, //{ 0x01DAD280, "_ZN11CBasePlayer7AutoBuyEv", mfunc_ptr_cast(&CBasePlayer::AutoBuy) },
//{ 0x01DAD0D0, "_ZN11CBasePlayer13ClientCommandEPKcS1_S1_S1_", mfunc_ptr_cast(&CBasePlayer::ClientCommand) }, { 0x01DAD0D0, "_ZN11CBasePlayer13ClientCommandEPKcS1_S1_S1_", mfunc_ptr_cast(&CBasePlayer::ClientCommand) },
{ 0x01DADD00, "_ZN11CBasePlayer23PrioritizeAutoBuyStringEPcPKc", mfunc_ptr_cast(&CBasePlayer::PrioritizeAutoBuyString) }, { 0x01DADD00, "_ZN11CBasePlayer23PrioritizeAutoBuyStringEPcPKc", mfunc_ptr_cast(&CBasePlayer::PrioritizeAutoBuyString) },
//{ 0x01DAD590, "_ZN11CBasePlayer27PickPrimaryCareerTaskWeaponEv", mfunc_ptr_cast(&CBasePlayer::PickPrimaryCareerTaskWeapon) }, //{ 0x01DAD590, "_ZN11CBasePlayer27PickPrimaryCareerTaskWeaponEv", mfunc_ptr_cast(&CBasePlayer::PickPrimaryCareerTaskWeapon) },
//{ 0x01DAD930, "_ZN11CBasePlayer29PickSecondaryCareerTaskWeaponEv", mfunc_ptr_cast(&CBasePlayer::PickSecondaryCareerTaskWeapon) }, //{ 0x01DAD930, "_ZN11CBasePlayer29PickSecondaryCareerTaskWeaponEv", mfunc_ptr_cast(&CBasePlayer::PickSecondaryCareerTaskWeapon) },
@ -818,7 +816,7 @@ FunctionHook g_FunctionHooks[] =
{ 0x01D9C2B0, "_Z13GetWeaponNameP9entvars_sS0_", (size_t)&GetWeaponName }, { 0x01D9C2B0, "_Z13GetWeaponNameP9entvars_sS0_", (size_t)&GetWeaponName },
{ 0x01D9C3C0, "_Z9LogAttackP11CBasePlayerS0_iiiiiPKc", (size_t)&LogAttack }, { 0x01D9C3C0, "_Z9LogAttackP11CBasePlayerS0_iiiiiPKc", (size_t)&LogAttack },
{ 0x01D9D770, "_ZL14packPlayerItemP11CBasePlayerP15CBasePlayerItemb", (size_t)&packPlayerItem }, { 0x01D9D770, "_ZL14packPlayerItemP11CBasePlayerP15CBasePlayerItemb", (size_t)&packPlayerItem },
//{ 0x0, "_ZL13CanSeeUseableP11CBasePlayerP11CBaseEntity_isra_13", (size_t)&CanSeeUseable }, { 0x01DA3110, "_ZL13CanSeeUseableP11CBasePlayerP11CBaseEntity_isra_13", (size_t)&CanSeeUseable },
//{ 0x01DA34E0, "_Z20FixPlayerCrouchStuckP7edict_s", (size_t)&FixPlayerCrouchStuck }, //{ 0x01DA34E0, "_Z20FixPlayerCrouchStuckP7edict_s", (size_t)&FixPlayerCrouchStuck },
//{ 0x01DA4A90, "_Z17IsSpawnPointValidP11CBaseEntityS0_", (size_t)&IsSpawnPointValid }, // NOXREF //{ 0x01DA4A90, "_Z17IsSpawnPointValidP11CBaseEntityS0_", (size_t)&IsSpawnPointValid }, // NOXREF
//{ 0x01DA4B10, "_Z16InitZombieSpawnsv", (size_t)&InitZombieSpawns }, // NOXREF //{ 0x01DA4B10, "_Z16InitZombieSpawnsv", (size_t)&InitZombieSpawns }, // NOXREF
@ -849,10 +847,10 @@ FunctionHook g_FunctionHooks[] =
//CSprayCan //CSprayCan
//virtual func //virtual func
//{ 0x0, "_ZN9CSprayCan5ThinkEv", mfunc_ptr_cast(&CSprayCan::Think_) }, { 0x01DA6A30, "_ZN9CSprayCan5ThinkEv", mfunc_ptr_cast(&CSprayCan::Think_) },
//{ 0x0, "_ZN9CSprayCan10ObjectCapsEv", mfunc_ptr_cast(&CSprayCan::ObjectCaps_) }, { 0x01DA73B0, "_ZN9CSprayCan10ObjectCapsEv", mfunc_ptr_cast(&CSprayCan::ObjectCaps_) },
//non-virtual func //non-virtual func
//{ 0x0, "_ZN9CSprayCan5SpawnEP9entvars_s", mfunc_ptr_cast(&CSprayCan::Spawn) }, { 0x01DA6970, "_ZN9CSprayCan5SpawnEP9entvars_s", mfunc_ptr_cast(&CSprayCan::Spawn) }, // NOXREF
//CBloodSplat //CBloodSplat
//{ 0x01DA6B70, "_ZN11CBloodSplat5SpawnEP9entvars_s", mfunc_ptr_cast(&CBloodSplat::Spawn) }, // NOXREF //{ 0x01DA6B70, "_ZN11CBloodSplat5SpawnEP9entvars_s", mfunc_ptr_cast(&CBloodSplat::Spawn) }, // NOXREF
//{ 0x01DA6C00, "_ZN11CBloodSplat5SprayEv", mfunc_ptr_cast(&CBloodSplat::Spray) }, // NOXREF //{ 0x01DA6C00, "_ZN11CBloodSplat5SprayEv", mfunc_ptr_cast(&CBloodSplat::Spray) }, // NOXREF
@ -1272,18 +1270,18 @@ FunctionHook g_FunctionHooks[] =
//CFuncVehicle //CFuncVehicle
//virtual func //virtual func
//{ 0x0, "_ZN12CFuncVehicle5SpawnEv", mfunc_ptr_cast(&CFuncVehicle::Spawn) }, //{ 0x0, "_ZN12CFuncVehicle5SpawnEv", mfunc_ptr_cast(&CFuncVehicle::Spawn_) },
//{ 0x0, "_ZN12CFuncVehicle8PrecacheEv", mfunc_ptr_cast(&CFuncVehicle::Precache) }, { 0x01DCC310, "_ZN12CFuncVehicle8PrecacheEv", mfunc_ptr_cast(&CFuncVehicle::Precache_) },
//{ 0x0, "_ZN12CFuncVehicle7RestartEv", mfunc_ptr_cast(&CFuncVehicle::Restart) }, //{ 0x0, "_ZN12CFuncVehicle7RestartEv", mfunc_ptr_cast(&CFuncVehicle::Restart_) },
//{ 0x0, "_ZN12CFuncVehicle8KeyValueEP14KeyValueData_s", mfunc_ptr_cast(&CFuncVehicle::KeyValue) }, //{ 0x0, "_ZN12CFuncVehicle8KeyValueEP14KeyValueData_s", mfunc_ptr_cast(&CFuncVehicle::KeyValue_) },
//{ 0x0, "_ZN12CFuncVehicle4SaveER5CSave", mfunc_ptr_cast(&CFuncVehicle::Save) }, //{ 0x0, "_ZN12CFuncVehicle4SaveER5CSave", mfunc_ptr_cast(&CFuncVehicle::Save_) },
//{ 0x0, "_ZN12CFuncVehicle7RestoreER8CRestore", mfunc_ptr_cast(&CFuncVehicle::Restore) }, //{ 0x0, "_ZN12CFuncVehicle7RestoreER8CRestore", mfunc_ptr_cast(&CFuncVehicle::Restore_) },
//{ 0x0, "_ZN12CFuncVehicle10ObjectCapsEv", mfunc_ptr_cast(&CFuncVehicle::ObjectCaps) }, //{ 0x0, "_ZN12CFuncVehicle10ObjectCapsEv", mfunc_ptr_cast(&CFuncVehicle::ObjectCaps_) },
//{ 0x0, "_ZN12CFuncVehicle8ClassifyEv", mfunc_ptr_cast(&CFuncVehicle::Classify) }, { 0x01DCBFB0, "_ZN12CFuncVehicle8ClassifyEv", mfunc_ptr_cast(&CFuncVehicle::Classify_) },
//{ 0x0, "_ZN12CFuncVehicle13OverrideResetEv", mfunc_ptr_cast(&CFuncVehicle::OverrideReset) }, //{ 0x0, "_ZN12CFuncVehicle13OverrideResetEv", mfunc_ptr_cast(&CFuncVehicle::OverrideReset_) },
//{ 0x0, "_ZN12CFuncVehicle10OnControlsEP9entvars_s", mfunc_ptr_cast(&CFuncVehicle::OnControls) }, { 0x01DCBA30, "_ZN12CFuncVehicle10OnControlsEP9entvars_s", mfunc_ptr_cast(&CFuncVehicle::OnControls_) },
//{ 0x0, "_ZN12CFuncVehicle3UseEP11CBaseEntityS1_8USE_TYPEf", mfunc_ptr_cast(&CFuncVehicle::Use) }, //{ 0x0, "_ZN12CFuncVehicle3UseEP11CBaseEntityS1_8USE_TYPEf", mfunc_ptr_cast(&CFuncVehicle::Use_) },
//{ 0x0, "_ZN12CFuncVehicle7BlockedEP11CBaseEntity", mfunc_ptr_cast(&CFuncVehicle::Blocked) }, //{ 0x0, "_ZN12CFuncVehicle7BlockedEP11CBaseEntity", mfunc_ptr_cast(&CFuncVehicle::Blocked_) },
//non-virtual func //non-virtual func
//{ 0x0, "_ZN12CFuncVehicle4NextEv", mfunc_ptr_cast(&CFuncVehicle::Next) }, //{ 0x0, "_ZN12CFuncVehicle4NextEv", mfunc_ptr_cast(&CFuncVehicle::Next) },
//{ 0x0, "_ZN12CFuncVehicle4FindEv", mfunc_ptr_cast(&CFuncVehicle::Find) }, //{ 0x0, "_ZN12CFuncVehicle4FindEv", mfunc_ptr_cast(&CFuncVehicle::Find) },
@ -1293,11 +1291,11 @@ FunctionHook g_FunctionHooks[] =
//{ 0x0, "_ZN12CFuncVehicle18CollisionDetectionEv", mfunc_ptr_cast(&CFuncVehicle::CollisionDetection) }, //{ 0x0, "_ZN12CFuncVehicle18CollisionDetectionEv", mfunc_ptr_cast(&CFuncVehicle::CollisionDetection) },
//{ 0x0, "_ZN12CFuncVehicle16TerrainFollowingEv", mfunc_ptr_cast(&CFuncVehicle::TerrainFollowing) }, //{ 0x0, "_ZN12CFuncVehicle16TerrainFollowingEv", mfunc_ptr_cast(&CFuncVehicle::TerrainFollowing) },
//{ 0x0, "_ZN12CFuncVehicle12CheckTurningEv", mfunc_ptr_cast(&CFuncVehicle::CheckTurning) }, //{ 0x0, "_ZN12CFuncVehicle12CheckTurningEv", mfunc_ptr_cast(&CFuncVehicle::CheckTurning) },
//{ 0x0, "_ZN12CFuncVehicle8SetTrackEP10CPathTrack", mfunc_ptr_cast(&CFuncVehicle::SetTrack) },// NOXREF //{ 0x0, "_ZN12CFuncVehicle8SetTrackEP10CPathTrack", mfunc_ptr_cast(&CFuncVehicle::SetTrack) }, // NOXREF
//{ 0x0, "_ZN12CFuncVehicle11SetControlsEP9entvars_s", mfunc_ptr_cast(&CFuncVehicle::SetControls) }, //{ 0x01DCB980, "_ZN12CFuncVehicle11SetControlsEP9entvars_s", mfunc_ptr_cast(&CFuncVehicle::SetControls) }, // NOXREF
//{ 0x0, "_ZN12CFuncVehicle9StopSoundEv", mfunc_ptr_cast(&CFuncVehicle::StopSound) }, //{ 0x0, "_ZN12CFuncVehicle9StopSoundEv", mfunc_ptr_cast(&CFuncVehicle::StopSound) },
//{ 0x0, "_ZN12CFuncVehicle11UpdateSoundEv", mfunc_ptr_cast(&CFuncVehicle::UpdateSound) }, //{ 0x0, "_ZN12CFuncVehicle11UpdateSoundEv", mfunc_ptr_cast(&CFuncVehicle::UpdateSound) },
//{ 0x0, "_ZN12CFuncVehicle8InstanceEP7edict_s", mfunc_ptr_cast(&CFuncVehicle::Instance) }, //{ 0x01DCBF60, "_ZN12CFuncVehicle8InstanceEP7edict_s", mfunc_ptr_cast(&CFuncVehicle::Instance) }, // NOXREF
//{ 0x0, "", (size_t)&FixupAngles2 }, // NOXREF //{ 0x0, "", (size_t)&FixupAngles2 }, // NOXREF
//CFuncVehicleControls //CFuncVehicleControls
//virtual func //virtual func
@ -1396,8 +1394,8 @@ FunctionHook g_FunctionHooks[] =
//{ 0x0, "_ZN10CBreakable18ExplosionMagnitudeEv", mfunc_ptr_cast(&CBreakable::ExplosionMagnitude) }, // NOXREF //{ 0x0, "_ZN10CBreakable18ExplosionMagnitudeEv", mfunc_ptr_cast(&CBreakable::ExplosionMagnitude) }, // NOXREF
//{ 0x0, "_ZN10CBreakable21ExplosionSetMagnitudeEi", mfunc_ptr_cast(&CBreakable::ExplosionSetMagnitude) }, // NOXREF //{ 0x0, "_ZN10CBreakable21ExplosionSetMagnitudeEi", mfunc_ptr_cast(&CBreakable::ExplosionSetMagnitude) }, // NOXREF
//{ 0x0, "_ZN10CBreakable21MaterialSoundPrecacheE9Materials", mfunc_ptr_cast(&CBreakable::MaterialSoundPrecache) }, //{ 0x0, "_ZN10CBreakable21MaterialSoundPrecacheE9Materials", mfunc_ptr_cast(&CBreakable::MaterialSoundPrecache) },
//{ 0x01D7C710, "_ZN10CBreakable19MaterialSoundRandomEP7edict_s9Materialsf", mfunc_ptr_cast(&CBreakable::MaterialSoundRandom) }, { 0x01D7C710, "_ZN10CBreakable19MaterialSoundRandomEP7edict_s9Materialsf", mfunc_ptr_cast(&CBreakable::MaterialSoundRandom) },
//{ 0x0, "_ZN10CBreakable17MaterialSoundListE9MaterialsRi", mfunc_ptr_cast(&CBreakable::MaterialSoundList) }, //{ 0x01D7C5D0, "_ZN10CBreakable17MaterialSoundListE9MaterialsRi", mfunc_ptr_cast(&CBreakable::MaterialSoundList) }, // NOXREF
//CPushable //CPushable
//virtual func //virtual func
//{ 0x0, "_ZN9CPushable5SpawnEv", mfunc_ptr_cast(&CPushable::Spawn_) }, //{ 0x0, "_ZN9CPushable5SpawnEv", mfunc_ptr_cast(&CPushable::Spawn_) },
@ -1515,6 +1513,8 @@ FunctionHook g_FunctionHooks[] =
//{ 0x0, "_ZN9CPendulum4StopEv", mfunc_ptr_cast(&CPendulum::Stop) }, //{ 0x0, "_ZN9CPendulum4StopEv", mfunc_ptr_cast(&CPendulum::Stop) },
//{ 0x0, "_ZN9CPendulum9RopeTouchEP11CBaseEntity", mfunc_ptr_cast(&CPendulum::RopeTouch) }, //{ 0x0, "_ZN9CPendulum9RopeTouchEP11CBaseEntity", mfunc_ptr_cast(&CPendulum::RopeTouch) },
{ 0x01D5CF20, "_Z15VecBModelOriginP9entvars_s", (size_t)&VecBModelOrigin },
#endif // BModels_Region #endif // BModels_Region
#ifndef Button_Region #ifndef Button_Region
@ -2146,7 +2146,7 @@ FunctionHook g_FunctionHooks[] =
//{ 0x0, "_ZN12CGlobalState5ResetEv", mfunc_ptr_cast(&CGlobalState::Reset) }, //{ 0x0, "_ZN12CGlobalState5ResetEv", mfunc_ptr_cast(&CGlobalState::Reset) },
{ 0x01DD17A0, "_ZN12CGlobalState4FindEj", mfunc_ptr_cast(&CGlobalState::Find) }, { 0x01DD17A0, "_ZN12CGlobalState4FindEj", mfunc_ptr_cast(&CGlobalState::Find) },
//{ 0x0, "_ZN12CGlobalState11DumpGlobalsEv", mfunc_ptr_cast(&CGlobalState::DumpGlobals) }, { 0x01DD1810, "_ZN12CGlobalState11DumpGlobalsEv", mfunc_ptr_cast(&CGlobalState::DumpGlobals) },
//{ 0x01DD1860, "_ZN12CGlobalState9EntityAddEjj12GLOBALESTATE", mfunc_ptr_cast(&CGlobalState::EntityAdd) }, //{ 0x01DD1860, "_ZN12CGlobalState9EntityAddEjj12GLOBALESTATE", mfunc_ptr_cast(&CGlobalState::EntityAdd) },
{ 0x01DD18D0, "_ZN12CGlobalState14EntitySetStateEj12GLOBALESTATE", mfunc_ptr_cast(&CGlobalState::EntitySetState) }, { 0x01DD18D0, "_ZN12CGlobalState14EntitySetStateEj12GLOBALESTATE", mfunc_ptr_cast(&CGlobalState::EntitySetState) },
//{ 0x01DD1950, "_ZN12CGlobalState15EntityFromTableEj", mfunc_ptr_cast(&CGlobalState::EntityFromTable) }, //{ 0x01DD1950, "_ZN12CGlobalState15EntityFromTableEj", mfunc_ptr_cast(&CGlobalState::EntityFromTable) },
@ -2173,9 +2173,9 @@ FunctionHook g_FunctionHooks[] =
//{ 0x0, "_ZN6CGraph12CheckNODFileEPc", mfunc_ptr_cast(&CGraph::CheckNODFile) }, //{ 0x0, "_ZN6CGraph12CheckNODFileEPc", mfunc_ptr_cast(&CGraph::CheckNODFile) },
//{ 0x0, "_ZN6CGraph10FLoadGraphEPc", mfunc_ptr_cast(&CGraph::FLoadGraph) }, //{ 0x0, "_ZN6CGraph10FLoadGraphEPc", mfunc_ptr_cast(&CGraph::FLoadGraph) },
//{ 0x01D8ABB0, "_ZN6CGraph17FSetGraphPointersEv", mfunc_ptr_cast(&CGraph::FSetGraphPointers) }, //{ 0x01D8ABB0, "_ZN6CGraph17FSetGraphPointersEv", mfunc_ptr_cast(&CGraph::FSetGraphPointers) },
//{ 0x0, "_ZN6CGraph19ShowNodeConnectionsEi", mfunc_ptr_cast(&CGraph::ShowNodeConnections) }, //{ 0x01D8ABC0, "_ZN6CGraph19ShowNodeConnectionsEi", mfunc_ptr_cast(&CGraph::ShowNodeConnections) }, // NOXREF
//{ 0x0, "_ZN6CGraph15FindNearestNodeERK6VectorP11CBaseEntity", mfunc_ptr_cast<FIND_NEAREST_NODE_ENTITY>(&CGraph::FindNearestNode) }, //{ 0x01D8ABE0, "_ZN6CGraph15FindNearestNodeERK6VectorP11CBaseEntity", mfunc_ptr_cast<FIND_NEAREST_NODE_ENTITY>(&CGraph::FindNearestNode) }, // NOXREF
//{ 0x0, "_ZN6CGraph15FindNearestNodeERK6Vectori", mfunc_ptr_cast<FIND_NEAREST_NODE_INT>(&CGraph::FindNearestNode) }, //{ 0x01D8ABD0, "_ZN6CGraph15FindNearestNodeERK6Vectori", mfunc_ptr_cast<FIND_NEAREST_NODE_INT>(&CGraph::FindNearestNode) }, // PURE
#endif // Graph_Region #endif // Graph_Region
@ -2195,7 +2195,7 @@ FunctionHook g_FunctionHooks[] =
//{ 0x0, "_ZN9CSoundEnt5ThinkEv", mfunc_ptr_cast(&CSoundEnt::Think_) }, //{ 0x0, "_ZN9CSoundEnt5ThinkEv", mfunc_ptr_cast(&CSoundEnt::Think_) },
//non-virtual func //non-virtual func
//{ 0x0, "_ZN9CSoundEnt10InitializeEv", mfunc_ptr_cast(&CSoundEnt::Initialize) }, //{ 0x0, "_ZN9CSoundEnt10InitializeEv", mfunc_ptr_cast(&CSoundEnt::Initialize) },
//{ 0x0, "_ZN9CSoundEnt11InsertSoundEiRK6Vectorif", mfunc_ptr_cast(&CSoundEnt::InsertSound) }, { 0x01DBA820, "_ZN9CSoundEnt11InsertSoundEiRK6Vectorif", mfunc_ptr_cast(&CSoundEnt::InsertSound) },
//{ 0x0, "_ZN9CSoundEnt9FreeSoundEii", mfunc_ptr_cast(&CSoundEnt::FreeSound) }, //{ 0x0, "_ZN9CSoundEnt9FreeSoundEii", mfunc_ptr_cast(&CSoundEnt::FreeSound) },
//{ 0x0, "_ZN9CSoundEnt10ActiveListEv", mfunc_ptr_cast(&CSoundEnt::ActiveList) }, //{ 0x0, "_ZN9CSoundEnt10ActiveListEv", mfunc_ptr_cast(&CSoundEnt::ActiveList) },
//{ 0x0, "_ZN9CSoundEnt8FreeListEv", mfunc_ptr_cast(&CSoundEnt::FreeList) }, //{ 0x0, "_ZN9CSoundEnt8FreeListEv", mfunc_ptr_cast(&CSoundEnt::FreeList) },
@ -2203,7 +2203,7 @@ FunctionHook g_FunctionHooks[] =
//{ 0x0, "_ZN9CSoundEnt16ClientSoundIndexEP7edict_s", mfunc_ptr_cast(&CSoundEnt::ClientSoundIndex) }, //{ 0x0, "_ZN9CSoundEnt16ClientSoundIndexEP7edict_s", mfunc_ptr_cast(&CSoundEnt::ClientSoundIndex) },
//{ 0x0, "_ZN9CSoundEnt7IsEmptyEv", mfunc_ptr_cast(&CSoundEnt::IsEmpty) }, // NOXREF //{ 0x0, "_ZN9CSoundEnt7IsEmptyEv", mfunc_ptr_cast(&CSoundEnt::IsEmpty) }, // NOXREF
//{ 0x0, "_ZN9CSoundEnt13ISoundsInListEi", mfunc_ptr_cast(&CSoundEnt::ISoundsInList) }, //{ 0x0, "_ZN9CSoundEnt13ISoundsInListEi", mfunc_ptr_cast(&CSoundEnt::ISoundsInList) },
//{ 0x0, "_ZN9CSoundEnt11IAllocSoundEv", mfunc_ptr_cast(&CSoundEnt::IAllocSound) }, //{ 0x01DBA7D0, "_ZN9CSoundEnt11IAllocSoundEv", mfunc_ptr_cast(&CSoundEnt::IAllocSound) }, // NOXREF
#endif // SoundEnt_Region #endif // SoundEnt_Region
@ -4630,6 +4630,9 @@ FunctionHook g_FunctionHooks[] =
#ifndef Vector_Region #ifndef Vector_Region
{ 0x01D71160, "_ZN8Vector2D16NormalizeInPlaceEv", mfunc_ptr_cast(&Vector2D::NormalizeInPlace) }, { 0x01D71160, "_ZN8Vector2D16NormalizeInPlaceEv", mfunc_ptr_cast(&Vector2D::NormalizeInPlace) },
#ifdef _WIN32
{ 0x01D12570, "", mfunc_ptr_cast(&Vector::Length) },
#endif // _WIN32
#endif // Vector_Region #endif // Vector_Region
@ -5172,6 +5175,8 @@ AddressRef g_FunctionRefs[] =
{ 0x01D68840, "_Z13ClientCommandP7edict_s", (size_t)&pClientCommand }, { 0x01D68840, "_Z13ClientCommandP7edict_s", (size_t)&pClientCommand },
{ 0x01D6EEB0, "_ZN4CGib15SpawnRandomGibsEP9entvars_sii", (size_t)&pCGib__SpawnRandomGibs },
#endif // Function_References_Region #endif // Function_References_Region
{ NULL, NULL, NULL } { NULL, NULL, NULL }
}; };
@ -5257,7 +5262,7 @@ AddressRef g_DataRefs[] =
{ 0x01E75D00, "g_groupop", (size_t)&pg_groupop }, { 0x01E75D00, "g_groupop", (size_t)&pg_groupop },
{ 0x01E21EF8, "gSizes", (size_t)&pgSizes }, { 0x01E21EF8, "gSizes", (size_t)&pgSizes },
//{ 0x0, "pSoundEnt", (size_t)&ppSoundEnt }, { 0x01E75490, "pSoundEnt", (size_t)&ppSoundEnt },
{ 0x01E75CF8, "glSeed", (size_t)&pglSeed }, { 0x01E75CF8, "glSeed", (size_t)&pglSeed },
{ 0x01E21598, "seed_table", (size_t)&pseed_table }, { 0x01E21598, "seed_table", (size_t)&pseed_table },
{ 0x01E21998, "gEntvarsDescription", (size_t)&pgEntvarsDescription }, { 0x01E21998, "gEntvarsDescription", (size_t)&pgEntvarsDescription },
@ -5285,9 +5290,9 @@ AddressRef g_DataRefs[] =
//{ 0x0, "gmsgDamage", (size_t)&pgmsgDamage }, //{ 0x0, "gmsgDamage", (size_t)&pgmsgDamage },
//{ 0x0, "gmsgBattery", (size_t)&pgmsgBattery }, //{ 0x0, "gmsgBattery", (size_t)&pgmsgBattery },
//{ 0x0, "gmsgTrain", (size_t)&pgmsgTrain }, //{ 0x0, "gmsgTrain", (size_t)&pgmsgTrain },
//{ 0x0, "gmsgLogo", (size_t)&pgmsgLogo }, { 0x01E635D4, "gmsgLogo", (size_t)&pgmsgLogo },
{ 0x01E635D8, "gmsgWeaponList", (size_t)&pgmsgWeaponList }, { 0x01E635D8, "gmsgWeaponList", (size_t)&pgmsgWeaponList },
//{ 0x01E635DC, "gmsgAmmoX", (size_t)&pgmsgAmmoX }, { 0x01E635DC, "gmsgAmmoX", (size_t)&pgmsgAmmoX },
//{ 0x0, "gmsgDeathMsg", (size_t)&pgmsgDeathMsg }, //{ 0x0, "gmsgDeathMsg", (size_t)&pgmsgDeathMsg },
{ 0x01E635EC, "gmsgScoreAttrib", (size_t)&pgmsgScoreAttrib }, { 0x01E635EC, "gmsgScoreAttrib", (size_t)&pgmsgScoreAttrib },
{ 0x01E635F0, "gmsgScoreInfo", (size_t)&pgmsgScoreInfo }, { 0x01E635F0, "gmsgScoreInfo", (size_t)&pgmsgScoreInfo },
@ -5308,8 +5313,8 @@ AddressRef g_DataRefs[] =
{ 0x01E63630, "gmsgMoney", (size_t)&pgmsgMoney }, { 0x01E63630, "gmsgMoney", (size_t)&pgmsgMoney },
{ 0x01E63634, "gmsgBlinkAcct", (size_t)&pgmsgBlinkAcct }, { 0x01E63634, "gmsgBlinkAcct", (size_t)&pgmsgBlinkAcct },
{ 0x01E63638, "gmsgArmorType", (size_t)&pgmsgArmorType }, { 0x01E63638, "gmsgArmorType", (size_t)&pgmsgArmorType },
//{ 0x0, "gmsgStatusValue", (size_t)&pgmsgStatusValue }, { 0x01E6363C, "gmsgStatusValue", (size_t)&pgmsgStatusValue },
//{ 0x0, "gmsgStatusText", (size_t)&pgmsgStatusText }, { 0x01E63640, "gmsgStatusText", (size_t)&pgmsgStatusText },
{ 0x01E63644, "gmsgStatusIcon", (size_t)&pgmsgStatusIcon }, { 0x01E63644, "gmsgStatusIcon", (size_t)&pgmsgStatusIcon },
{ 0x01E63648, "gmsgBarTime", (size_t)&pgmsgBarTime }, { 0x01E63648, "gmsgBarTime", (size_t)&pgmsgBarTime },
{ 0x01E6364C, "gmsgReloadSound", (size_t)&pgmsgReloadSound }, { 0x01E6364C, "gmsgReloadSound", (size_t)&pgmsgReloadSound },
@ -5329,7 +5334,7 @@ AddressRef g_DataRefs[] =
//{ 0x0, "gmsgAllowSpec", (size_t)&pgmsgAllowSpec }, //{ 0x0, "gmsgAllowSpec", (size_t)&pgmsgAllowSpec },
{ 0x01E63688, "gmsgBombDrop", (size_t)&pgmsgBombDrop }, { 0x01E63688, "gmsgBombDrop", (size_t)&pgmsgBombDrop },
//{ 0x0, "gmsgBombPickup", (size_t)&pgmsgBombPickup }, //{ 0x0, "gmsgBombPickup", (size_t)&pgmsgBombPickup },
//{ 0x0, "gmsgHostagePos", (size_t)&pgmsgHostagePos }, { 0x01E63690, "gmsgHostagePos", (size_t)&pgmsgHostagePos },
//{ 0x0, "gmsgHostageK", (size_t)&pgmsgHostageK }, //{ 0x0, "gmsgHostageK", (size_t)&pgmsgHostageK },
{ 0x01E63698, "gmsgGeigerRange", (size_t)&pgmsgGeigerRange }, { 0x01E63698, "gmsgGeigerRange", (size_t)&pgmsgGeigerRange },
{ 0x01E6369C, "gmsgSendCorpse", (size_t)&pgmsgSendCorpse }, { 0x01E6369C, "gmsgSendCorpse", (size_t)&pgmsgSendCorpse },
@ -5337,7 +5342,7 @@ AddressRef g_DataRefs[] =
//{ 0x0, "gmsgSpecHealth", (size_t)&pgmsgSpecHealth }, //{ 0x0, "gmsgSpecHealth", (size_t)&pgmsgSpecHealth },
//{ 0x0, "gmsgForceCam", (size_t)&pgmsgForceCam }, //{ 0x0, "gmsgForceCam", (size_t)&pgmsgForceCam },
//{ 0x0, "gmsgADStop", (size_t)&pgmsgADStop }, //{ 0x0, "gmsgADStop", (size_t)&pgmsgADStop },
//{ 0x0, "gmsgReceiveW", (size_t)&pgmsgReceiveW }, { 0x01E636B0, "gmsgReceiveW", (size_t)&pgmsgReceiveW },
{ 0x01E636B4, "gmsgScenarioIcon", (size_t)&pgmsgScenarioIcon }, { 0x01E636B4, "gmsgScenarioIcon", (size_t)&pgmsgScenarioIcon },
{ 0x01E636B8, "gmsgBotVoice", (size_t)&pgmsgBotVoice }, { 0x01E636B8, "gmsgBotVoice", (size_t)&pgmsgBotVoice },
{ 0x01E636BC, "gmsgBuyClose", (size_t)&pgmsgBuyClose }, { 0x01E636BC, "gmsgBuyClose", (size_t)&pgmsgBuyClose },

View File

@ -726,7 +726,7 @@ bool HIDDEN HookFunction(Module *module, FunctionHook *hook)
patch[0] = 0xE9; patch[0] = 0xE9;
#if 1 #if 1
if(strcmp(hook->symbolName,"_ZN11CBasePlayer18StudioEstimateGaitEv")==0) if(strcmp(hook->symbolName,"_ZN11CBasePlayer10SwitchTeamEv")==0)
{ {
addr_orig = (void *)hook->originalAddress; addr_orig = (void *)hook->originalAddress;

View File

@ -49,6 +49,7 @@ TEST(StructOffsets, ReversingChecks, 5000)
REPEAT_SIZEOF_PRINT(CHalfLifeMultiplay); REPEAT_SIZEOF_PRINT(CHalfLifeMultiplay);
REPEAT_SIZEOF_PRINT(CHalfLifeTraining); REPEAT_SIZEOF_PRINT(CHalfLifeTraining);
REPEAT_SIZEOF_PRINT(CGib); REPEAT_SIZEOF_PRINT(CGib);
REPEAT_SIZEOF_PRINT(CSprayCan);
// offset the members // offset the members
REPEAT_OFFSETOF_PRINT(CBaseEntity, pev); REPEAT_OFFSETOF_PRINT(CBaseEntity, pev);
@ -64,6 +65,7 @@ TEST(StructOffsets, ReversingChecks, 5000)
CHECK_CLASS_SIZE(CHalfLifeMultiplay, 0x2D0u, 0x2C4u); CHECK_CLASS_SIZE(CHalfLifeMultiplay, 0x2D0u, 0x2C4u);
CHECK_CLASS_SIZE(CHalfLifeTraining, 0x2E8u, 0x2D8u); CHECK_CLASS_SIZE(CHalfLifeTraining, 0x2E8u, 0x2D8u);
CHECK_CLASS_SIZE(CGib, 0x98, 0xA8); CHECK_CLASS_SIZE(CGib, 0x98, 0xA8);
CHECK_CLASS_SIZE(CSprayCan, 0x88, 0x98);
//CHECK_CLASS_SIZE(CBotManager, 12u, 12); //CHECK_CLASS_SIZE(CBotManager, 12u, 12);
//CHECK_CLASS_SIZE(CCSBotManager, 740, 0x2E0u);//0x2E4u | 0x2E0u //CHECK_CLASS_SIZE(CCSBotManager, 740, 0x2E0u);//0x2E4u | 0x2E0u