text: #pragma once
  
  enum ECstrike15UserMessages {
  	CS_UM_VGUIMenu = 1,
  	CS_UM_Geiger = 2,
  	CS_UM_Train = 3,
  	CS_UM_HudText = 4,
  	CS_UM_SayText = 5,
  	CS_UM_SayText2 = 6,
  	CS_UM_TextMsg = 7,
  	CS_UM_HudMsg = 8,
  	CS_UM_ResetHud = 9,
  	CS_UM_GameTitle = 10,
  	CS_UM_Shake = 12,
  	CS_UM_Fade = 13,
  	CS_UM_Rumble = 14,
  	CS_UM_CloseCaption = 15,
  	CS_UM_CloseCaptionDirect = 16,
  	CS_UM_SendAudio = 17,
  	CS_UM_RawAudio = 18,
  	CS_UM_VoiceMask = 19,
  	CS_UM_RequestState = 20,
  	CS_UM_Damage = 21,
  	CS_UM_RadioText = 22,
  	CS_UM_HintText = 23,
  	CS_UM_KeyHintText = 24,
  	CS_UM_ProcessSpottedEntityUpdate = 25,
  	CS_UM_ReloadEffect = 26,
  	CS_UM_AdjustMoney = 27,
  	CS_UM_UpdateTeamMoney = 28,
  	CS_UM_StopSpectatorMode = 29,
  	CS_UM_KillCam = 30,
  	CS_UM_DesiredTimescale = 31,
  	CS_UM_CurrentTimescale = 32,
  	CS_UM_AchievementEvent = 33,
  	CS_UM_MatchEndConditions = 34,
  	CS_UM_DisconnectToLobby = 35,
  	CS_UM_PlayerStatsUpdate = 36,
  	CS_UM_DisplayInventory = 37,
  	CS_UM_WarmupHasEnded = 38,
  	CS_UM_ClientInfo = 39,
  	CS_UM_XRankGet = 40,
  	CS_UM_XRankUpd = 41,
  	CS_UM_CallVoteFailed = 45,
  	CS_UM_VoteStart = 46,
  	CS_UM_VotePass = 47,
  	CS_UM_VoteFailed = 48,
  	CS_UM_VoteSetup = 49,
  	CS_UM_ServerRankRevealAll = 50,
  	CS_UM_SendLastKillerDamageToClient = 51,
  	CS_UM_ServerRankUpdate = 52,
  	CS_UM_ItemPickup = 53,
  	CS_UM_ShowMenu = 54,
  	CS_UM_BarTime = 55,
  	CS_UM_AmmoDenied = 56,
  	CS_UM_MarkAchievement = 57,
  	CS_UM_MatchStatsUpdate = 58,
  	CS_UM_ItemDrop = 59,
  	CS_UM_GlowPropTurnOff = 60,
  	CS_UM_SendPlayerItemDrops = 61,
  	CS_UM_RoundBackupFilenames = 62,
  	CS_UM_SendPlayerItemFound = 63,
  	CS_UM_ReportHit = 64,
  	CS_UM_XpUpdate = 65,
  	CS_UM_QuestProgress = 66,
  	CS_UM_ScoreLeaderboardData = 67,
  	CS_UM_PlayerDecalDigitalSignature = 68,
  	MAX_ECSTRIKE15USERMESSAGES
  };
  
  enum ItemDefinitionIndex
  {
  	WEAPON_NONE,
  	WEAPON_DEAGLE = 1,
  	WEAPON_ELITE,
  	WEAPON_FIVESEVEN,
  	WEAPON_GLOCK,
  	WEAPON_AK47 = 7,
  	WEAPON_AUG,
  	WEAPON_AWP,
  	WEAPON_FAMAS,
  	WEAPON_G3SG1,
  	WEAPON_GALILAR = 13,
  	WEAPON_M249,
  	WEAPON_M4A1 = 16,
  	WEAPON_MAC10,
  	WEAPON_P90 = 19,
  	WEAPON_ZONE_REPULSOR,
  	WEAPON_MP5SD = 23,
  	WEAPON_UMP45,
  	WEAPON_XM1014,
  	WEAPON_BIZON,
  	WEAPON_MAG7,
  	WEAPON_NEGEV,
  	WEAPON_SAWEDOFF,
  	WEAPON_TEC9,
  	WEAPON_TASER,
  	WEAPON_HKP2000,
  	WEAPON_MP7,
  	WEAPON_MP9,
  	WEAPON_NOVA,
  	WEAPON_P250,
  	WEAPON_SHIELD,
  	WEAPON_SCAR20,
  	WEAPON_SG556,
  	WEAPON_SSG08,
  	WEAPON_KNIFEGG,
  	WEAPON_KNIFE,
  	WEAPON_FLASHBANG,
  	WEAPON_HEGRENADE,
  	WEAPON_SMOKEGRENADE,
  	WEAPON_MOLOTOV,
  	WEAPON_DECOY,
  	WEAPON_INCGRENADE,
  	WEAPON_C4,
  	ITEM_KEVLAR,
  	ITEM_ASSAULTSUIT,
  	ITEM_HEAVYASSAULTSUIT,
  	ITEM_NVG = 54,
  	ITEM_DEFUSER,
  	ITEM_CUTTERS,
  	WEAPON_HEALTHSHOT,
  	WEAPON_KNIFE_T = 59,
  	WEAPON_M4A1_SILENCER,
  	WEAPON_USP_SILENCER,
  	WEAPON_CZ75A = 63,
  	WEAPON_REVOLVER,
  	WEAPON_TAGRENADE = 68,
  	WEAPON_FISTS,
  	WEAPON_BREACHCHARGE,
  	WEAPON_TABLET = 72,
  	WEAPON_MELEE = 74,
  	WEAPON_AXE,
  	WEAPON_HAMMER,
  	WEAPON_SPANNER = 78,
  	WEAPON_KNIFE_GHOST = 80,
  	WEAPON_FIREBOMB,
  	WEAPON_DIVERSION,
  	WEAPON_FRAG_GRENADE,
  	WEAPON_SNOWBALL,
  	WEAPON_BUMPMINE,
  	WEAPON_BAYONET = 500,
  	WEAPON_KNIFE_CSS = 503,
  	WEAPON_KNIFE_FLIP = 505,
  	WEAPON_KNIFE_GUT,
  	WEAPON_KNIFE_KARAMBIT,
  	WEAPON_KNIFE_M9_BAYONET,
  	WEAPON_KNIFE_TACTICAL,
  	WEAPON_KNIFE_FALCHION = 512,
  	WEAPON_KNIFE_SURVIVAL_BOWIE = 514,
  	WEAPON_KNIFE_BUTTERFLY,
  	WEAPON_KNIFE_PUSH,
  	WEAPON_KNIFE_CORD,
  	WEAPON_KNIFE_CANIS,
  	WEAPON_KNIFE_URSUS,
  	WEAPON_KNIFE_GYPSY_JACKKNIFE,
  	WEAPON_KNIFE_OUTDOOR,
  	WEAPON_KNIFE_STILETTO,
  	WEAPON_KNIFE_WIDOWMAKER,
  	WEAPON_KNIFE_SKELETON = 525,
  	STUDDED_BLOODHOUND_GLOVES = 5027,
  	T_GLOVES,
  	CT_GLOVES,
  	SPORTY_GLOVES,
  	SLICK_GLOVES,
  	LEATHER_HANDWRAPS,
  	MOTORCYCLE_GLOVES,
  	SPECIALIST_GLOVES,
  	STUDDED_HYDRA_GLOVES,
  	STUDDED_BROKENFANG_GLOVES = 4725,
  	CUSTOMPLAYER_T_MAP_BASED = 5036,
  	CUSTOMPLAYER_CT_MAP_BASED,
  	CUSTOMPLAYER_TM_ANARCHIST,
  	CUSTOMPLAYER_TM_ANARCHIST_VARIANTA,
  	CUSTOMPLAYER_TM_ANARCHIST_VARIANTB,
  	CUSTOMPLAYER_TM_ANARCHIST_VARIANTC,
  	CUSTOMPLAYER_TM_ANARCHIST_VARIANTD,
  	CUSTOMPLAYER_TM_PIRATE,
  	CUSTOMPLAYER_TM_PIRATE_VARIANTA,
  	CUSTOMPLAYER_TM_PIRATE_VARIANTB,
  	CUSTOMPLAYER_TM_PIRATE_VARIANTC,
  	CUSTOMPLAYER_TM_PIRATE_VARIANTD,
  	CUSTOMPLAYER_TM_PROFESSIONAL,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VAR1,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VAR2,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VAR3,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VAR4,
  	CUSTOMPLAYER_TM_SEPARATIST,
  	CUSTOMPLAYER_TM_SEPARATIST_VARIANTA,
  	CUSTOMPLAYER_TM_SEPARATIST_VARIANTB,
  	CUSTOMPLAYER_TM_SEPARATIST_VARIANTC,
  	CUSTOMPLAYER_TM_SEPARATIST_VARIANTD,
  	CUSTOMPLAYER_CTM_GIGN,
  	CUSTOMPLAYER_CTM_GIGN_VARIANTA,
  	CUSTOMPLAYER_CTM_GIGN_VARIANTB,
  	CUSTOMPLAYER_CTM_GIGN_VARIANTC,
  	CUSTOMPLAYER_CTM_GIGN_VARIANTD,
  	CUSTOMPLAYER_CTM_GSG9,
  	CUSTOMPLAYER_CTM_GSG9_VARIANTA,
  	CUSTOMPLAYER_CTM_GSG9_VARIANTB,
  	CUSTOMPLAYER_CTM_GSG9_VARIANTC,
  	CUSTOMPLAYER_CTM_GSG9_VARIANTD,
  	CUSTOMPLAYER_CTM_IDF,
  	CUSTOMPLAYER_CTM_IDF_VARIANTB,
  	CUSTOMPLAYER_CTM_IDF_VARIANTC,
  	CUSTOMPLAYER_CTM_IDF_VARIANTD,
  	CUSTOMPLAYER_CTM_IDF_VARIANTE,
  	CUSTOMPLAYER_CTM_IDF_VARIANTF,
  	CUSTOMPLAYER_CTM_SWAT,
  	CUSTOMPLAYER_CTM_SWAT_VARIANTA,
  	CUSTOMPLAYER_CTM_SWAT_VARIANTB,
  	CUSTOMPLAYER_CTM_SWAT_VARIANTC,
  	CUSTOMPLAYER_CTM_SWAT_VARIANTD,
  	CUSTOMPLAYER_CTM_SAS_VARIANTA,
  	CUSTOMPLAYER_CTM_SAS_VARIANTB,
  	CUSTOMPLAYER_CTM_SAS_VARIANTC,
  	CUSTOMPLAYER_CTM_SAS_VARIANTD,
  	CUSTOMPLAYER_CTM_ST6,
  	CUSTOMPLAYER_CTM_ST6_VARIANTA,
  	CUSTOMPLAYER_CTM_ST6_VARIANTB,
  	CUSTOMPLAYER_CTM_ST6_VARIANTC,
  	CUSTOMPLAYER_CTM_ST6_VARIANTD,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTE,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTA,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTB,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTC,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTD,
  	CUSTOMPLAYER_TM_JUMPSUIT_VARIANTA,
  	CUSTOMPLAYER_TM_JUMPSUIT_VARIANTB,
  	CUSTOMPLAYER_TM_JUMPSUIT_VARIANTC,
  	CUSTOMPLAYER_TM_PHOENIX_HEAVY,
  	CUSTOMPLAYER_CTM_HEAVY,
  	CUSTOMPLAYER_TM_LEET_VARIANTA = 5100,
  	CUSTOMPLAYER_TM_LEET_VARIANTB,
  	CUSTOMPLAYER_TM_LEET_VARIANTC,
  	CUSTOMPLAYER_TM_LEET_VARIANTD,
  	CUSTOMPLAYER_TM_LEET_VARIANTE,
  	CUSTOMPLAYER_TM_LEET_VARIANTG,
  	CUSTOMPLAYER_TM_LEET_VARIANTH,
  	CUSTOMPLAYER_TM_LEET_VARIANTI,
  	CUSTOMPLAYER_TM_LEET_VARIANTF,
  	CUSTOMPLAYER_TM_PHOENIX = 5200,
  	CUSTOMPLAYER_TM_PHOENIX_VARIANTA,
  	CUSTOMPLAYER_TM_PHOENIX_VARIANTB,
  	CUSTOMPLAYER_TM_PHOENIX_VARIANTC,
  	CUSTOMPLAYER_TM_PHOENIX_VARIANTD,
  	CUSTOMPLAYER_TM_PHOENIX_VARIANTH,
  	CUSTOMPLAYER_TM_PHOENIX_VARIANTF,
  	CUSTOMPLAYER_TM_PHOENIX_VARIANTG,
  	CUSTOMPLAYER_TM_PHOENIX_VARIANTI,
  	CUSTOMPLAYER_CTM_FBI = 5300,
  	CUSTOMPLAYER_CTM_FBI_VARIANTA,
  	CUSTOMPLAYER_CTM_FBI_VARIANTC,
  	CUSTOMPLAYER_CTM_FBI_VARIANTD,
  	CUSTOMPLAYER_CTM_FBI_VARIANTE,
  	CUSTOMPLAYER_CTM_FBI_VARIANTF,
  	CUSTOMPLAYER_CTM_FBI_VARIANTG,
  	CUSTOMPLAYER_CTM_FBI_VARIANTH,
  	CUSTOMPLAYER_CTM_FBI_VARIANTB,
  	CUSTOMPLAYER_CTM_ST6_VARIANTK = 5400,
  	CUSTOMPLAYER_CTM_ST6_VARIANTE,
  	CUSTOMPLAYER_CTM_ST6_VARIANTG,
  	CUSTOMPLAYER_CTM_ST6_VARIANTM,
  	CUSTOMPLAYER_CTM_ST6_VARIANTI,
  	CUSTOMPLAYER_CTM_ST6_VARIANTJ = 4619,
  	CUSTOMPLAYER_CTM_ST6_VARIANTL = 4680,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTF = 5500,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTI,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTG,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTJ,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTH,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTK = 4718,
  	CUSTOMPLAYER_TM_BALKAN_VARIANTL = 5505,
  	CUSTOMPLAYER_CTM_SAS = 5600,
  	CUSTOMPLAYER_CTM_SAS_VARIANTF,
  	CUSTOMPLAYER_CTM_SWAT_VARIANTE = 4711,
  	CUSTOMPLAYER_CTM_SWAT_VARIANTF,
  	CUSTOMPLAYER_CTM_SWAT_VARIANTG,
  	CUSTOMPLAYER_CTM_SWAT_VARIANTH,
  	CUSTOMPLAYER_CTM_SWAT_VARIANTI,
  	CUSTOMPLAYER_CTM_SWAT_VARIANTJ,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VARF = 4726,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VARF1 = 4733,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VARF2,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VARF3,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VARF4,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VARG = 4727,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VARH,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VARI = 4732,
  	CUSTOMPLAYER_TM_PROFESSIONAL_VARJ = 4730,
  };
  
  enum ClassID
  {
  	Invalid = -1,
  	NextBotCombatCharacter = 0,
  	CWeaponCubemap = NextBotCombatCharacter,
  	CPropVehicleChoreoGeneric = NextBotCombatCharacter,
  	CItemAssaultSuitUseable = NextBotCombatCharacter,
  	CItem = NextBotCombatCharacter,
  	CAI_BaseNPC = NextBotCombatCharacter,
  	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,
  	CBRC4Target,
  	CBreachCharge,
  	CBreachChargeProjectile,
  	CBreakableProp,
  	CBreakableSurface,
  	CBumpMine,
  	CBumpMineProjectile,
  	CC4,
  	CCascadeLight,
  	CChicken,
  	CColorCorrection,
  	CColorCorrectionVolume,
  	CCSGameRulesProxy,
  	CCSPlayer,
  	CCSPlayerResource,
  	CCSRagdoll,
  	CCSTeam,
  	CDangerZone,
  	CDangerZoneController,
  	CDEagle,
  	CDecoyGrenade,
  	CDecoyProjectile,
  	CDrone,
  	CDronegun,
  	CDynamicLight,
  	CDynamicProp,
  	CEconEntity,
  	CEconWearable,
  	CEmbers,
  	CEntityDissolve,
  	CEntityFlame,
  	CEntityFreezing,
  	CEntityParticleTrail,
  	CEnvAmbientLight,
  	CEnvDetailController,
  	CEnvDOFController,
  	CEnvGasCanister,
  	CEnvParticleScript,
  	CEnvProjectedTexture,
  	CEnvQuadraticBeam,
  	CEnvScreenEffect,
  	CEnvScreenOverlay,
  	CEnvTonemapController,
  	CEnvWind,
  	CFEPlayerDecal,
  	CFireCrackerBlast,
  	CFireSmoke,
  	CFireTrail,
  	CFish,
  	CFists,
  	CFlashbang,
  	CFogController,
  	CFootstepControl,
  	CFunc_Dust,
  	CFunc_LOD,
  	CFuncAreaPortalWindow,
  	CFuncBrush,
  	CFuncConveyor,
  	CFuncLadder,
  	CFuncMonitor,
  	CFuncMoveLinear,
  	CFuncOccluder,
  	CFuncReflectiveGlass,
  	CFuncRotating,
  	CFuncSmokeVolume,
  	CFuncTrackTrain,
  	CGameRulesProxy,
  	CGrassBurn,
  	CHandleTest,
  	CHEGrenade,
  	CHostage,
  	CHostageCarriableProp,
  	CIncendiaryGrenade,
  	CInferno,
  	CInfoLadderDismount,
  	CInfoMapRegion,
  	CInfoOverlayAccessor,
  	CItem_Healthshot,
  	CItemCash,
  	CItemDogtags,
  	CKnife,
  	CKnifeGG,
  	CLightGlow,
  	CMapVetoPickController,
  	CMaterialModifyControl,
  	CMelee,
  	CMolotovGrenade,
  	CMolotovProjectile,
  	CMovieDisplay,
  	CParadropChopper,
  	CParticleFire,
  	CParticlePerformanceMonitor,
  	CParticleSystem,
  	CPhysBox,
  	CPhysBoxMultiplayer,
  	CPhysicsProp,
  	CPhysicsPropMultiplayer,
  	CPhysMagnet,
  	CPhysPropAmmoBox,
  	CPhysPropLootCrate,
  	CPhysPropRadarJammer,
  	CPhysPropWeaponUpgrade,
  	CPlantedC4,
  	CPlasma,
  	CPlayerPing,
  	CPlayerResource,
  	CPointCamera,
  	CPointCommentaryNode,
  	CPointWorldText,
  	CPoseController,
  	CPostProcessController,
  	CPrecipitation,
  	CPrecipitationBlocker,
  	CPredictedViewModel,
  	CProp_Hallucination,
  	CPropCounter,
  	CPropDoorRotating,
  	CPropJeep,
  	CPropVehicleDriveable,
  	CRagdollManager,
  	CRagdollProp,
  	CRagdollPropAttached,
  	CRopeKeyframe,
  	CSCAR17,
  	CSceneEntity,
  	CSensorGrenade,
  	CSensorGrenadeProjectile,
  	CShadowControl,
  	CSlideshowDisplay,
  	CSmokeGrenade,
  	CSmokeGrenadeProjectile,
  	CSmokeStack,
  	CSnowball,
  	CSnowballPile,
  	CSnowballProjectile,
  	CSpatialEntity,
  	CSpotlightEnd,
  	CSprite,
  	CSpriteOriented,
  	CSpriteTrail,
  	CStatueProp,
  	CSteamJet,
  	CSun,
  	CSunlightShadowControl,
  	CSurvivalSpawnChopper,
  	CTablet,
  	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,
  	CWeaponShield,
  	CWeaponSSG08,
  	CWeaponTaser,
  	CWeaponTec9,
  	CWeaponTMP,
  	CWeaponUMP45,
  	CWeaponUSP,
  	CWeaponXM1014,
  	CWeaponZoneRepulsor,
  	CWorld,
  	CWorldVguiText,
  	DustTrail,
  	MovieExplosion,
  	ParticleSmokeGrenade,
  	RocketTrail,
  	SmokeTrail,
  	SporeExplosion,
  	SporeTrail
  
  };
  
  enum ECSPlayerBones
  {
  	pelvis = 0,
  	spine_0,
  	spine_1,
  	spine_2,
  	spine_3,
  	neck_0,
  	head_0,
  	clavicle_L,
  	arm_upper_L,
  	arm_lower_L,
  	hand_L,
  	MAX_ECSPLAYERBONES
  };
  
  enum EntityFlags {
  	FL_ONGROUND = (1 << 0),
  	FL_DUCKING = (1 << 1),
  	FL_AIMDUCKING = (1 << 2),
  	FL_WATERJUMP = (1 << 3),
  	FL_ONTRAIN = (1 << 4),
  	FL_INRAIN = (1 << 5),
  	FL_FROZEN = (1 << 6),
  	FL_ATCONTROLS = (1 << 7),
  	FL_CLIENT = (1 << 8),
  	FL_FAKECLIENT = (1 << 9),
  	MAX_ENTITYFLAGS
  };
  
  enum LifeState : unsigned char {
  	LIFE_ALIVE,
  	LIFE_DYING,
  	LIFE_DEAD,
  	MAX_LIFESTATE
  };
  
  enum WeaponSound_t {
  	EMPTY,
  	SINGLE,
  	SINGLE_NPC,
  	WPN_DOUBLE, // Can't be "DOUBLE" because windows.h uses it.
  	DOUBLE_NPC,
  	BURST,
  	RELOAD,
  	RELOAD_NPC,
  	MELEE_MISS,
  	MELEE_HIT,
  	MELEE_HIT_WORLD,
  	SPECIAL1,
  	SPECIAL2,
  	SPECIAL3,
  	TAUNT,
  	FAST_RELOAD,
  	// Add new shoot sound types here
  	REVERSE_THE_NEW_SOUND,
  	NUM_SHOOT_SOUND_TYPES,
  	MAX_WEAPONSOUND
  };
  
  enum MoveType_t {
  	MOVETYPE_NONE,
  	MOVETYPE_ISOMETRIC,
  	MOVETYPE_WALK,
  	MOVETYPE_STEP,
  	MOVETYPE_FLY,
  	MOVETYPE_FLYGRAVITY,
  	MOVETYPE_VPHYSICS,
  	MOVETYPE_PUSH,
  	MOVETYPE_NOCLIP,
  	MOVETYPE_LADDER,
  	MOVETYPE_OBSERVER,
  	MOVETYPE_CUSTOM,
  	MOVETYPE_LAST = MOVETYPE_CUSTOM,
  	MOVETYPE_MAX_BITS = 4,
  	MAX_MOVETYPE
  };
  
  enum Collision_Group_t {
  	COLLISION_GROUP_NONE,
  	COLLISION_GROUP_DEBRIS,				// Collides with nothing but world and static stuff
  	COLLISION_GROUP_DEBRIS_TRIGGER,		// Same as debris, but hits triggers
  	COLLISION_GROUP_INTERACTIVE_DEB,	// RIS, // Collides with everything except other interactive debris or debris
  	COLLISION_GROUP_INTERACTIVE,		// Collides with everything except interactive debris or debris
  	COLLISION_GROUP_PLAYER,
  	COLLISION_GROUP_BREAKABLE_GLASS,
  	COLLISION_GROUP_VEHICLE,
  	COLLISION_GROUP_PLAYER_MOVEMENT,	// For HL2, same as Collision_Group_Player
  	COLLISION_GROUP_NPC,				// Generic NPC group
  	COLLISION_GROUP_IN_VEHICLE,			// for any entity inside a vehicle
  	COLLISION_GROUP_WEAPON,				// for any weapons that need collision detection
  	COLLISION_GROUP_VEHICLE_CLIP,		// vehicle clip brush to restrict vehicle movement
  	COLLISION_GROUP_PROJECTILE,			// Projectiles!
  	COLLISION_GROUP_DOOR_BLOCKER,		// Blocks entities not permitted to get near moving doors
  	COLLISION_GROUP_PASSABLE_DOOR,		// Doors that the player shouldn't collide with
  	COLLISION_GROUP_DISSOLVING,			// Things that are dissolving are in this group
  	COLLISION_GROUP_PUSHAWAY,			// Nonsolid on client and server, pushaway in player code
  	COLLISION_GROUP_NPC_ACTOR,			// Used so NPCs in scripts ignore the player.
  	LAST_SHARED_COLLISION_GROUP
  };
  
  enum mp_break_t {
  	MULTIPLAYER_BREAK_DEFAULT,
  	MULTIPLAYER_BREAK_SERVERSIDE,
  	MULTIPLAYER_BREAK_CLIENTSIDE,
  	MULTIPLAYER_BREAK_BOTH
  };
  
  enum propdata_interactions_t {
  	PROPINTER_PHYSGUN_WORLD_STICK,		// "onworldimpact"	"stick"
  	PROPINTER_PHYSGUN_FIRST_BREAK,		// "onfirstimpact"	"break"
  	PROPINTER_PHYSGUN_FIRST_PAINT,		// "onfirstimpact"	"paintsplat"
  	PROPINTER_PHYSGUN_FIRST_IMPALE,		// "onfirstimpact"	"impale"
  	PROPINTER_PHYSGUN_LAUNCH_SPIN_NONE,	// "onlaunch"		"spin_none"
  	PROPINTER_PHYSGUN_LAUNCH_SPIN_Z,	// "onlaunch"		"spin_zaxis"
  	PROPINTER_PHYSGUN_BREAK_EXPLODE,	// "onbreak"		"explode_fire"
  	PROPINTER_PHYSGUN_DAMAGE_NONE,		// "damage"			"none"
  	PROPINTER_FIRE_FLAMMABLE,			// "flammable"			"yes"
  	PROPINTER_FIRE_EXPLOSIVE_RESIST,	// "explosive_resist"	"yes"
  	PROPINTER_FIRE_IGNITE_HALFHEALTH,	// "ignite"				"halfhealth"
  	PROPINTER_PHYSGUN_CREATE_FLARE,		// "onpickup"		"create_flare"
  	PROPINTER_PHYSGUN_ALLOW_OVERHEAD,	// "allow_overhead"	"yes"
  	PROPINTER_WORLD_BLOODSPLAT,			// "onworldimpact", "bloodsplat"
  	PROPINTER_PHYSGUN_NOTIFY_CHILDREN,	// "onfirstimpact" cause attached flechettes to explode
  	PROPINTER_NUM_INTERACTIONS,			// If we get more than 32 of these, we'll need a different system
  };
  
  enum ObserverType_t {
  	OBS_MODE_NONE,	// not in spectator mode
  	OBS_MODE_DEATHCAM,	// special mode for death cam animation
  	OBS_MODE_FREEZECAM,	// zooms to a target, and freeze-frames on them
  	OBS_MODE_FIXED,		// view from a fixed camera position
  	OBS_MODE_IN_EYE,	// follow a player in first person view
  	OBS_MODE_CHASE,		// follow a player in third person view
  	OBS_MODE_ROAMING,	// free roaming
  
  	NUM_OBSERVER_MODES,
  };
  
  enum {
  	TE_BEAMPOINTS = 0x00,		// beam effect between two points
  	TE_SPRITE = 0x01,	// additive sprite, plays 1 cycle
  	TE_BEAMDISK = 0x02,	// disk that expands to max radius over lifetime
  	TE_BEAMCYLINDER = 0x03,		// cylinder that expands to max radius over lifetime
  	TE_BEAMFOLLOW = 0x04,		// create a line of decaying beam segments until entity stops moving
  	TE_BEAMRING = 0x05,		// connect a beam ring to two entities
  	TE_BEAMSPLINE = 0x06,
  	TE_BEAMRINGPOINT = 0x07,
  	TE_BEAMLASER = 0x08,		// Fades according to viewpoint
  	TE_BEAMTESLA = 0x09,
  };
  enum {
  	FBEAM_STARTENTITY = 0x00000001,
  	FBEAM_ENDENTITY = 0x00000002,
  	FBEAM_FADEIN = 0x00000004,
  	FBEAM_FADEOUT = 0x00000008,
  	FBEAM_SINENOISE = 0x00000010,
  	FBEAM_SOLID = 0x00000020,
  	FBEAM_SHADEIN = 0x00000040,
  	FBEAM_SHADEOUT = 0x00000080,
  	FBEAM_ONLYNOISEONCE = 0x00000100,		// Only calculate our noise once
  	FBEAM_NOTILE = 0x00000200,
  	FBEAM_USE_HITBOXES = 0x00000400,		// Attachment indices represent hitbox indices instead when this is set.
  	FBEAM_STARTVISIBLE = 0x00000800,		// Has this client actually seen this beam's start entity yet?
  	FBEAM_ENDVISIBLE = 0x00001000,		// Has this client actually seen this beam's end entity yet?
  	FBEAM_ISACTIVE = 0x00002000,
  	FBEAM_FOREVER = 0x00004000,
  	FBEAM_HALOBEAM = 0x00008000,		// When drawing a beam with a halo, don't ignore the segments and endwidth
  	FBEAM_REVERSED = 0x00010000,
  	NUM_BEAM_FLAGS = 17	// KEEP THIS UPDATED!
  };
  //#define TE_BEAMPOINTS 0		// beam effect between two points
  
  enum {
  	CHAR_TEX_ANTLION = 'A',
  	CHAR_TEX_BLOODYFLESH = 'B',
  	CHAR_TEX_CONCRETE = 'C',
  	CHAR_TEX_DIRT = 'D',
  	CHAR_TEX_EGGSHELL = 'E',
  	CHAR_TEX_FLESH = 'F',
  	CHAR_TEX_GRATE = 'G',
  	CHAR_TEX_ALIENFLESH = 'H',
  	CHAR_TEX_CLIP = 'I',
  	CHAR_TEX_PLASTIC = 'L',
  	CHAR_TEX_METAL = 'M',
  	CHAR_TEX_SAND = 'N',
  	CHAR_TEX_FOLIAGE = 'O',
  	CHAR_TEX_COMPUTER = 'P',
  	CHAR_TEX_SLOSH = 'S',
  	CHAR_TEX_TILE = 'T',
  	CHAR_TEX_CARDBOARD = 'U',
  	CHAR_TEX_VENT = 'V',
  	CHAR_TEX_WOOD = 'W',
  	CHAR_TEX_GLASS = 'Y',
  	CHAR_TEX_WARPSHIELD = 'Z',
  };