JustPaste.it

#pragma once
#include <windows.h>
template<typename T> inline T* MakePointerGEN( PVOID thisptr, int offset ) { return reinterpret_cast<T*>( reinterpret_cast<UINT_PTR>( thisptr ) + offset ); }
struct DT_TestTraceline
{
    static inline int* m_clrRender(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x70 ); }
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x134 ); }
    static inline QAngle* m_angRotation0(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x128 ); }
    static inline QAngle* m_angRotation1(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x12c ); }
    static inline QAngle* m_angRotation2(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x130 ); }
    static inline int* moveparent(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x144 ); }
};
struct DT_BaseTempEntity
{
};
struct DT_TEWorldDecal : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline int* m_nIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
};
struct DT_TESpriteSpray : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
    static inline int* m_fNoise(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
    static inline int* m_nCount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x34 ); }
    static inline int* m_nSpeed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
};
struct DT_TESprite : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
    static inline int* m_fScale(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
    static inline int* m_nBrightness(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x24 ); }
};
struct DT_TEParticleSystem : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin0(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecOrigin1(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x14 ); }
    static inline Vector* m_vecOrigin2(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x18 ); }
};
struct DT_TESparks : public DT_TEParticleSystem
{
    static inline int* m_nMagnitude(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
    static inline int* m_nTrailLength(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
    static inline Vector* m_vecDir(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x24 ); }
};
struct DT_TESmoke : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
    static inline int* m_fScale(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
    static inline int* m_nFrameRate(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x24 ); }
};
struct DT_TEShowLine : public DT_TEParticleSystem
{
    static inline Vector* m_vecEnd(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
};
struct DT_TEProjectedDecal : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline QAngle* m_angRotation(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x1c ); }
    static inline float* m_flDistance(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x28 ); }
    static inline int* m_nIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
};
struct DT_TEPlayerDecal : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x14 ); }
    static inline int* m_nEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
    static inline int* m_nPlayer(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x10 ); }
};
struct DT_TEPhysicsProp : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline QAngle* m_angRotation0(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x1c ); }
    static inline QAngle* m_angRotation1(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x20 ); }
    static inline QAngle* m_angRotation2(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x24 ); }
    static inline Vector* m_vecVelocity(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x28 ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x34 ); }
    static inline int* m_nFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x3c ); }
    static inline int* m_nSkin(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x38 ); }
    static inline int* m_nEffects(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x40 ); }
    static inline int* m_clrRender(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x44 ); }
};
struct DT_TEMuzzleFlash : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecAngles(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline float* m_flScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x28 ); }
    static inline int* m_nType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
};
struct DT_TELargeFunnel : public DT_TEParticleSystem
{
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
    static inline int* m_nReversed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
};
struct DT_TEKillPlayerAttachments : public DT_BaseTempEntity
{
    static inline int* m_nPlayer(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x10 ); }
};
struct DT_TEImpact : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecNormal(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline int* m_iType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
    static inline int* m_ucFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
};
struct DT_TEGlowSprite : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
    static inline int* m_fScale(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
    static inline int* m_fLife(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x24 ); }
    static inline int* m_nBrightness(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
};
struct DT_TEShatterSurface : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecAngles(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline Vector* m_vecForce(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x28 ); }
    static inline Vector* m_vecForcePos(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x34 ); }
    static inline float* m_flWidth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x40 ); }
    static inline float* m_flHeight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x44 ); }
    static inline float* m_flShardSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x48 ); }
    static inline int* m_nSurfaceType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x50 ); }
    static inline uchar* m_uchFrontColor0(PVOID thisPtr) { return MakePointerGEN< uchar >( thisPtr, 0x54 ); }
    static inline uchar* m_uchFrontColor1(PVOID thisPtr) { return MakePointerGEN< uchar >( thisPtr, 0x55 ); }
    static inline uchar* m_uchFrontColor2(PVOID thisPtr) { return MakePointerGEN< uchar >( thisPtr, 0x56 ); }
    static inline uchar* m_uchBackColor0(PVOID thisPtr) { return MakePointerGEN< uchar >( thisPtr, 0x57 ); }
    static inline uchar* m_uchBackColor1(PVOID thisPtr) { return MakePointerGEN< uchar >( thisPtr, 0x58 ); }
    static inline uchar* m_uchBackColor2(PVOID thisPtr) { return MakePointerGEN< uchar >( thisPtr, 0x59 ); }
};
struct DT_TEFootprintDecal : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline int* m_nEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x34 ); }
    static inline int* m_nIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x38 ); }
    static inline char* m_chMaterialType(PVOID thisPtr) { return MakePointerGEN< char >( thisPtr, 0x3c ); }
};
struct DT_TEFizz : public DT_BaseTempEntity
{
    static inline int* m_nEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x10 ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x14 ); }
    static inline int* m_nDensity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x18 ); }
    static inline int* m_nCurrent(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
};
struct DT_TEExplosion : public DT_TEParticleSystem
{
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
    static inline int* m_fScale(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
    static inline int* m_nFrameRate(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x24 ); }
    static inline int* m_nFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
    static inline Vector* m_vecNormal(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x2c ); }
    static inline char* m_chMaterialType(PVOID thisPtr) { return MakePointerGEN< char >( thisPtr, 0x38 ); }
    static inline int* m_nRadius(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x3c ); }
    static inline int* m_nMagnitude(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x40 ); }
};
struct DT_TEEnergySplash
{
    static inline Vector* m_vecPos(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecDir(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline bool* m_bExplosive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x28 ); }
};
struct DT_TEEffectDispatch : public DT_BaseTempEntity
{
    struct DT_EffectData
    {
        static inline float* m_vOrigin_x(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x0 ); }
        static inline float* m_vOrigin_y(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x4 ); }
        static inline float* m_vOrigin_z(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x8 ); }
        static inline float* m_vStart_x(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xc ); }
        static inline float* m_vStart_y(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x10 ); }
        static inline float* m_vStart_z(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x14 ); }
        static inline Vector* m_vAngles(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x24 ); }
        static inline Vector* m_vNormal(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x18 ); }
        static inline int* m_fFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
        static inline float* m_flMagnitude(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x3c ); }
        static inline float* m_flScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x38 ); }
        static inline int* m_nAttachmentIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x44 ); }
        static inline int* m_nSurfaceProp(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x48 ); }
        static inline int* m_iEffectName(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x60 ); }
        static inline int* m_nMaterial(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x4c ); }
        static inline int* m_nDamageType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x50 ); }
        static inline int* m_nHitBox(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x54 ); }
        static inline int* entindex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x0 ); }
        static inline int* m_nOtherEntIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x58 ); }
        static inline int* m_nColor(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x5c ); }
        static inline float* m_flRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x40 ); }
    };
    static inline DT_EffectData* m_EffectData(PVOID thisPtr) { return MakePointerGEN< DT_EffectData >( thisPtr, 0x10 ); }
};
struct DT_TEDynamicLight : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline int* r(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
    static inline int* g(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x24 ); }
    static inline int* b(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
    static inline int* exponent(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
    static inline int* m_fRadius(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
    static inline int* m_fTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
    static inline int* m_fDecay(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x34 ); }
};
struct DT_TEDecal : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecStart(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline int* m_nEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
    static inline int* m_nHitbox(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
    static inline int* m_nIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
};
struct DT_TEClientProjectile : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecVelocity(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
    static inline int* m_nLifeTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
    static inline EHANDLE* m_hOwner(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x30 ); }
};
struct DT_TEBubbleTrail : public DT_BaseTempEntity
{
    static inline Vector* m_vecMins(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecMaxs(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
    static inline float* m_flWaterZ(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x28 ); }
    static inline int* m_nCount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
    static inline int* m_fSpeed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x34 ); }
};
struct DT_TEBubbles : public DT_BaseTempEntity
{
    static inline Vector* m_vecMins(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecMaxs(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
    static inline int* m_fHeight(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
    static inline int* m_nCount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
    static inline int* m_fSpeed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x34 ); }
};
struct DT_TEBSPDecal : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline int* m_nEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
    static inline int* m_nIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
};
struct DT_TEBreakModel : public DT_BaseTempEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline QAngle* m_angRotation0(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x1c ); }
    static inline QAngle* m_angRotation1(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x20 ); }
    static inline QAngle* m_angRotation2(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x24 ); }
    static inline Vector* m_vecSize(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x28 ); }
    static inline Vector* m_vecVelocity(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x34 ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x44 ); }
    static inline int* m_nRandomization(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x40 ); }
    static inline int* m_nCount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x48 ); }
    static inline int* m_fTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x4c ); }
    static inline int* m_nFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x50 ); }
};
struct DT_TEBloodStream : public DT_TEParticleSystem
{
    static inline Vector* m_vecDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline int* r(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
    static inline int* g(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
    static inline int* b(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
    static inline int* a(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x34 ); }
    static inline int* m_nAmount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x38 ); }
};
struct DT_TEBloodSprite
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
    static inline int* r(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
    static inline int* g(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
    static inline int* b(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
    static inline int* a(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x34 ); }
    static inline int* m_nSprayModel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x3c ); }
    static inline int* m_nDropModel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x38 ); }
    static inline int* m_nSize(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x40 ); }
};
struct DT_TEBeamSpline
{
    static inline int* m_nPoints(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xd0 ); }
    static inline Vector* m_vecPoints0(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecPoints(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x0 ); } // Array size = 16
};
struct DT_BaseBeam
{
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x10 ); }
    static inline int* m_nHaloIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x14 ); }
    static inline int* m_nStartFrame(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x18 ); }
    static inline int* m_nFrameRate(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
    static inline int* m_fLife(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
    static inline int* m_fWidth(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x24 ); }
    static inline int* m_fEndWidth(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
    static inline int* m_nFadeLength(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
    static inline int* m_fAmplitude(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
    static inline int* m_nSpeed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x44 ); }
    static inline int* r(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x34 ); }
    static inline int* g(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x38 ); }
    static inline int* b(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x3c ); }
    static inline int* a(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x40 ); }
    static inline int* m_nFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x48 ); }
};
struct DT_TEBeamRingPoint : public DT_BaseBeam
{
    static inline Vector* m_vecCenter(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x4c ); }
    static inline float* m_flStartRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x58 ); }
    static inline float* m_flEndRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x5c ); }
};
struct DT_TEBeamRing : public DT_BaseBeam
{
    static inline int* m_nStartEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x4c ); }
    static inline int* m_nEndEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x50 ); }
};
struct DT_TEBeamPoints : public DT_BaseBeam
{
    static inline Vector* m_vecStartPoint(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x4c ); }
    static inline Vector* m_vecEndPoint(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x58 ); }
};
struct DT_TEBeamLaser : public DT_BaseBeam
{
    static inline int* m_nStartEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x4c ); }
    static inline int* m_nEndEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x50 ); }
};
struct DT_TEBeamFollow : public DT_BaseBeam
{
    static inline int* m_iEntIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x4c ); }
};
struct DT_TEBeamEnts : public DT_BaseBeam
{
    static inline int* m_nStartEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x4c ); }
    static inline int* m_nEndEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x50 ); }
};
struct DT_TEBeamEntPoint : public DT_BaseBeam
{
    static inline int* m_nStartEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x4c ); }
    static inline int* m_nEndEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x50 ); }
    static inline Vector* m_vecStartPoint(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x54 ); }
    static inline Vector* m_vecEndPoint(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x60 ); }
};
struct DT_TEMetalSparks
{
    static inline Vector* m_vecPos(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10 ); }
    static inline Vector* m_vecDir(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c ); }
};
struct DT_TEArmorRicochet : public DT_TEMetalSparks
{
};
struct DT_BaseEntity
{
    struct DT_AnimTimeMustBeFirst
    {
        static inline float* m_flAnimTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x25c ); }
    };
    struct DT_CollisionProperty
    {
        static inline Vector* m_vecMins(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x8 ); }
        static inline Vector* m_vecMaxs(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x14 ); }
        static inline int* m_nSolidType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x22 ); }
        static inline int* m_usSolidFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
        static inline int* m_nSurroundType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2a ); }
        static inline int* m_triggerBloat(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x23 ); }
        static inline Vector* m_vecSpecifiedSurroundingMins(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x2c ); }
        static inline Vector* m_vecSpecifiedSurroundingMaxs(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x38 ); }
    };
    static inline DT_AnimTimeMustBeFirst* AnimTimeMustBeFirst(PVOID thisPtr) { return MakePointerGEN< DT_AnimTimeMustBeFirst >( thisPtr, 0x0 ); }
    static inline float* m_flSimulationTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x264 ); }
    static inline int* m_cellbits(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x74 ); }
    static inline int* m_cellX(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x7c ); }
    static inline int* m_cellY(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x80 ); }
    static inline int* m_cellZ(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x84 ); }
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x134 ); }
    static inline QAngle* m_angRotation(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x128 ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x254 ); }
    static inline int* m_fEffects(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xec ); }
    static inline int* m_nRenderMode(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x257 ); }
    static inline int* m_nRenderFX(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x256 ); }
    static inline int* m_clrRender(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x70 ); }
    static inline int* m_iTeamNum(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xf0 ); }
    static inline int* m_iPendingTeamNum(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xf4 ); }
    static inline int* m_CollisionGroup(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x46c ); }
    static inline float* m_flElasticity(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x394 ); }
    static inline float* m_flShadowCastDistance(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x398 ); }
    static inline EHANDLE* m_hOwnerEntity(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x148 ); }
    static inline EHANDLE* m_hEffectEntity(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x948 ); }
    static inline int* moveparent(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x144 ); }
    static inline int* m_iParentAttachment(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2e4 ); }
    static inline int* m_iName(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x150 ); }
    static inline int* movetype(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x0 ); }
    static inline int* movecollide(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x0 ); }
    static inline DT_CollisionProperty* m_Collision(PVOID thisPtr) { return MakePointerGEN< DT_CollisionProperty >( thisPtr, 0x314 ); }
    static inline int* m_iTextureFrameIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x93a ); }
    static inline bool* m_bSimulatedEveryTick(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x932 ); }
    static inline bool* m_bAnimatedEveryTick(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x933 ); }
    static inline bool* m_bAlternateSorting(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x934 ); }
    static inline bool* m_bSpotted(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x935 ); }
    static inline bool* m_bIsAutoaimTarget(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x60 ); }
    static inline int* m_fadeMinDist(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2ec ); }
    static inline int* m_fadeMaxDist(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2f0 ); }
    static inline float* m_flFadeScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x2f4 ); }
    static inline int* m_nMinCPULevel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x936 ); }
    static inline int* m_nMaxCPULevel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x937 ); }
    static inline int* m_nMinGPULevel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x938 ); }
    static inline int* m_nMaxGPULevel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x939 ); }
};
struct DT_BaseParticleEntity : public DT_BaseEntity
{
};
struct DT_SteamJet : public DT_BaseParticleEntity
{
    static inline float* m_SpreadSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa74 ); }
    static inline float* m_Speed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa78 ); }
    static inline float* m_StartSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa7c ); }
    static inline float* m_EndSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa80 ); }
    static inline float* m_Rate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa84 ); }
    static inline float* m_JetLength(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa88 ); }
    static inline bool* m_bEmit(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa8c ); }
    static inline bool* m_bFaceLeft(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa94 ); }
    static inline int* m_nType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa90 ); }
    static inline int* m_spawnflags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa98 ); }
    static inline float* m_flRollSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa9c ); }
};
struct DT_SmokeStack : public DT_BaseParticleEntity
{
    static inline float* m_SpreadSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xac4 ); }
    static inline float* m_Speed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xac8 ); }
    static inline float* m_StartSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xacc ); }
    static inline float* m_EndSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xad0 ); }
    static inline float* m_Rate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xad4 ); }
    static inline float* m_JetLength(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xad8 ); }
    static inline bool* m_bEmit(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xadc ); }
    static inline float* m_flBaseSpread(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xae0 ); }
    static inline float* m_flTwist(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xb34 ); }
    static inline float* m_flRollSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xb70 ); }
    static inline int* m_iMaterialModel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xb38 ); }
    static inline Vector* m_AmbientLight_m_vPos(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xae4 ); }
    static inline Vector* m_AmbientLight_m_vColor(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xaf0 ); }
    static inline float* m_AmbientLight_m_flIntensity(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xafc ); }
    static inline Vector* m_DirLight_m_vPos(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xb00 ); }
    static inline Vector* m_DirLight_m_vColor(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xb0c ); }
    static inline float* m_DirLight_m_flIntensity(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xb18 ); }
    static inline Vector* m_vWind(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xb28 ); }
};
struct DT_DustTrail : public DT_BaseParticleEntity
{
    static inline float* m_SpawnRate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa74 ); }
    static inline Vector* m_Color(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xa78 ); }
    static inline float* m_ParticleLifetime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa88 ); }
    static inline float* m_StopEmitTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa90 ); }
    static inline float* m_MinSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa94 ); }
    static inline float* m_MaxSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa98 ); }
    static inline float* m_MinDirectedSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa9c ); }
    static inline float* m_MaxDirectedSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaa0 ); }
    static inline float* m_StartSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaa4 ); }
    static inline float* m_EndSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaa8 ); }
    static inline float* m_SpawnRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaac ); }
    static inline bool* m_bEmit(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xabc ); }
    static inline float* m_Opacity(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa84 ); }
};
struct DT_FireTrail : public DT_BaseParticleEntity
{
    static inline int* m_nAttachment(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa74 ); }
    static inline float* m_flLifetime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa78 ); }
};
struct DT_SporeTrail : public DT_BaseParticleEntity
{
    static inline float* m_flSpawnRate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa7c ); }
    static inline Vector* m_vecEndColor(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xa70 ); }
    static inline float* m_flParticleLifetime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa80 ); }
    static inline float* m_flStartSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa84 ); }
    static inline float* m_flEndSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa88 ); }
    static inline float* m_flSpawnRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa8c ); }
    static inline bool* m_bEmit(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa9c ); }
};
struct DT_SporeExplosion : public DT_BaseParticleEntity
{
    static inline float* m_flSpawnRate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa74 ); }
    static inline float* m_flParticleLifetime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa78 ); }
    static inline float* m_flStartSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa7c ); }
    static inline float* m_flEndSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa80 ); }
    static inline float* m_flSpawnRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa84 ); }
    static inline bool* m_bEmit(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa8c ); }
    static inline bool* m_bDontRemove(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa8d ); }
};
struct DT_RocketTrail : public DT_BaseParticleEntity
{
    static inline float* m_SpawnRate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa74 ); }
    static inline Vector* m_StartColor(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xa78 ); }
    static inline Vector* m_EndColor(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xa84 ); }
    static inline float* m_ParticleLifetime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa94 ); }
    static inline float* m_StopEmitTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa98 ); }
    static inline float* m_MinSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa9c ); }
    static inline float* m_MaxSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaa0 ); }
    static inline float* m_StartSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaa4 ); }
    static inline float* m_EndSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaa8 ); }
    static inline float* m_SpawnRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaac ); }
    static inline bool* m_bEmit(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xabc ); }
    static inline int* m_nAttachment(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xac0 ); }
    static inline float* m_Opacity(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa90 ); }
    static inline bool* m_bDamaged(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xabd ); }
    static inline float* m_flFlareScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xad0 ); }
};
struct DT_SmokeTrail : public DT_BaseParticleEntity
{
    static inline float* m_SpawnRate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa74 ); }
    static inline Vector* m_StartColor(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xa78 ); }
    static inline Vector* m_EndColor(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xa84 ); }
    static inline float* m_ParticleLifetime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa94 ); }
    static inline float* m_StopEmitTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa98 ); }
    static inline float* m_MinSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa9c ); }
    static inline float* m_MaxSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaa0 ); }
    static inline float* m_MinDirectedSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaa4 ); }
    static inline float* m_MaxDirectedSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaa8 ); }
    static inline float* m_StartSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaac ); }
    static inline float* m_EndSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xab0 ); }
    static inline float* m_SpawnRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xab4 ); }
    static inline bool* m_bEmit(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xac4 ); }
    static inline int* m_nAttachment(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xac8 ); }
    static inline float* m_Opacity(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa90 ); }
};
struct DT_BaseAnimating : public DT_BaseEntity
{
    struct DT_ServerAnimationData
    {
        static inline float* m_flCycle(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9ac ); }
    };
    static inline int* m_nSequence(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xbfc ); }
    static inline int* m_nForceBone(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9fc ); }
    static inline Vector* m_vecForce(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x9f0 ); }
    static inline int* m_nSkin(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b4 ); }
    static inline int* m_nBody(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b8 ); }
    static inline int* m_nHitboxSet(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x990 ); }
    static inline float* m_flModelScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa84 ); }
    static inline float* m_flPoseParameter(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xab4 ); } // Array size = 24
    static inline float* m_flPlaybackRate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9b0 ); }
    static inline float* m_flEncodedController(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9cc ); } // Array size = 4
    static inline bool* m_bClientSideAnimation(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xbdc ); }
    static inline bool* m_bClientSideFrameReset(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa30 ); }
    static inline bool* m_bClientSideRagdoll(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x275 ); }
    static inline int* m_nNewSequenceParity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9bc ); }
    static inline int* m_nResetEventsParity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9c0 ); }
    static inline int* m_nMuzzleFlashParity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9dc ); }
    static inline EHANDLE* m_hLightingOrigin(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xc84 ); }
    static inline DT_ServerAnimationData* serveranimdata(PVOID thisPtr) { return MakePointerGEN< DT_ServerAnimationData >( thisPtr, 0x0 ); }
    static inline float* m_flFrozen(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa34 ); }
    static inline int* m_ScaleType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa88 ); }
    static inline bool* m_bSuppressAnimSounds(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xc8a ); }
};
struct DT_PropVehicleDriveable : public DT_BaseAnimating
{
    static inline EHANDLE* m_hPlayer(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xcc4 ); }
    static inline int* m_nSpeed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcc8 ); }
    static inline int* m_nRPM(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xccc ); }
    static inline float* m_flThrottle(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xcd0 ); }
    static inline int* m_nBoostTimeLeft(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcd4 ); }
    static inline int* m_nHasBoost(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcd8 ); }
    static inline int* m_nScannerDisabledWeapons(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcdc ); }
    static inline int* m_nScannerDisabledVehicle(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xce0 ); }
    static inline bool* m_bEnterAnimOn(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xd00 ); }
    static inline bool* m_bExitAnimOn(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xd01 ); }
    static inline bool* m_bUnableToFire(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xd4d ); }
    static inline Vector* m_vecEyeExitEndpoint(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xd40 ); }
    static inline bool* m_bHasGun(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xd4c ); }
    static inline Vector* m_vecGunCrosshair(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xd08 ); }
};
struct DT_ParticleSmokeGrenade : public DT_BaseParticleEntity
{
    static inline float* m_flSpawnTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa84 ); }
    static inline float* m_FadeStartTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa88 ); }
    static inline float* m_FadeEndTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa8c ); }
    static inline Vector* m_MinColor(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xa94 ); }
    static inline Vector* m_MaxColor(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xaa0 ); }
    static inline int* m_CurrentStage(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa74 ); }
};
struct DT_ParticleFire
{
    static inline Vector* m_vOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xa7c ); }
    static inline Vector* m_vDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xa88 ); }
};
struct DT_MovieExplosion : public DT_BaseParticleEntity
{
};
struct DT_TEGaussExplosion : public DT_TEParticleSystem
{
    static inline int* m_nType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
    static inline Vector* m_vecDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x20 ); }
};
struct DT_QuadraticBeam : public DT_BaseEntity
{
    static inline Vector* m_targetPosition(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x988 ); }
    static inline Vector* m_controlPosition(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x994 ); }
    static inline float* m_scrollRate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a0 ); }
    static inline float* m_flWidth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a4 ); }
};
struct DT_Embers : public DT_BaseEntity
{
    static inline int* m_nDensity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    static inline int* m_nLifetime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x98c ); }
    static inline int* m_nSpeed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x990 ); }
    static inline bool* m_bEmit(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x994 ); }
};
struct DT_EnvWind : public DT_BaseEntity
{
    struct DT_EnvWindShared
    {
        static inline int* m_iMinWind(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc ); }
        static inline int* m_iMaxWind(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x10 ); }
        static inline int* m_iMinGust(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x18 ); }
        static inline int* m_iMaxGust(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c ); }
        static inline float* m_flMinGustDelay(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x20 ); }
        static inline float* m_flMaxGustDelay(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x24 ); }
        static inline int* m_iGustDirChange(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
        static inline int* m_iWindSeed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x8 ); }
        static inline int* m_iInitialWindDir(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x6c ); }
        static inline float* m_flInitialWindSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x70 ); }
        static inline float* m_flStartTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x4 ); }
        static inline float* m_flGustDuration(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x28 ); }
    };
    static inline DT_EnvWindShared* m_EnvWindShared(PVOID thisPtr) { return MakePointerGEN< DT_EnvWindShared >( thisPtr, 0x988 ); }
};
struct DT_Precipitation : public DT_BaseEntity
{
    static inline int* m_nPrecipType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b0 ); }
};
struct DT_PrecipitationBlocker : public DT_BaseEntity
{
};
struct DT_BaseAnimatingOverlay : public DT_BaseAnimating
{
    struct DT_OverlayVars
    {
    }; // Fail count = 1
    static inline DT_OverlayVars* overlay_vars(PVOID thisPtr) { return MakePointerGEN< DT_OverlayVars >( thisPtr, 0x0 ); }
};
struct DT_BaseFlex : public DT_BaseAnimatingOverlay
{
    static inline float* m_flexWeight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xd60 ); } // Array size = 96
    static inline bool* m_blinktoggle(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xf0c ); }
    static inline Vector* m_viewtarget(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xd28 ); }
};
struct DT_BaseCombatCharacter : public DT_BaseFlex
{
    struct DT_BCCLocalPlayerExclusive
    {
        static inline float* m_flNextAttack(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x10a8 ); }
        static inline EHANDLE* m_hMyWeapons(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1130 ); } // Array size = 64
    };
    struct DT_BCCNonLocalPlayerExclusive
    {
        static inline EHANDLE* m_hMyWeapons(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1130 ); } // Array size = 64
    };
    static inline DT_BCCLocalPlayerExclusive* bcc_localdata(PVOID thisPtr) { return MakePointerGEN< DT_BCCLocalPlayerExclusive >( thisPtr, 0x0 ); }
    static inline DT_BCCNonLocalPlayerExclusive* bcc_nonlocaldata(PVOID thisPtr) { return MakePointerGEN< DT_BCCNonLocalPlayerExclusive >( thisPtr, 0x0 ); }
    static inline int* m_LastHitGroup(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x10ac ); }
    static inline EHANDLE* m_hActiveWeapon(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1230 ); }
    static inline float* m_flTimeOfLastInjury(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1234 ); }
    static inline int* m_nRelativeDirectionOfLastInjury(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1238 ); }
};
struct DT_NextBot : public DT_BaseCombatCharacter
{
};
struct DT_BaseCombatWeapon : public DT_BaseAnimating
{
    struct DT_LocalWeaponData
    {
        static inline int* m_iPrimaryAmmoType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcdc ); }
        static inline int* m_iSecondaryAmmoType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xce0 ); }
        static inline int* m_nViewModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcc4 ); }
        static inline bool* m_bFlipViewModel(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xd34 ); }
        static inline int* m_iWeaponOrigin(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xd38 ); }
    };
    struct DT_LocalActiveWeaponData
    {
        static inline float* m_flNextPrimaryAttack(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xcc8 ); }
        static inline float* m_flNextSecondaryAttack(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xccc ); }
        static inline int* m_nNextThinkTick(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xf8 ); }
        static inline float* m_flTimeWeaponIdle(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xcec ); }
    };
    static inline DT_LocalWeaponData* LocalWeaponData(PVOID thisPtr) { return MakePointerGEN< DT_LocalWeaponData >( thisPtr, 0x0 ); }
    static inline DT_LocalActiveWeaponData* LocalActiveWeaponData(PVOID thisPtr) { return MakePointerGEN< DT_LocalActiveWeaponData >( thisPtr, 0x0 ); }
    static inline int* m_iViewModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcd0 ); }
    static inline int* m_iWorldModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcd4 ); }
    static inline int* m_iState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcd8 ); }
    static inline EHANDLE* m_hOwner(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xcc0 ); }
    static inline int* m_iClip1(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xce4 ); }
    static inline int* m_iClip2(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xce8 ); }
};
struct DT_WeaponCSBase : public DT_BaseCombatWeapon
{
    static inline int* m_weaponMode(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xd84 ); }
    static inline int* m_fAccuracyPenalty(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xd88 ); }
    static inline int* m_fLastShotTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xdcc ); }
    static inline int* m_iRecoilIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xd94 ); }
    static inline EHANDLE* m_hPrevOwner(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xda8 ); }
    static inline bool* m_bBurstMode(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xd98 ); }
    static inline bool* m_bReloadVisuallyComplete(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xd99 ); }
};
struct DT_WeaponXM1014 : public DT_WeaponCSBase
{
    static inline int* m_reloadState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xde4 ); }
};
struct DT_WeaponCSBaseGun : public DT_WeaponCSBase
{
    static inline int* m_zoomLevel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xde0 ); }
};
struct DT_WeaponUSP : public DT_WeaponCSBaseGun
{
    static inline bool* m_bSilencerOn(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xde8 ); }
    static inline float* m_flDoneSwitchingSilencer(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xdec ); }
};
struct DT_WeaponUMP45 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponTMP : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponTec9 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponTaser : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponSSG08 : public DT_WeaponCSBaseGun
{
};
struct DT_BaseCSGrenade : public DT_WeaponCSBase
{
    static inline bool* m_bRedraw(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xde0 ); }
    static inline bool* m_bIsHeldByPlayer(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xde1 ); }
    static inline bool* m_bPinPulled(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xde2 ); }
    static inline int* m_fThrowTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xde4 ); }
    static inline bool* m_bLoopingSoundPlaying(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xde8 ); }
};
struct DT_SmokeGrenade : public DT_BaseCSGrenade
{
};
struct DT_WeaponSG556 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponSG552 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponSG550 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponScout : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponSCAR20 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponSCAR17 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponSawedoff : public DT_WeaponCSBase
{
    static inline int* m_reloadState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xde4 ); }
};
struct DT_WeaponP90 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponP250 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponP228 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponNOVA : public DT_WeaponCSBase
{
    static inline int* m_reloadState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xde4 ); }
};
struct DT_WeaponNegev : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponMP9 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponMP7 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponMP5Navy : public DT_WeaponCSBaseGun
{
};
struct DT_MolotovGrenade : public DT_BaseCSGrenade
{
};
struct DT_IncendiaryGrenade : public DT_MolotovGrenade
{
};
struct DT_WeaponMag7 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponMAC10 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponM4A1 : public DT_WeaponCSBaseGun
{
    static inline bool* m_bSilencerOn(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xde8 ); }
    static inline float* m_flDoneSwitchingSilencer(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xdec ); }
};
struct DT_WeaponM3 : public DT_WeaponCSBase
{
    static inline int* m_reloadState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xde4 ); }
};
struct DT_WeaponM249 : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponKnife : public DT_WeaponCSBase
{
};
struct DT_WeaponKnifeGG : public DT_WeaponKnife
{
};
struct DT_WeaponHKP2000 : public DT_WeaponCSBaseGun
{
};
struct DT_HEGrenade : public DT_BaseCSGrenade
{
};
struct DT_WeaponGlock : public DT_WeaponCSBaseGun
{
    static inline int* m_iBurstShotsRemaining(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xde8 ); }
};
struct DT_WeaponGalilAR : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponGalil : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponG3SG1 : public DT_WeaponCSBaseGun
{
};
struct DT_Flashbang : public DT_BaseCSGrenade
{
};
struct DT_WeaponFiveSeven : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponFamas : public DT_WeaponCSBase
{
    static inline int* m_iBurstShotsRemaining(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xde8 ); }
};
struct DT_WeaponElite : public DT_WeaponCSBaseGun
{
};
struct DT_DecoyGrenade : public DT_BaseCSGrenade
{
};
struct DT_WeaponDEagle : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponC4 : public DT_WeaponCSBase
{
    static inline bool* m_bStartedArming(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xe10 ); }
    static inline bool* m_bBombPlacedAnimation(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xe18 ); }
    static inline int* m_fArmedTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xe14 ); }
    static inline bool* m_bShowC4LED(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xe19 ); }
    static inline bool* m_bIsPlantingViaUse(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xe1a ); }
};
struct DT_WeaponBizon : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponAWP : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponAug : public DT_WeaponCSBaseGun
{
};
struct DT_WeaponAK47 : public DT_WeaponCSBaseGun
{
};
struct DT_BaseGrenade : public DT_BaseAnimating
{
    static inline float* m_flDamage(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xcd4 ); }
    static inline float* m_DmgRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xcc4 ); }
    static inline bool* m_bIsLive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcc1 ); }
    static inline EHANDLE* m_hThrower(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xcdc ); }
    static inline Vector* m_vecVelocity(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x110 ); }
    static inline int* m_fFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x100 ); }
};
struct DT_BaseCSGrenadeProjectile : public DT_BaseGrenade
{
    static inline Vector* m_vInitialVelocity(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xce8 ); }
};
struct DT_MolotovProjectile : public DT_BaseCSGrenadeProjectile
{
    static inline bool* m_bIsIncGrenade(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcf8 ); }
};
struct DT_DecoyProjectile : public DT_BaseCSGrenadeProjectile
{
};
struct DT_Inferno : public DT_BaseEntity
{
    static inline int* m_fireXDelta(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x994 ); } // Array size = 100
    static inline int* m_fireYDelta(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xb24 ); } // Array size = 100
    static inline int* m_fireZDelta(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcb4 ); } // Array size = 100
    static inline bool* m_bFireIsBurning(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xe44 ); } // Array size = 100
    static inline int* m_fireCount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x14e8 ); }
};
struct DT_FireCrackerBlast : public DT_Inferno
{
};
struct DT_BreakableProp : public DT_BaseAnimating
{
    static inline Vector* m_qPreferredPlayerCarryAngles(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xcc4 ); }
    static inline bool* m_bClientPhysics(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcd0 ); }
};
struct DT_DynamicProp : public DT_BreakableProp
{
    static inline bool* m_bUseHitboxesForRenderBox(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcdc ); }
    static inline bool* m_bShouldGlow(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcfc ); }
    static inline int* m_clrGlow(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcfd ); }
};
struct DT_CChicken : public DT_DynamicProp
{
};
struct DT_BaseToggle : public DT_BaseEntity
{
    static inline Vector* m_vecFinalDest(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x99c ); }
    static inline int* m_movementType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a8 ); }
    static inline float* m_flMoveTargetTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9ac ); }
};
struct DT_BaseTrigger : public DT_BaseToggle
{
    static inline bool* m_bClientSidePredicted(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9b8 ); }
    static inline int* m_spawnflags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c4 ); }
};
struct DT_FootstepControl : public DT_BaseTrigger
{
}; // Fail count = 2
struct DT_GameRulesProxy
{
};
struct DT_CSGameRulesProxy : public DT_GameRulesProxy
{
    struct DT_CSGameRules
    {
        static inline bool* m_bFreezePeriod(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x20 ); }
        static inline bool* m_bWarmupPeriod(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x21 ); }
        static inline int* m_fWarmupPeriodEnd(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x24 ); }
        static inline int* m_fWarmupPeriodStart(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
        static inline int* m_iRoundTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
        static inline int* m_gamePhase(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x44 ); }
        static inline int* m_totalRoundsPlayed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x48 ); }
        static inline int* m_nOvertimePlaying(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x4c ); }
        static inline float* m_timeUntilNextPhaseStarts(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x40 ); }
        static inline int* m_fRoundStartTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
        static inline bool* m_bGameRestart(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x38 ); }
        static inline float* m_flRestartRoundTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x34 ); }
        static inline float* m_flGameStartTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x3c ); }
        static inline int* m_iHostagesRemaining(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x50 ); }
        static inline bool* m_bAnyHostageReached(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x54 ); }
        static inline bool* m_bMapHasBombTarget(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x55 ); }
        static inline bool* m_bMapHasRescueZone(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x56 ); }
        static inline bool* m_bMapHasBuyZone(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x57 ); }
        static inline bool* m_bIsQueuedMatchmaking(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x58 ); }
        static inline bool* m_bLogoMap(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x59 ); }
        static inline int* m_iNumGunGameProgressiveWeaponsCT(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x5c ); }
        static inline int* m_iNumGunGameProgressiveWeaponsT(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x60 ); }
        static inline int* m_iSpectatorSlotCount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x64 ); }
        static inline bool* m_bBombDropped(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x448 ); }
        static inline bool* m_bBombPlanted(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x449 ); }
        static inline int* m_iRoundWinStatus(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x44c ); }
        static inline float* m_flDMBonusStartTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x430 ); }
        static inline float* m_flDMBonusTimeLength(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x434 ); }
        static inline int* m_iDMBonusWeaponID(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x438 ); }
        static inline bool* m_bDMBonusActive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x43c ); }
        static inline bool* m_bTCantBuy(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x450 ); }
        static inline bool* m_bCTCantBuy(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x451 ); }
        static inline int* m_MatchDevice(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x428 ); }
        static inline bool* m_bHasMatchStarted(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x42c ); }
        static inline float* m_flNextRespawnWave(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x4d4 ); } // Array size = 32
        static inline int* m_nNextMapInMapgroup(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x440 ); }
        static inline int* m_nEndMatchMapGroupVoteOptions(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x554 ); } // Array size = 10
    }; // Fail count = 5
    static inline DT_CSGameRules* cs_gamerules_data(PVOID thisPtr) { return MakePointerGEN< DT_CSGameRules >( thisPtr, 0x0 ); }
};
struct DT_WeaponCubemap : public DT_BaseCombatWeapon
{
};
struct DT_WeaponCycler : public DT_BaseCombatWeapon
{
};
struct DT_TEPlantBomb
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x14 ); }
    static inline int* m_iPlayer(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x10 ); }
    static inline int* m_option(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
};
struct DT_TEFireBullets
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x14 ); }
    static inline Vector* m_vecAngles0(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x20 ); }
    static inline Vector* m_vecAngles1(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x24 ); }
    static inline int* m_iWeaponID(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c ); }
    static inline int* m_iMode(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
    static inline int* m_iSeed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x34 ); }
    static inline int* m_iPlayer(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x10 ); }
    static inline int* m_fInaccuracy(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x38 ); }
    static inline int* m_fSpread(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x3c ); }
};
struct DT_TERadioIcon : public DT_BaseTempEntity
{
    static inline int* m_iAttachToClient(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x10 ); }
};
struct DT_PlantedC4 : public DT_BaseAnimating
{
    static inline bool* m_bBombTicking(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcc0 ); }
    static inline float* m_flC4Blow(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xccc ); }
    static inline float* m_flTimerLength(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xcd0 ); }
    static inline float* m_flDefuseLength(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xce0 ); }
    static inline float* m_flDefuseCountDown(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xce4 ); }
};
struct DT_Team
{
    static inline int* m_iTeamNum(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa00 ); }
    static inline bool* m_bSurrendered(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa04 ); }
    static inline int* m_scoreTotal(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9e4 ); }
    static inline int* m_scoreFirstHalf(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9e8 ); }
    static inline int* m_scoreSecondHalf(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9ec ); }
    static inline int* m_scoreOvertime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9f0 ); }
    static inline char** m_szTeamname(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0x99c ); }
    static inline char** m_szClanTeamname(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0x9bc ); }
    static inline char** m_szTeamFlagImage(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0x9dc ); }
}; // Fail count = 2
struct DT_CSTeam : public DT_Team
{
};
struct DT_PlayerResource
{
    static inline int* m_iPing(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa94 ); } // Array size = 65
    static inline int* m_iKills(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xb98 ); } // Array size = 65
    static inline int* m_iAssists(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc9c ); } // Array size = 65
    static inline int* m_iDeaths(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xda0 ); } // Array size = 65
    static inline bool* m_bConnected(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xea4 ); } // Array size = 65
    static inline int* m_iTeam(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xee8 ); } // Array size = 65
    static inline int* m_iPendingTeam(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xfec ); } // Array size = 65
    static inline bool* m_bAlive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x10f0 ); } // Array size = 65
    static inline int* m_iHealth(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1134 ); } // Array size = 65
};
struct DT_CSPlayerResource : public DT_PlayerResource
{
    static inline int* m_iPlayerC4(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x14c0 ); }
    static inline int* m_iPlayerVIP(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x14c4 ); }
    static inline bool* m_bHostageAlive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x14e0 ); } // Array size = 12
    static inline int* m_isHostageFollowingSomeone(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x14ec ); } // Array size = 12
    static inline int* m_iHostageEntityIDs(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x14f8 ); } // Array size = 12
    static inline bool* m_bombsiteCenterA(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x14c8 ); }
    static inline bool* m_bombsiteCenterB(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x14d4 ); }
    static inline EHANDLE* m_hostageRescueX(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1528 ); } // Array size = 4
    static inline EHANDLE* m_hostageRescueY(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1538 ); } // Array size = 4
    static inline EHANDLE* m_hostageRescueZ(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1548 ); } // Array size = 4
    static inline int* m_iMVPs(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1558 ); } // Array size = 65
    static inline int* m_iArmor(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x16e0 ); } // Array size = 65
    static inline bool* m_bHasHelmet(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x169d ); } // Array size = 65
    static inline bool* m_bHasDefuser(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x165c ); } // Array size = 65
    static inline int* m_iScore(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x17e4 ); } // Array size = 65
    static inline int* m_iCompetitiveRanking(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x18e8 ); } // Array size = 65
    static inline int* m_iCompetitiveWins(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x19ec ); } // Array size = 65
    static inline bool* m_bControllingBot(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1af0 ); } // Array size = 65
    static inline int* m_iControlledPlayer(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1b34 ); } // Array size = 65
    static inline int* m_iControlledByPlayer(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c38 ); } // Array size = 65
    static inline int* m_iBotDifficulty(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x3dbc ); } // Array size = 65
    static inline char** m_szClan(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0x3ec0 ); } // Array size = 65
    static inline int* m_iTotalCashSpent(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x42d0 ); } // Array size = 65
    static inline int* m_nEndMatchNextMapVotes(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x43d4 ); } // Array size = 65
    static inline bool* m_bEndMatchNextMapAllVoted(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x44d8 ); }
};
struct DT_BasePlayer : public DT_BaseCombatCharacter
{
    struct DT_LocalPlayerExclusive
    {
        struct DT_Local
        {
            static inline char* m_chAreaBits(PVOID thisPtr) { return MakePointerGEN< char >( thisPtr, 0x4 ); } // Array size = 32
            static inline char* m_chAreaPortalBits(PVOID thisPtr) { return MakePointerGEN< char >( thisPtr, 0x24 ); } // Array size = 24
            static inline int* m_iHideHUD(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x48 ); }
            static inline float* m_flFOVRate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x44 ); }
            static inline bool* m_bDucked(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x88 ); }
            static inline bool* m_bDucking(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x89 ); }
            static inline bool* m_bInDuckJump(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x8a ); }
            static inline int* m_nDuckTimeMsecs(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x4c ); }
            static inline int* m_nDuckJumpTimeMsecs(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x50 ); }
            static inline int* m_nJumpTimeMsecs(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x54 ); }
            static inline float* m_flFallVelocity(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x58 ); }
            static inline Vector* m_viewPunchAngle(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x64 ); }
            static inline Vector* m_aimPunchAngle(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x70 ); }
            static inline Vector* m_aimPunchAngleVel(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x7c ); }
            static inline bool* m_bDrawViewmodel(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x8b ); }
            static inline bool* m_bWearingSuit(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x8c ); }
            static inline bool* m_bPoisoned(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x8d ); }
            static inline float* m_flStepSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x60 ); }
            static inline bool* m_bAllowAutoMovement(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x8e ); }
            static inline int* m_skybox3d_scale(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x12c ); }
            static inline Vector* m_skybox3d_origin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x130 ); }
            static inline int* m_skybox3d_area(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x13c ); }
            static inline int* m_skybox3d_fog_enable(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x184 ); }
            static inline int* m_skybox3d_fog_blend(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x185 ); }
            static inline Vector* m_skybox3d_fog_dirPrimary(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x144 ); }
            static inline int* m_skybox3d_fog_colorPrimary(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x150 ); }
            static inline int* m_skybox3d_fog_colorSecondary(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x154 ); }
            static inline float* m_skybox3d_fog_start(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x160 ); }
            static inline float* m_skybox3d_fog_end(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x164 ); }
            static inline float* m_skybox3d_fog_maxdensity(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x16c ); }
            static inline float* m_skybox3d_fog_HDRColorScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x188 ); }
            static inline Vector* m_audio_localSound0(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x190 ); }
            static inline Vector* m_audio_localSound1(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x19c ); }
            static inline Vector* m_audio_localSound2(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1a8 ); }
            static inline Vector* m_audio_localSound3(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1b4 ); }
            static inline Vector* m_audio_localSound4(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1c0 ); }
            static inline Vector* m_audio_localSound5(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1cc ); }
            static inline Vector* m_audio_localSound6(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1d8 ); }
            static inline Vector* m_audio_localSound7(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1e4 ); }
            static inline int* m_audio_soundscapeIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1f0 ); }
            static inline int* m_audio_localBits(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1f4 ); }
            static inline int* m_audio_entIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1f8 ); }
        };
        static inline DT_Local* m_Local(PVOID thisPtr) { return MakePointerGEN< DT_Local >( thisPtr, 0x12ec ); }
        static inline Vector* m_vecViewOffset0(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x104 ); }
        static inline Vector* m_vecViewOffset1(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x108 ); }
        static inline Vector* m_vecViewOffset2(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x10c ); }
        static inline float* m_flFriction(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x140 ); }
        static inline int* m_fOnTarget(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1654 ); }
        static inline int* m_nTickBase(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1730 ); }
        static inline int* m_nNextThinkTick(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xf8 ); }
        static inline EHANDLE* m_hLastWeapon(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1628 ); }
        static inline Vector* m_vecVelocity0(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x110 ); }
        static inline Vector* m_vecVelocity1(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x114 ); }
        static inline Vector* m_vecVelocity2(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x118 ); }
        static inline Vector* m_vecBaseVelocity(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x11c ); }
        static inline EHANDLE* m_hConstraintEntity(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1670 ); }
        static inline Vector* m_vecConstraintCenter(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1674 ); }
        static inline float* m_flConstraintRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1680 ); }
        static inline float* m_flConstraintWidth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1684 ); }
        static inline float* m_flConstraintSpeedFactor(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1688 ); }
        static inline bool* m_bConstraintPastRadius(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x168c ); }
        static inline float* m_flDeathTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x16c8 ); }
        static inline int* m_fForceTeam(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x16cc ); }
        static inline int* m_nWaterLevel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x25a ); }
        static inline float* m_flLaggedMovementValue(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1894 ); }
        static inline EHANDLE* m_hTonemapController(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x14f0 ); }
    };
    struct DT_PlayerState
    {
        static inline int* deadflag(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x4 ); }
    };
    static inline DT_LocalPlayerExclusive* localdata(PVOID thisPtr) { return MakePointerGEN< DT_LocalPlayerExclusive >( thisPtr, 0x0 ); }
    static inline DT_PlayerState* pl(PVOID thisPtr) { return MakePointerGEN< DT_PlayerState >( thisPtr, 0x14f4 ); }
    static inline int* m_iFOV(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1508 ); }
    static inline int* m_iFOVStart(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x150c ); }
    static inline float* m_flFOVTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x152c ); }
    static inline int* m_iDefaultFOV(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x165c ); }
    static inline EHANDLE* m_hZoomOwner(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1580 ); }
    static inline int* m_afPhysicsFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1620 ); }
    static inline EHANDLE* m_hVehicle(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1624 ); }
    static inline EHANDLE* m_hUseEntity(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1658 ); }
    static inline EHANDLE* m_hGroundEntity(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x14c ); }
    static inline int* m_iHealth(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xfc ); }
    static inline int* m_lifeState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x25b ); }
    static inline int* m_iAmmo(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x10b0 ); } // Array size = 32
    static inline int* m_iBonusProgress(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1574 ); }
    static inline int* m_iBonusChallenge(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1578 ); }
    static inline float* m_flMaxspeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x157c ); }
    static inline int* m_fFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x100 ); }
    static inline int* m_iObserverMode(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1698 ); }
    static inline EHANDLE* m_hObserverTarget(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x16a0 ); }
    static inline EHANDLE* m_hViewModel0(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x162c ); }
    static inline EHANDLE* m_hViewModel(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x0 ); } // Array size = 2
    static inline char** m_szLastPlaceName(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0x18b4 ); }
    static inline Vector* m_vecLadderNormal(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x1544 ); }
    static inline int* m_ladderSurfaceProps(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1524 ); }
    static inline int* m_ubEFNoInterpParity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x18d8 ); }
    static inline EHANDLE* m_hPostProcessCtrl(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1a98 ); }
    static inline EHANDLE* m_hColorCorrectionCtrl(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1a9c ); }
    static inline int* m_PlayerFog_m_hCtrl(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1aa4 ); }
    static inline int* m_vphysicsCollisionState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1590 ); }
    static inline EHANDLE* m_hViewEntity(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1668 ); }
    static inline bool* m_bShouldDrawPlayerWhileUsingViewEntity(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x166c ); }
};
struct DT_CSPlayer : public DT_BasePlayer
{
    struct DT_CSLocalPlayerExclusive
    {
        static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x134 ); }
        static inline Vector* m_vecOrigin2(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x13c ); }
        static inline float* m_flStamina(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1ca0 ); }
        static inline int* m_iDirection(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1ca4 ); }
        static inline int* m_iShotsFired(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1ca8 ); }
        static inline int* m_nNumFastDucks(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1cac ); }
        static inline float* m_flVelocityModifier(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1cb4 ); }
        static inline bool* m_bPlayerDominated(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1e9c ); } // Array size = 65
        static inline bool* m_bPlayerDominatingMe(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1edd ); } // Array size = 65
        static inline int* m_iWeaponPurchasesThisRound(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1f20 ); } // Array size = 64
    };
    struct DT_CSNonLocalPlayerExclusive
    {
        static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x134 ); }
        static inline Vector* m_vecOrigin2(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x13c ); }
    };
    static inline DT_CSLocalPlayerExclusive* cslocaldata(PVOID thisPtr) { return MakePointerGEN< DT_CSLocalPlayerExclusive >( thisPtr, 0x0 ); }
    static inline DT_CSNonLocalPlayerExclusive* csnonlocaldata(PVOID thisPtr) { return MakePointerGEN< DT_CSNonLocalPlayerExclusive >( thisPtr, 0x0 ); }
    static inline QAngle* m_angEyeAngles0(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x1d84 ); }
    static inline QAngle* m_angEyeAngles1(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x1d88 ); }
    static inline int* m_iAddonBits(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c8c ); }
    static inline int* m_iPrimaryAddon(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c90 ); }
    static inline int* m_iSecondaryAddon(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c94 ); }
    static inline int* m_iThrowGrenadeCounter(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1b80 ); }
    static inline bool* m_bWaitForNoAttack(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b84 ); }
    static inline bool* m_bIsRespawningForDMBonus(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b85 ); }
    static inline int* m_iPlayerState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1b58 ); }
    static inline int* m_iAccount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1d74 ); }
    static inline int* m_iStartAccount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1cb8 ); }
    static inline int* m_totalHitsOnServer(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1cc0 ); }
    static inline bool* m_bInBombZone(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b7c ); }
    static inline bool* m_bInBuyZone(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b7d ); }
    static inline bool* m_bInNoDefuseArea(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b7e ); }
    static inline bool* m_bKilledByTaser(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b86 ); }
    static inline int* m_iMoveState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1b88 ); }
    static inline int* m_iClass(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1d7c ); }
    static inline int* m_ArmorValue(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1d80 ); }
    static inline QAngle* m_angEyeAngles(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x1d84 ); }
    static inline bool* m_bHasDefuser(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1d90 ); }
    static inline bool* m_bNightVisionOn(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1cb0 ); }
    static inline bool* m_bHasNightVision(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1cb1 ); }
    static inline bool* m_bInHostageRescueZone(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1d91 ); }
    static inline bool* m_bIsDefusing(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b5c ); }
    static inline bool* m_bIsGrabbingHostage(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b5d ); }
    static inline bool* m_bIsScoped(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b54 ); }
    static inline bool* m_bIsWalking(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b55 ); }
    static inline bool* m_bResumeZoom(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b56 ); }
    static inline int* m_fImmuneToGunGameDamageTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1b60 ); }
    static inline bool* m_bGunGameImmunity(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b68 ); }
    static inline bool* m_bHasMovedSinceSpawn(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b69 ); }
    static inline bool* m_bMadeFinalGunGameProgressiveKill(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b6a ); }
    static inline int* m_iGunGameProgressiveWeaponIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1b6c ); }
    static inline int* m_iNumGunGameTRKillPoints(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1b70 ); }
    static inline int* m_iNumRoundKills(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1b74 ); }
    static inline int* m_fMolotovUseTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1b78 ); }
    static inline char** m_szArmsModel(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0x1b8c ); }
    static inline EHANDLE* m_hCarriedHostage(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1cc8 ); }
    static inline EHANDLE* m_hCarriedHostageProp(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1ccc ); }
    static inline bool* m_bIsRescuing(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1b5e ); }
    static inline bool* m_bHasHelmet(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1d78 ); }
    static inline float* m_flFlashDuration(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1cec ); }
    static inline float* m_flFlashMaxAlpha(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1ce8 ); }
    static inline int* m_iProgressBarDuration(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c98 ); }
    static inline float* m_flProgressBarStartTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1c9c ); }
    static inline EHANDLE* m_hRagdoll(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x1cc4 ); }
    static inline int* m_cycleLatch(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1e94 ); }
    static inline int* m_unCurrentEquipmentValue(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1d58 ); }
    static inline int* m_unRoundStartEquipmentValue(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1d5a ); }
    static inline int* m_unFreezetimeEndEquipmentValue(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1d5c ); }
    static inline bool* m_bIsControllingBot(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x202c ); }
    static inline bool* m_bCanControlObservedBot(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x202d ); }
    static inline int* m_iControlledBotEntIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2030 ); }
    static inline bool* m_bHud_MiniScoreHidden(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1d9f ); }
    static inline bool* m_bHud_RadarHidden(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1da0 ); }
    static inline int* m_nLastKillerIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1da4 ); }
    static inline int* m_nLastConcurrentKilled(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1da8 ); }
    static inline int* m_nDeathCamMusic(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1dac ); }
}; // Fail count = 1
struct DT_CSRagdoll
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x134 ); }
    static inline Vector* m_vecRagdollOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xd3c ); }
    static inline EHANDLE* m_hPlayer(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xd28 ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x254 ); }
    static inline int* m_nForceBone(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9fc ); }
    static inline Vector* m_vecForce(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x9f0 ); }
    static inline Vector* m_vecRagdollVelocity(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xd30 ); }
    static inline int* m_iDeathPose(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xd48 ); }
    static inline int* m_iDeathFrame(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xd4c ); }
    static inline int* m_iTeamNum(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xf0 ); }
    static inline bool* m_bClientSideAnimation(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xbdc ); }
};
struct DT_TEPlayerAnimEvent
{
    static inline EHANDLE* m_hPlayer(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x10 ); }
    static inline int* m_iEvent(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x14 ); }
    static inline int* m_nData(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x18 ); }
};
struct DT_CHostage : public DT_BaseCombatCharacter
{
    static inline int* m_isRescued(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1278 ); }
    static inline int* m_jumpedThisFrame(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1279 ); }
    static inline int* m_iHealth(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xfc ); }
    static inline int* m_iMaxHealth(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1260 ); }
    static inline int* m_lifeState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x25b ); }
    static inline int* m_fFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x100 ); }
    static inline int* m_nHostageState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x127c ); }
    static inline float* m_flRescueStartTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1280 ); }
    static inline float* m_flGrabSuccessTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1284 ); }
    static inline float* m_flDropStartTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1288 ); }
    static inline Vector* m_vel(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x126c ); }
    static inline int* m_leader(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1268 ); }
};
struct DT_HostageCarriableProp : public DT_BaseAnimating
{
};
struct DT_HandleTest : public DT_BaseEntity
{
    static inline int* m_Handle(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    static inline bool* m_bSendHandle(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x98c ); }
};
struct DT_TeamplayRoundBasedRulesProxy : public DT_GameRulesProxy
{
    struct DT_TeamplayRoundBasedRules
    {
        static inline int* m_iRoundState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x28 ); }
        static inline bool* m_bInWaitingForPlayers(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x38 ); }
        static inline int* m_iWinningTeam(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x30 ); }
        static inline bool* m_bInOvertime(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x2c ); }
        static inline bool* m_bInSetup(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x2d ); }
        static inline bool* m_bSwitchedTeamsThisRound(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x2e ); }
        static inline bool* m_bAwaitingReadyRestart(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x39 ); }
        static inline float* m_flRestartRoundTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x3c ); }
        static inline float* m_flMapResetTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x40 ); }
        static inline float* m_flNextRespawnWave(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x44 ); } // Array size = 32
        static inline bool* m_bTeamReady(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xc4 ); } // Array size = 32
        static inline bool* m_bStopWatch(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xe4 ); }
    }; // Fail count = 1
    static inline DT_TeamplayRoundBasedRules* teamplayroundbased_gamerules_data(PVOID thisPtr) { return MakePointerGEN< DT_TeamplayRoundBasedRules >( thisPtr, 0x0 ); }
};
struct DT_Sprite : public DT_BaseEntity
{
    static inline EHANDLE* m_hAttachedToEntity(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x998 ); }
    static inline int* m_nAttachment(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x99c ); }
    static inline float* m_flScaleTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9b8 ); }
    static inline float* m_flSpriteScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9b4 ); }
    static inline float* m_flSpriteFramerate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a0 ); }
    static inline float* m_flGlowProxySize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9c0 ); }
    static inline float* m_flHDRColorScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9c4 ); }
    static inline float* m_flFrame(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a4 ); }
    static inline float* m_flBrightnessTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9b0 ); }
    static inline int* m_nBrightness(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9ac ); }
    static inline bool* m_bWorldSpaceScale(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9bc ); }
};
struct DT_SpriteTrail : public DT_Sprite
{
    static inline float* m_flLifeTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1024 ); }
    static inline float* m_flStartWidth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1028 ); }
    static inline float* m_flEndWidth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x102c ); }
    static inline float* m_flStartWidthVariance(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1030 ); }
    static inline float* m_flTextureRes(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1034 ); }
    static inline float* m_flMinFadeLength(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1038 ); }
    static inline Vector* m_vecSkyboxOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x103c ); }
    static inline float* m_flSkyboxScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1048 ); }
};
struct DT_SpriteOriented : public DT_Sprite
{
};
struct DT_Ragdoll : public DT_BaseAnimating
{
    static inline Vector* m_ragAngles0(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xde0 ); }
    static inline Vector* m_ragPos0(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xcc0 ); }
    static inline EHANDLE* m_hUnragdoll(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xfbc ); }
    static inline float* m_flBlendWeight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xfc0 ); }
    static inline int* m_nOverlaySequence(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xfc8 ); }
}; // Fail count = 2
struct DT_Ragdoll_Attached : public DT_Ragdoll
{
    static inline bool* m_boneIndexAttached(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xff8 ); }
    static inline int* m_ragdollAttachedObjectIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xff4 ); }
    static inline Vector* m_attachmentPointBoneSpace(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xfd0 ); }
    static inline Vector* m_attachmentPointRagdollSpace(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xfe8 ); }
};
struct DT_BaseViewModel
{
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x254 ); }
    static inline EHANDLE* m_hWeapon(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xce8 ); }
    static inline int* m_nSkin(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b4 ); }
    static inline int* m_nBody(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b8 ); }
    static inline int* m_nSequence(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xbfc ); }
    static inline int* m_nViewModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xce0 ); }
    static inline float* m_flPlaybackRate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9b0 ); }
    static inline int* m_fEffects(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xec ); }
    static inline int* m_nAnimationParity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xce4 ); }
    static inline EHANDLE* m_hOwner(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xcec ); }
    static inline int* m_nNewSequenceParity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9bc ); }
    static inline int* m_nResetEventsParity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9c0 ); }
    static inline int* m_nMuzzleFlashParity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9dc ); }
    static inline bool* m_bShouldIgnoreOffsetAndAccuracy(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcd0 ); }
};
struct DT_PredictedViewModel : public DT_BaseViewModel
{
};
struct DT_PoseController : public DT_BaseEntity
{
    static inline EHANDLE* m_hProps(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x988 ); } // Array size = 4
    static inline char* m_chPoseIndex(PVOID thisPtr) { return MakePointerGEN< char >( thisPtr, 0x998 ); } // Array size = 4
    static inline bool* m_bPoseValueParity(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x99c ); }
    static inline int* m_fPoseValue(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a0 ); }
    static inline int* m_fInterpolationTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a4 ); }
    static inline bool* m_bInterpolationWrap(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9a8 ); }
    static inline int* m_fCycleFrequency(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9ac ); }
    static inline int* m_nFModType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b0 ); }
    static inline int* m_fFModTimeOffset(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b4 ); }
    static inline int* m_fFModRate(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b8 ); }
    static inline int* m_fFModAmplitude(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9bc ); }
};
struct DT_InfoLadderDismount : public DT_BaseEntity
{
};
struct DT_FuncLadder : public DT_BaseEntity
{
    static inline Vector* m_vecPlayerMountPositionTop(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x9a8 ); }
    static inline Vector* m_vecPlayerMountPositionBottom(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x9b4 ); }
    static inline Vector* m_vecLadderDir(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x988 ); }
    static inline bool* m_bFakeLadder(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9c1 ); }
};
struct DT_TEFoundryHelpers : public DT_BaseTempEntity
{
    static inline int* m_iEntity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x10 ); }
};
struct DT_DetailController
{
    static inline float* m_flFadeStartDist(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
    static inline float* m_flFadeEndDist(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
};
struct DT_World : public DT_BaseEntity
{
    static inline float* m_flWaveHeight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
    static inline Vector* m_WorldMins(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x98c ); }
    static inline Vector* m_WorldMaxs(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x998 ); }
    static inline bool* m_bStartDark(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9a4 ); }
    static inline float* m_flMaxOccludeeArea(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a8 ); }
    static inline float* m_flMinOccluderArea(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9ac ); }
    static inline float* m_flMaxPropScreenSpaceWidth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9b4 ); }
    static inline float* m_flMinPropScreenSpaceWidth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9b0 ); }
    static inline int* m_iszDetailSpriteMaterial(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9c0 ); }
    static inline bool* m_bColdWorld(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9b8 ); }
    static inline int* m_iTimeOfDay(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9bc ); }
};
struct DT_WaterLODControl : public DT_BaseEntity
{
    static inline float* m_flCheapWaterStartDistance(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
    static inline float* m_flCheapWaterEndDistance(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
};
struct DT_WaterBullet : public DT_BaseAnimating
{
};
struct DT_VoteController : public DT_BaseEntity
{
    static inline int* m_iActiveIssueIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x994 ); }
    static inline int* m_iOnlyTeamToVote(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x998 ); }
    static inline int* m_nVoteOptionCount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x99c ); } // Array size = 5
    static inline int* m_nPotentialVotes(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b4 ); }
    static inline bool* m_bIsYesNoVote(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9ba ); }
};
struct DT_VGuiScreen : public DT_BaseEntity
{
    static inline float* m_flWidth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x990 ); }
    static inline float* m_flHeight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline int* m_fScreenFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9bc ); }
    static inline int* m_nPanelName(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x998 ); }
    static inline int* m_nAttachmentIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b4 ); }
    static inline int* m_nOverlayMaterial(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b8 ); }
    static inline EHANDLE* m_hPlayerOwner(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xa18 ); }
};
struct DT_PropJeep : public DT_PropVehicleDriveable
{
    static inline bool* m_bHeadlightIsOn(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xe0c ); }
};
struct DT_PropVehicleChoreoGeneric : public DT_DynamicProp
{
    static inline EHANDLE* m_hPlayer(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xd1c ); }
    static inline bool* m_bEnterAnimOn(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xd24 ); }
    static inline bool* m_bExitAnimOn(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xd25 ); }
    static inline bool* m_bForceEyesToAttachment(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xd34 ); }
    static inline Vector* m_vecEyeExitEndpoint(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xd28 ); }
    static inline int* m_vehicleView_bClampEyeAngles(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xdb8 ); }
    static inline float* m_vehicleView_flPitchCurveZero(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xdbc ); }
    static inline float* m_vehicleView_flPitchCurveLinear(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xdc0 ); }
    static inline float* m_vehicleView_flRollCurveZero(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xdc4 ); }
    static inline float* m_vehicleView_flRollCurveLinear(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xdc8 ); }
    static inline float* m_vehicleView_flFOV(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xdcc ); }
    static inline float* m_vehicleView_flYawMin(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xdd0 ); }
    static inline float* m_vehicleView_flYawMax(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xdd4 ); }
    static inline float* m_vehicleView_flPitchMin(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xdd8 ); }
    static inline float* m_vehicleView_flPitchMax(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xddc ); }
};
struct DT_BaseVPhysicsTrigger : public DT_BaseEntity
{
};
struct DT_TriggerPlayerMovement : public DT_BaseTrigger
{
};
struct DT_ProxyToggle : public DT_BaseEntity
{
    struct DT_ProxyToggle_ProxiedData
    {
        static inline int* m_WithProxy(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    };
    static inline DT_ProxyToggle_ProxiedData* blah(PVOID thisPtr) { return MakePointerGEN< DT_ProxyToggle_ProxiedData >( thisPtr, 0x0 ); }
};
struct DT_Tesla : public DT_BaseEntity
{
    static inline int* m_iszSpriteName(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9f0 ); }
}; // Fail count = 1
struct DT_BaseTeamObjectiveResource
{
    static inline int* m_iTimerToShowInHUD(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    static inline int* m_iStopWatchTimer(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x98c ); }
    static inline int* m_iNumControlPoints(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x990 ); }
    static inline bool* m_bPlayingMiniRounds(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x998 ); }
    static inline bool* m_bControlPointsReset(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x999 ); }
    static inline int* m_iUpdateCapHudParity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x99c ); }
    static inline Vector* m_vCPPositions0(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x9a4 ); }
    static inline bool* m_bCPIsVisible(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa04 ); } // Array size = 8
    static inline float* m_flLazyCapPerc(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa0c ); } // Array size = 8
    static inline int* m_iTeamIcons(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa4c ); } // Array size = 64
    static inline int* m_iTeamOverlays(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xb4c ); } // Array size = 64
    static inline int* m_iTeamReqCappers(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc4c ); } // Array size = 64
    static inline float* m_flTeamCapTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xd4c ); } // Array size = 64
    static inline int* m_iPreviousPoints(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xe4c ); } // Array size = 192
    static inline bool* m_bTeamCanCap(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x114c ); } // Array size = 64
    static inline int* m_iTeamBaseIcons(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x118c ); } // Array size = 32
    static inline int* m_iBaseControlPoints(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x120c ); } // Array size = 32
    static inline bool* m_bInMiniRound(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x128c ); } // Array size = 8
    static inline int* m_iWarnOnCap(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1294 ); } // Array size = 8
    static inline int* m_iszWarnSound0(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x12b4 ); }
    static inline int* m_iszWarnSound(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x0 ); } // Array size = 8
    static inline float* m_flPathDistance(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1aac ); } // Array size = 8
    static inline int* m_iNumTeamMembers(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1acc ); } // Array size = 64
    static inline int* m_iCappingTeam(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1bcc ); } // Array size = 8
    static inline int* m_iTeamInZone(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1bec ); } // Array size = 8
    static inline bool* m_bBlocked(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1c0c ); } // Array size = 8
    static inline int* m_iOwner(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1c14 ); } // Array size = 8
    static inline char** m_pszCapLayoutInHUD(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0x1c9c ); }
}; // Fail count = 1
struct DT_SunlightShadowControl : public DT_BaseEntity
{
    static inline Vector* m_shadowDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x988 ); }
    static inline bool* m_bEnabled(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x994 ); }
    static inline int* m_LightColor(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xaa0 ); }
    static inline float* m_flColorTransitionTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xab4 ); }
    static inline float* m_flSunDistance(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xab8 ); }
    static inline float* m_flFOV(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xabc ); }
    static inline float* m_flNearZ(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xac0 ); }
    static inline float* m_flNorthOffset(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xac4 ); }
    static inline bool* m_bEnableShadows(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xac8 ); }
}; // Fail count = 1
struct DT_Sun
{
    static inline int* m_clrRender(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x70 ); }
    static inline int* m_clrOverlay(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xad8 ); }
    static inline Vector* m_vDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xae4 ); }
    static inline bool* m_bOn(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xaf0 ); }
    static inline int* m_nSize(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xadc ); }
    static inline int* m_nOverlaySize(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xae0 ); }
    static inline int* m_nMaterial(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xaf4 ); }
    static inline int* m_nOverlayMaterial(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xaf8 ); }
    static inline float* HDRColorScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x0 ); }
};
struct DT_ParticlePerformanceMonitor : public DT_BaseEntity
{
    static inline bool* m_bMeasurePerf(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x989 ); }
    static inline bool* m_bDisplayPerf(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x988 ); }
};
struct DT_SpotlightEnd : public DT_BaseEntity
{
    static inline float* m_flLightScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
    static inline float* m_Radius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
};
struct DT_SpatialEntity : public DT_BaseEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x988 ); }
    static inline float* m_minFalloff(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline float* m_maxFalloff(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x998 ); }
    static inline float* m_flCurWeight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x99c ); }
    static inline bool* m_bEnabled(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xaa4 ); }
};
struct DT_SlideshowDisplay : public DT_BaseEntity
{
    static inline bool* m_bEnabled(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x988 ); }
    static inline char** m_szDisplayText(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0x989 ); }
    static inline char** m_szSlideshowDirectory(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0xa09 ); }
    static inline char* m_chCurrentSlideLists(PVOID thisPtr) { return MakePointerGEN< char >( thisPtr, 0xaa0 ); } // Array size = 16
    static inline int* m_fMinSlideTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xab8 ); }
    static inline int* m_fMaxSlideTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xabc ); }
    static inline int* m_iCycleType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xac4 ); }
    static inline bool* m_bNoListRepeats(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xac8 ); }
};
struct DT_ShadowControl : public DT_BaseEntity
{
    static inline Vector* m_shadowDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x988 ); }
    static inline int* m_shadowColor(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x994 ); }
    static inline float* m_flShadowMaxDist(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x998 ); }
    static inline bool* m_bDisableShadows(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x99c ); }
    static inline bool* m_bEnableLocalLightShadows(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x99d ); }
};
struct DT_SceneEntity : public DT_BaseEntity
{
    static inline int* m_nSceneStringIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x998 ); }
    static inline bool* m_bIsPlayingBack(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x98c ); }
    static inline bool* m_bPaused(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x98d ); }
    static inline bool* m_bMultiplayer(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x98e ); }
    static inline float* m_flForceClientTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline EHANDLE* m_hActorList(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x0 ); } // Array size = 17
};
struct DT_RopeKeyframe
{
    static inline int* m_nChangeCount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc74 ); }
    static inline int* m_iRopeMaterialModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9c4 ); }
    static inline EHANDLE* m_hStartPoint(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xc54 ); }
    static inline EHANDLE* m_hEndPoint(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xc58 ); }
    static inline int* m_iStartAttachment(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc5c ); }
    static inline int* m_iEndAttachment(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc5e ); }
    static inline int* m_fLockedPoints(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc70 ); }
    static inline int* m_Slack(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc68 ); }
    static inline int* m_RopeLength(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc64 ); }
    static inline int* m_RopeFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9c0 ); }
    static inline float* m_TextureScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xc6c ); }
    static inline int* m_nSegments(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc50 ); }
    static inline bool* m_bConstrainBetweenEndpoints(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcf8 ); }
    static inline int* m_Subdiv(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc60 ); }
    static inline float* m_Width(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xc78 ); }
    static inline float* m_flScrollSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9bc ); }
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x134 ); }
    static inline int* moveparent(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x144 ); }
    static inline int* m_iParentAttachment(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2e4 ); }
    static inline int* m_nMinCPULevel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x936 ); }
    static inline int* m_nMaxCPULevel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x937 ); }
    static inline int* m_nMinGPULevel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x938 ); }
    static inline int* m_nMaxGPULevel(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x939 ); }
};
struct DT_RagdollManager
{
    static inline int* m_iCurrentMaxRagdollCount(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
};
struct DT_PhysicsProp : public DT_BreakableProp
{
    static inline bool* m_bAwake(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcd8 ); }
    static inline int* m_spawnflags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2c4 ); }
};
struct DT_PhysicsPropMultiplayer : public DT_PhysicsProp
{
    static inline int* m_iPhysicsMode(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcfc ); }
    static inline int* m_fMass(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xd00 ); }
    static inline Vector* m_collisionMins(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xd04 ); }
    static inline Vector* m_collisionMaxs(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xd10 ); }
};
struct DT_PhysBox : public DT_BaseEntity
{
    static inline float* m_mass(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
};
struct DT_PhysBoxMultiplayer : public DT_PhysBox
{
    static inline int* m_iPhysicsMode(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x994 ); }
    static inline int* m_fMass(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x998 ); }
};
struct DT_BasePropDoor : public DT_DynamicProp
{
};
struct DT_PropDoorRotating : public DT_BasePropDoor
{
};
struct DT_Prop_Hallucination : public DT_BaseAnimating
{
    static inline bool* m_bEnabled(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcd9 ); }
    static inline int* m_fVisibleTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcdc ); }
    static inline int* m_fRechargeTime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xce0 ); }
};
struct DT_PostProcessController : public DT_BaseEntity
{
    static inline float* m_flPostProcessParameters(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); } // Array size = 11
    static inline bool* m_bMaster(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9b4 ); }
};
struct DT_PointCommentaryNode : public DT_BaseAnimating
{
    static inline bool* m_bActive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcc0 ); }
    static inline float* m_flStartTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xcc4 ); }
    static inline int* m_iszCommentaryFile(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcc8 ); }
    static inline int* m_iszCommentaryFileNoHDR(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xdcc ); }
    static inline int* m_iszSpeakers(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xed0 ); }
    static inline int* m_iNodeNumber(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xfd0 ); }
    static inline int* m_iNodeNumberMax(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xfd4 ); }
    static inline EHANDLE* m_hViewPosition(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xfdc ); }
};
struct DT_PointCamera : public DT_BaseEntity
{
    static inline float* m_FOV(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
    static inline float* m_Resolution(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
    static inline bool* m_bFogEnable(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x990 ); }
    static inline int* m_FogColor(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x991 ); }
    static inline float* m_flFogStart(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x998 ); }
    static inline float* m_flFogEnd(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x99c ); }
    static inline float* m_flFogMaxDensity(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a0 ); }
    static inline bool* m_bActive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9a4 ); }
    static inline bool* m_bUseScreenAspectRatio(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9a5 ); }
};
struct DT_Plasma : public DT_BaseEntity
{
    static inline float* m_flStartScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
    static inline float* m_flScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
    static inline float* m_flScaleTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x990 ); }
    static inline int* m_nFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x994 ); }
    static inline int* m_nPlasmaModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x998 ); }
    static inline int* m_nPlasmaModelIndex2(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x99c ); }
    static inline int* m_nGlowModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a0 ); }
};
struct DT_PhysMagnet : public DT_BaseAnimating
{
};
struct DT_StatueProp : public DT_PhysicsProp
{
    static inline EHANDLE* m_hInitBaseAnimating(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xcf8 ); }
    static inline bool* m_bShatter(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcfc ); }
    static inline int* m_nShatterFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xd00 ); }
    static inline Vector* m_vShatterPosition(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xd04 ); }
    static inline Vector* m_vShatterForce(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xd10 ); }
};
struct DT_ParticleSystem
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x134 ); }
    static inline int* m_fEffects(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xec ); }
    static inline EHANDLE* m_hOwnerEntity(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x148 ); }
    static inline int* moveparent(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x144 ); }
    static inline int* m_iParentAttachment(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2e4 ); }
    static inline QAngle* m_angRotation(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x128 ); }
    static inline int* m_iEffectIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    static inline bool* m_bActive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x990 ); }
    static inline int* m_nStopType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x98c ); }
    static inline float* m_flStartTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline char** m_szSnapshotFileName(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0x998 ); }
    static inline int* m_iServerControlPointAssignments(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xacc ); } // Array size = 4
    static inline EHANDLE* m_hControlPointEnts(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xae0 ); } // Array size = 63
    static inline int* m_iControlPointParents(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xbdc ); } // Array size = 63
}; // Fail count = 1
struct DT_MovieDisplay : public DT_BaseEntity
{
    static inline bool* m_bEnabled(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x988 ); }
    static inline bool* m_bLooping(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x989 ); }
    static inline char** m_szMovieFilename(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0x98a ); }
    static inline char** m_szGroupName(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0xa0a ); }
    static inline bool* m_bStretchToFill(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa8a ); }
    static inline bool* m_bForcedSlave(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa8b ); }
    static inline bool* m_bUseCustomUVs(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa8c ); }
    static inline float* m_flUMin(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa90 ); }
    static inline float* m_flUMax(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa94 ); }
    static inline float* m_flVMin(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa98 ); }
    static inline float* m_flVMax(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa9c ); }
};
struct DT_MaterialModifyControl : public DT_BaseEntity
{
    static inline char** m_szMaterialName(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0x988 ); }
    static inline char** m_szMaterialVar(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0xa87 ); }
    static inline char** m_szMaterialVarValue(PVOID thisPtr) { return MakePointerGEN< char* >( thisPtr, 0xb86 ); }
    static inline int* m_iFrameStart(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc90 ); }
    static inline int* m_iFrameEnd(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xc94 ); }
    static inline bool* m_bWrap(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xc98 ); }
    static inline float* m_flFramerate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xc9c ); }
    static inline bool* m_bNewAnimCommandsSemaphore(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xca0 ); }
    static inline float* m_flFloatLerpStartValue(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xca4 ); }
    static inline float* m_flFloatLerpEndValue(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xca8 ); }
    static inline float* m_flFloatLerpTransitionTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xcac ); }
    static inline bool* m_bFloatLerpWrap(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xcb0 ); }
    static inline int* m_nModifyMode(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xcb8 ); }
};
struct DT_LightGlow
{
    static inline int* m_clrRender(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x70 ); }
    static inline int* m_nHorizontalSize(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    static inline int* m_nVerticalSize(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x98c ); }
    static inline int* m_nMinDist(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x990 ); }
    static inline int* m_nMaxDist(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x994 ); }
    static inline int* m_nOuterMaxDist(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x998 ); }
    static inline int* m_spawnflags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x99c ); }
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x134 ); }
    static inline QAngle* m_angRotation(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x128 ); }
    static inline int* moveparent(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x144 ); }
    static inline float* m_flGlowProxySize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa6c ); }
    static inline float* HDRColorScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x0 ); }
};
struct DT_InfoOverlayAccessor
{
    static inline int* m_iTextureFrameIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x93a ); }
    static inline int* m_iOverlayID(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
};
struct DT_FuncTrackTrain : public DT_BaseEntity
{
};
struct DT_FuncSmokeVolume : public DT_BaseParticleEntity
{
    static inline int* m_Color1(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa74 ); }
    static inline int* m_Color2(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa78 ); }
    static inline float* m_ParticleDrawWidth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xb7c ); }
    static inline float* m_ParticleSpacingDistance(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xb80 ); }
    static inline float* m_DensityRampSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xb84 ); }
    static inline float* m_RotationSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xb88 ); }
    static inline float* m_MovementSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xb8c ); }
    static inline float* m_Density(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xb90 ); }
    static inline float* m_maxDrawDistance(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xb94 ); }
    static inline int* m_spawnflags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xb98 ); }
    static inline DT_CollisionProperty* m_Collision(PVOID thisPtr) { return MakePointerGEN< DT_CollisionProperty >( thisPtr, 0x314 ); }
}; // Fail count = 1
struct DT_FuncRotating : public DT_BaseEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x134 ); }
    static inline QAngle* m_angRotation0(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x128 ); }
    static inline QAngle* m_angRotation1(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x12c ); }
    static inline QAngle* m_angRotation2(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0x130 ); }
    static inline float* m_flSimulationTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x264 ); }
};
struct DT_FuncBrush : public DT_BaseEntity
{
};
struct DT_FuncReflectiveGlass : public DT_FuncBrush
{
};
struct DT_FuncOccluder : public DT_BaseEntity
{
    static inline bool* m_bActive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x98c ); }
    static inline int* m_nOccluderIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
};
struct DT_FuncMoveLinear : public DT_BaseToggle
{
    static inline Vector* m_vecVelocity(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x110 ); }
    static inline int* m_fFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x100 ); }
};
struct DT_FuncMonitor : public DT_FuncBrush
{
};
struct DT_Func_LOD : public DT_BaseEntity
{
    static inline int* m_nDisappearMinDist(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    static inline int* m_nDisappearMaxDist(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x98c ); }
};
struct DT_TEDust : public DT_TEParticleSystem
{
    static inline float* m_flSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1c ); }
    static inline float* m_flSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x20 ); }
    static inline Vector* m_vecDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x24 ); }
};
struct DT_Func_Dust
{
    struct DT_CollisionProperty
    {
        static inline Vector* m_vecMins(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x8 ); }
        static inline Vector* m_vecMaxs(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x14 ); }
        static inline int* m_nSolidType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x22 ); }
        static inline int* m_usSolidFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x20 ); }
        static inline int* m_nSurroundType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x2a ); }
        static inline int* m_triggerBloat(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x23 ); }
        static inline Vector* m_vecSpecifiedSurroundingMins(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x2c ); }
        static inline Vector* m_vecSpecifiedSurroundingMaxs(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x38 ); }
    };
    static inline int* m_Color(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    static inline int* m_SpawnRate(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x98c ); }
    static inline float* m_flSizeMin(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x990 ); }
    static inline float* m_flSizeMax(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline int* m_LifetimeMin(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x99c ); }
    static inline int* m_LifetimeMax(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a0 ); }
    static inline int* m_DustFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b0 ); }
    static inline int* m_SpeedMax(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x998 ); }
    static inline int* m_DistMax(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a4 ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x254 ); }
    static inline float* m_FallSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a8 ); }
    static inline bool* m_bAffectedByWind(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9ac ); }
    static inline DT_CollisionProperty* m_Collision(PVOID thisPtr) { return MakePointerGEN< DT_CollisionProperty >( thisPtr, 0x314 ); }
};
struct DT_FuncConveyor : public DT_BaseEntity
{
    static inline float* m_flConveyorSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
};
struct DT_BreakableSurface : public DT_BaseEntity
{
    static inline int* m_nNumWide(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x98c ); }
    static inline int* m_nNumHigh(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x990 ); }
    static inline float* m_flPanelWidth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline float* m_flPanelHeight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x998 ); }
    static inline Vector* m_vNormal(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x99c ); }
    static inline Vector* m_vCorner(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x9a8 ); }
    static inline bool* m_bIsBroken(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9b4 ); }
    static inline int* m_nSurfaceType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b8 ); }
}; // Fail count = 1
struct DT_FuncAreaPortalWindow : public DT_BaseEntity
{
    static inline float* m_flFadeStartDist(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
    static inline float* m_flFadeDist(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
    static inline float* m_flTranslucencyLimit(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x990 ); }
    static inline int* m_iBackgroundModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x994 ); }
};
struct DT_CFish
{
    static inline Vector* m_poolOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xd20 ); }
    static inline float* m_x(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xd08 ); }
    static inline float* m_y(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xd0c ); }
    static inline float* m_z(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xd10 ); }
    static inline QAngle* m_angle(PVOID thisPtr) { return MakePointerGEN< QAngle >( thisPtr, 0xd18 ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x254 ); }
    static inline int* m_lifeState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x25b ); }
    static inline float* m_waterLevel(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xd2c ); }
};
struct DT_FireSmoke : public DT_BaseEntity
{
    static inline float* m_flStartScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
    static inline float* m_flScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
    static inline float* m_flScaleTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x990 ); }
    static inline int* m_nFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x994 ); }
    static inline int* m_nFlameModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x998 ); }
    static inline int* m_nFlameFromAboveModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x99c ); }
};
struct DT_EnvTonemapController : public DT_BaseEntity
{
    static inline bool* m_bUseCustomAutoExposureMin(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x988 ); }
    static inline bool* m_bUseCustomAutoExposureMax(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x989 ); }
    static inline bool* m_bUseCustomBloomScale(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x98a ); }
    static inline float* m_flCustomAutoExposureMin(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
    static inline float* m_flCustomAutoExposureMax(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x990 ); }
    static inline float* m_flCustomBloomScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline float* m_flCustomBloomScaleMinimum(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x998 ); }
    static inline float* m_flBloomExponent(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x99c ); }
    static inline float* m_flBloomSaturation(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a0 ); }
    static inline float* m_flTonemapPercentTarget(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a4 ); }
    static inline float* m_flTonemapPercentBrightPixels(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a8 ); }
    static inline float* m_flTonemapMinAvgLum(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9ac ); }
    static inline float* m_flTonemapRate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9b0 ); }
};
struct DT_EnvScreenEffect : public DT_BaseEntity
{
    static inline float* m_flDuration(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
    static inline int* m_nType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x98c ); }
};
struct DT_EnvScreenOverlay : public DT_BaseEntity
{
    static inline int* m_iszOverlayNames0(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    static inline int* m_iszOverlayNames(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x0 ); } // Array size = 10
    static inline float* m_flOverlayTimes0(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1380 ); }
    static inline float* m_flOverlayTimes(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x0 ); } // Array size = 10
    static inline float* m_flStartTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x13a8 ); }
    static inline int* m_iDesiredOverlay(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x13ac ); }
    static inline bool* m_bIsActive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x13b0 ); }
};
struct DT_EnvProjectedTexture : public DT_BaseEntity
{
    static inline EHANDLE* m_hTargetEntity(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x98c ); }
    static inline bool* m_bState(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x990 ); }
    static inline bool* m_bAlwaysUpdate(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x991 ); }
    static inline float* m_flLightFOV(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline bool* m_bEnableShadows(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x998 ); }
    static inline bool* m_bSimpleProjection(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x999 ); }
    static inline bool* m_bLightOnlyTarget(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x99a ); }
    static inline bool* m_bLightWorld(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x99b ); }
    static inline bool* m_bCameraSpace(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x99c ); }
    static inline float* m_flBrightnessScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a0 ); }
    static inline int* m_LightColor(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a4 ); }
    static inline float* m_flColorTransitionTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9b8 ); }
    static inline float* m_flAmbient(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9bc ); }
    static inline int* m_nSpotlightTextureFrame(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xad4 ); }
    static inline float* m_flNearZ(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9c0 ); }
    static inline float* m_flFarZ(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9c4 ); }
    static inline int* m_nShadowQuality(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xad8 ); }
    static inline float* m_flProjectionSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xae8 ); }
    static inline float* m_flRotation(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xaec ); }
    static inline int* m_iStyle(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xadc ); }
}; // Fail count = 1
struct DT_EnvParticleScript : public DT_BaseAnimating
{
    static inline float* m_flSequenceScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xda4 ); }
};
struct DT_FogController
{
    static inline int* m_fog_enable(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9cc ); }
    static inline int* m_fog_blend(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9cd ); }
    static inline int* m_fog_dirPrimary(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x98c ); }
    static inline int* m_fog_colorPrimary(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x998 ); }
    static inline int* m_fog_colorSecondary(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x99c ); }
    static inline int* m_fog_start(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a8 ); }
    static inline int* m_fog_end(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9ac ); }
    static inline int* m_fog_farz(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b0 ); }
    static inline int* m_fog_maxdensity(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b4 ); }
    static inline int* m_fog_colorPrimaryLerpTo(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a0 ); }
    static inline int* m_fog_colorSecondaryLerpTo(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a4 ); }
    static inline int* m_fog_startLerpTo(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b8 ); }
    static inline int* m_fog_endLerpTo(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9bc ); }
    static inline int* m_fog_maxdensityLerpTo(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9c0 ); }
    static inline int* m_fog_lerptime(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9c4 ); }
    static inline int* m_fog_duration(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9c8 ); }
    static inline int* m_fog_HDRColorScale(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9d0 ); }
};
struct DT_EnvDOFController : public DT_BaseEntity
{
    static inline bool* m_bDOFEnabled(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x988 ); }
    static inline float* m_flNearBlurDepth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
    static inline float* m_flNearFocusDepth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x990 ); }
    static inline float* m_flFarFocusDepth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline float* m_flFarBlurDepth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x998 ); }
    static inline float* m_flNearBlurRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x99c ); }
    static inline float* m_flFarBlurRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a0 ); }
};
struct DT_CascadeLight : public DT_BaseEntity
{
    static inline Vector* m_shadowDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x988 ); }
    static inline Vector* m_envLightShadowDirection(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x994 ); }
    static inline bool* m_bEnabled(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9a0 ); }
    static inline bool* m_bUseLightEnvAngles(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9a1 ); }
    static inline int* m_LightColor(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a2 ); }
    static inline float* m_flMaxShadowDist(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a8 ); }
};
struct DT_EnvAmbientLight : public DT_SpatialEntity
{
    static inline Vector* m_vecColor(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xab0 ); }
};
struct DT_EntityParticleTrail : public DT_BaseParticleEntity
{
    struct DT_EntityParticleTrailInfo
    {
        static inline float* m_flLifetime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x8 ); }
        static inline float* m_flStartSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xc ); }
        static inline float* m_flEndSize(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x10 ); }
    };
    static inline int* m_iMaterialName(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa70 ); }
    static inline DT_EntityParticleTrailInfo* m_Info(PVOID thisPtr) { return MakePointerGEN< DT_EntityParticleTrailInfo >( thisPtr, 0xa74 ); }
    static inline EHANDLE* m_hConstraintEntity(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0xa88 ); }
};
struct DT_EntityFreezing : public DT_BaseEntity
{
    static inline Vector* m_vFreezingOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x988 ); }
    static inline float* m_flFrozenPerHitbox(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); } // Array size = 50
    static inline float* m_flFrozen(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa5c ); }
    static inline bool* m_bFinishFreezing(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xa60 ); }
};
struct DT_EntityFlame : public DT_BaseEntity
{
    static inline EHANDLE* m_hEntAttached(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x988 ); }
    static inline bool* m_bCheapEffect(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x99c ); }
};
struct DT_EntityDissolve : public DT_BaseEntity
{
    static inline float* m_flStartTime(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
    static inline float* m_flFadeOutStart(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x990 ); }
    static inline float* m_flFadeOutLength(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline float* m_flFadeOutModelStart(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x998 ); }
    static inline float* m_flFadeOutModelLength(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x99c ); }
    static inline float* m_flFadeInStart(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a0 ); }
    static inline float* m_flFadeInLength(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a4 ); }
    static inline int* m_nDissolveType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a8 ); }
    static inline Vector* m_vDissolverOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x9b0 ); }
    static inline int* m_nMagnitude(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9bc ); }
};
struct DT_DynamicLight : public DT_BaseEntity
{
    static inline int* m_Flags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    static inline int* m_LightStyle(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x989 ); }
    static inline float* m_Radius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
    static inline int* m_Exponent(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x990 ); }
    static inline float* m_InnerAngle(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline float* m_OuterAngle(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x998 ); }
    static inline float* m_SpotRadius(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x99c ); }
};
struct DT_ColorCorrectionVolume : public DT_BaseTrigger
{
    static inline bool* m_bEnabled(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x9d0 ); }
    static inline float* m_MaxWeight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9d4 ); }
    static inline float* m_FadeDuration(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9d8 ); }
    static inline float* m_Weight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9dc ); }
}; // Fail count = 1
struct DT_ColorCorrection : public DT_BaseEntity
{
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x988 ); }
    static inline float* m_minFalloff(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x994 ); }
    static inline float* m_maxFalloff(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x998 ); }
    static inline float* m_flCurWeight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a8 ); }
    static inline float* m_flMaxWeight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a4 ); }
    static inline float* m_flFadeInDuration(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x99c ); }
    static inline float* m_flFadeOutDuration(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a0 ); }
    static inline int* m_netLookupFilename(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9ac ); }
    static inline bool* m_bEnabled(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xab0 ); }
    static inline bool* m_bMaster(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xab1 ); }
    static inline bool* m_bClientSide(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xab2 ); }
    static inline bool* m_bExclusive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0xab3 ); }
};
struct DT_BeamSpotlight : public DT_BaseEntity
{
    static inline int* m_nHaloIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    static inline bool* m_bSpotlightOn(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x994 ); }
    static inline bool* m_bHasDynamicLight(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x995 ); }
    static inline float* m_flSpotlightMaxLength(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x998 ); }
    static inline float* m_flSpotlightGoalWidth(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x99c ); }
    static inline float* m_flHDRColorScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9a0 ); }
    static inline int* m_nRotationAxis(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x98c ); }
    static inline float* m_flRotationSpeed(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x990 ); }
};
struct DT_BaseButton : public DT_BaseToggle
{
    static inline int* m_usable(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9b8 ); }
};
struct DT_BaseDoor : public DT_BaseToggle
{
    static inline float* m_flWaveHeight(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x9b8 ); }
};
struct DT_BoneFollower : public DT_BaseEntity
{
    static inline int* m_modelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x988 ); }
    static inline int* m_solidIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x98c ); }
};
struct DT_AI_BaseNPC : public DT_BaseCombatCharacter
{
    static inline int* m_lifeState(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x25b ); }
    static inline bool* m_bPerformAvoidance(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x126c ); }
    static inline bool* m_bIsMoving(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x126d ); }
    static inline bool* m_bFadeCorpse(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x126e ); }
    static inline int* m_iDeathPose(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x125c ); }
    static inline int* m_iDeathFrame(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1260 ); }
    static inline int* m_iSpeedModRadius(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1264 ); }
    static inline int* m_iSpeedModSpeed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x1268 ); }
    static inline bool* m_bSpeedModActive(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x126f ); }
    static inline bool* m_bImportanRagdoll(PVOID thisPtr) { return MakePointerGEN< bool >( thisPtr, 0x1270 ); }
    static inline float* m_flTimePingEffect(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x1258 ); }
};
struct DT_Beam
{
    static inline int* m_nBeamType(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a4 ); }
    static inline int* m_nBeamFlags(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a8 ); }
    static inline int* m_nNumBeamEnts(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x998 ); }
    static inline EHANDLE* m_hAttachEntity(PVOID thisPtr) { return MakePointerGEN< EHANDLE >( thisPtr, 0x9ac ); } // Array size = 10
    static inline int* m_nAttachIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9d4 ); } // Array size = 10
    static inline int* m_nHaloIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9a0 ); }
    static inline int* m_fHaloScale(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa08 ); }
    static inline int* m_fWidth(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x9fc ); }
    static inline int* m_fEndWidth(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa00 ); }
    static inline int* m_fFadeLength(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa04 ); }
    static inline int* m_fAmplitude(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa0c ); }
    static inline int* m_fStartFrame(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa10 ); }
    static inline int* m_fSpeed(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa14 ); }
    static inline float* m_flFrameRate(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x988 ); }
    static inline float* m_flHDRColorScale(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0x98c ); }
    static inline int* m_clrRender(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x70 ); }
    static inline int* m_nRenderFX(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x256 ); }
    static inline int* m_nRenderMode(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x257 ); }
    static inline float* m_flFrame(PVOID thisPtr) { return MakePointerGEN< float >( thisPtr, 0xa18 ); }
    static inline int* m_nClipStyle(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0xa1c ); }
    static inline Vector* m_vecEndPos(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0xa20 ); }
    static inline int* m_nModelIndex(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x254 ); }
    static inline Vector* m_vecOrigin(PVOID thisPtr) { return MakePointerGEN< Vector >( thisPtr, 0x134 ); }
    static inline int* moveparent(PVOID thisPtr) { return MakePointerGEN< int >( thisPtr, 0x144 ); }
};