#pragma once #include "Valve/dt_common.h" #include "Valve/dt_recv.h" enum ClassId_t { CAI_BaseNPC, CAK47, CBaseAnimating, CBaseAnimatingOverlay, CBaseAttributableItem, CBaseButton, CBaseCombatCharacter, CBaseCombatWeapon, CBaseCSGrenade, CBaseCSGrenadeProjectile, CBaseDoor, CBaseEntity_, CBaseFlex, CBaseGrenade, CBaseParticleEntity, CBasePlayer, CBasePropDoor, CBaseTeamObjectiveResource, CBaseTempEntity, CBaseToggle, CBaseTrigger, CBaseViewModel, CBaseVPhysicsTrigger, CBaseWeaponWorldModel, CBeam, CBeamSpotlight, CBoneFollower, CBreakableProp, CBreakableSurface, CC4, CCascadeLight, CChicken, CColorCorrection, CColorCorrectionVolume, CCSGameRulesProxy, CCSPlayer, CCSPlayerResource, CCSRagdoll, CCSTeam, CDEagle, CDecoyGrenade, CDecoyProjectile, CDynamicLight, CDynamicProp, CEconEntity, CEconWearable, CEmbers, CEntityDissolve, CEntityFlame, CEntityFreezing, CEntityParticleTrail, CEnvAmbientLight, CEnvDetailController, CEnvDOFController, CEnvParticleScript, CEnvProjectedTexture, CEnvQuadraticBeam, CEnvScreenEffect, CEnvScreenOverlay, CEnvTonemapController, CEnvWind, CFEPlayerDecal, CFireCrackerBlast, CFireSmoke, CFireTrail, CFish, CFlashbang, CFogController, CFootstepControl, CFunc_Dust, CFunc_LOD, CFuncAreaPortalWindow, CFuncBrush, CFuncConveyor, CFuncLadder, CFuncMonitor, CFuncMoveLinear, CFuncOccluder, CFuncReflectiveGlass, CFuncRotating, CFuncSmokeVolume, CFuncTrackTrain, CGameRulesProxy, CHandleTest, CHEGrenade, CHostage, CHostageCarriableProp, CIncendiaryGrenade, CInferno, CInfoLadderDismount, CInfoOverlayAccessor, CItem_Healthshot, CItemDogtags, CKnife, CKnifeGG, CLightGlow, CMaterialModifyControl, CMolotovGrenade, CMolotovProjectile, CMovieDisplay, CParticleFire, CParticlePerformanceMonitor, CParticleSystem, CPhysBox, CPhysBoxMultiplayer, CPhysicsProp, CPhysicsPropMultiplayer, CPhysMagnet, CPlantedC4, CPlasma, CPlayerResource, CPointCamera, CPointCommentaryNode, CPointWorldText, CPoseController, CPostProcessController, CPrecipitation, CPrecipitationBlocker, CPredictedViewModel, CProp_Hallucination, CPropDoorRotating, CPropJeep, CPropVehicleDriveable, CRagdollManager, CRagdollProp, CRagdollPropAttached, CRopeKeyframe, CSCAR17, CSceneEntity, CSensorGrenade, CSensorGrenadeProjectile, CShadowControl, CSlideshowDisplay, CSmokeGrenade, CSmokeGrenadeProjectile, CSmokeStack, CSpatialEntity, CSpotlightEnd, CSprite, CSpriteOriented, CSpriteTrail, CStatueProp, CSteamJet, CSun, CSunlightShadowControl, CTeam, CTeamplayRoundBasedRulesProxy, CTEArmorRicochet, CTEBaseBeam, CTEBeamEntPoint, CTEBeamEnts, CTEBeamFollow, CTEBeamLaser, CTEBeamPoints, CTEBeamRing, CTEBeamRingPoint, CTEBeamSpline, CTEBloodSprite, CTEBloodStream, CTEBreakModel, CTEBSPDecal, CTEBubbles, CTEBubbleTrail, CTEClientProjectile, CTEDecal, CTEDust, CTEDynamicLight, CTEEffectDispatch, CTEEnergySplash, CTEExplosion, CTEFireBullets, CTEFizz, CTEFootprintDecal, CTEFoundryHelpers, CTEGaussExplosion, CTEGlowSprite, CTEImpact, CTEKillPlayerAttachments, CTELargeFunnel, CTEMetalSparks, CTEMuzzleFlash, CTEParticleSystem, CTEPhysicsProp, CTEPlantBomb, CTEPlayerAnimEvent, CTEPlayerDecal, CTEProjectedDecal, CTERadioIcon, CTEShatterSurface, CTEShowLine, CTesla, CTESmoke, CTESparks, CTESprite, CTESpriteSpray, CTest_ProxyToggle_Networkable, CTestTraceline, CTEWorldDecal, CTriggerPlayerMovement, CTriggerSoundOperator, CVGuiScreen, CVoteController, CWaterBullet, CWaterLODControl, CWeaponAug, CWeaponAWP, CWeaponBaseItem, CWeaponBizon, CWeaponCSBase, CWeaponCSBaseGun, CWeaponCycler, CWeaponElite, CWeaponFamas, CWeaponFiveSeven, CWeaponG3SG1, CWeaponGalil, CWeaponGalilAR, CWeaponGlock, CWeaponHKP2000, CWeaponM249, CWeaponM3, CWeaponM4A1, CWeaponMAC10, CWeaponMag7, CWeaponMP5Navy, CWeaponMP7, CWeaponMP9, CWeaponNegev, CWeaponNOVA, CWeaponP228, CWeaponP250, CWeaponP90, CWeaponSawedoff, CWeaponSCAR20, CWeaponScout, CWeaponSG550, CWeaponSG552, CWeaponSG556, CWeaponSSG08, CWeaponTaser, CWeaponTec9, CWeaponTMP, CWeaponUMP45, CWeaponUSP, CWeaponXM1014, CWorld, DustTrail, MovieExplosion, ParticleSmokeGrenade, RocketTrail, SmokeTrail, SporeExplosion, SporeTrail, }; class ClientClass { public: using create_fn = void*( *)( int, int ); using event_fn = void*( *); create_fn m_create_fn; event_fn m_createevent_fn; char* m_name; RecvTable* m_rt_table; ClientClass* m_next; int m_class_id; };