hlsdk

hlsdk

May 2nd, 2010
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 120.70 KB | None | 0 0
  1. #pragma once
  2. #include <windows.h>
  3. template<typename T> inline T* MakePointerGEN( PVOID thisptr, int offset ) { return reinterpret_cast<T*>( reinterpret_cast<UINT_PTR>( thisptr ) + offset ); }
  4. struct GenDT_BaseEntity
  5. {
  6.     struct CAnimTimeMustBeFirst
  7.     {
  8.         inline float* flAnimTime() { return MakePointerGEN< float >( this, 0x60 ); }
  9.     };
  10.     struct CCollisionProperty
  11.     {
  12.         inline Vector* vecMins() { return MakePointerGEN< Vector >( this, 0x8 ); }
  13.         inline Vector* vecMaxs() { return MakePointerGEN< Vector >( this, 0x14 ); }
  14.         inline int* nSolidType() { return MakePointerGEN< int >( this, 0x29 ); }
  15.         inline int* usSolidFlags() { return MakePointerGEN< int >( this, 0x24 ); }
  16.         inline int* nSurroundType() { return MakePointerGEN< int >( this, 0x28 ); }
  17.         inline int* triggerBloat() { return MakePointerGEN< int >( this, 0x2a ); }
  18.         inline Vector* vecSpecifiedSurroundingMins() { return MakePointerGEN< Vector >( this, 0x2c ); }
  19.         inline Vector* vecSpecifiedSurroundingMaxs() { return MakePointerGEN< Vector >( this, 0x38 ); }
  20.     };
  21.     struct CPredictableId
  22.     {
  23.         inline int* PredictableID() { return MakePointerGEN< int >( this, 0x98 ); }
  24.         inline bool* bIsPlayerSimulated() { return MakePointerGEN< bool >( this, 0x458 ); }
  25.     };
  26.     inline CAnimTimeMustBeFirst* AnimTimeMustBeFirst() { return MakePointerGEN< CAnimTimeMustBeFirst >( this, 0x0 ); }
  27.     inline float* flSimulationTime() { return MakePointerGEN< float >( this, 0x68 ); }
  28.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x2c8 ); }
  29.     inline QAngle* angRotation() { return MakePointerGEN< QAngle >( this, 0x2d4 ); }
  30.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x88 ); }
  31.     inline int* fEffects() { return MakePointerGEN< int >( this, 0x74 ); }
  32.     inline int* nRenderMode() { return MakePointerGEN< int >( this, 0x78 ); }
  33.     inline int* nRenderFX() { return MakePointerGEN< int >( this, 0x54 ); }
  34.     inline int* clrRender() { return MakePointerGEN< int >( this, 0x58 ); }
  35.     inline int* iTeamNum() { return MakePointerGEN< int >( this, 0x94 ); }
  36.     inline int* CollisionGroup() { return MakePointerGEN< int >( this, 0x2e4 ); }
  37.     inline float* flElasticity() { return MakePointerGEN< float >( this, 0x1e0 ); }
  38.     inline float* flShadowCastDistance() { return MakePointerGEN< float >( this, 0x1e4 ); }
  39.     inline EHANDLE* hOwnerEntity() { return MakePointerGEN< EHANDLE >( this, 0x468 ); }
  40.     inline EHANDLE* hEffectEntity() { return MakePointerGEN< EHANDLE >( this, 0x46c ); }
  41.     inline int* moveparent() { return MakePointerGEN< int >( this, 0x158 ); }
  42.     inline int* iParentAttachment() { return MakePointerGEN< int >( this, 0x142 ); }
  43.     inline int* movetype() { return MakePointerGEN< int >( this, 0x0 ); }
  44.     inline int* movecollide() { return MakePointerGEN< int >( this, 0x0 ); }
  45.     inline CCollisionProperty* Collision() { return MakePointerGEN< CCollisionProperty >( this, 0x164 ); }
  46.     inline int* iTextureFrameIndex() { return MakePointerGEN< int >( this, 0x45c ); }
  47.     inline CPredictableId* predictable_id() { return MakePointerGEN< CPredictableId >( this, 0x0 ); }
  48.     inline bool* bSimulatedEveryTick() { return MakePointerGEN< bool >( this, 0x459 ); }
  49.     inline bool* bAnimatedEveryTick() { return MakePointerGEN< bool >( this, 0x45a ); }
  50.     inline bool* bAlternateSorting() { return MakePointerGEN< bool >( this, 0x45b ); }
  51. };
  52. struct GenDT_BaseAnimating : public GenDT_BaseEntity
  53. {
  54.     struct CServerAnimationData
  55.     {
  56.         inline float* flCycle() { return MakePointerGEN< float >( this, 0x74c ); }
  57.     };
  58.     inline int* nSequence() { return MakePointerGEN< int >( this, 0x744 ); }
  59.     inline int* nForceBone() { return MakePointerGEN< int >( this, 0x4ec ); }
  60.     inline Vector* vecForce() { return MakePointerGEN< Vector >( this, 0x4e0 ); }
  61.     inline int* nSkin() { return MakePointerGEN< int >( this, 0x4ac ); }
  62.     inline int* nBody() { return MakePointerGEN< int >( this, 0x4b0 ); }
  63.     inline int* nHitboxSet() { return MakePointerGEN< int >( this, 0x4b4 ); }
  64.     inline float* flModelWidthScale() { return MakePointerGEN< float >( this, 0x5ac ); }
  65.     inline float* flPoseParameter() { return MakePointerGEN< float >( this, 0x5b0 ); } // Array size = 24
  66.     inline float* flPlaybackRate() { return MakePointerGEN< float >( this, 0x4d4 ); }
  67.     inline float* flEncodedController() { return MakePointerGEN< float >( this, 0x6c8 ); } // Array size = 4
  68.     inline bool* bClientSideAnimation() { return MakePointerGEN< bool >( this, 0x714 ); }
  69.     inline bool* bClientSideFrameReset() { return MakePointerGEN< bool >( this, 0x51c ); }
  70.     inline int* nNewSequenceParity() { return MakePointerGEN< int >( this, 0x718 ); }
  71.     inline int* nResetEventsParity() { return MakePointerGEN< int >( this, 0x71c ); }
  72.     inline int* nMuzzleFlashParity() { return MakePointerGEN< int >( this, 0x7c4 ); }
  73.     inline EHANDLE* hLightingOrigin() { return MakePointerGEN< EHANDLE >( this, 0x7bc ); }
  74.     inline EHANDLE* hLightingOriginRelative() { return MakePointerGEN< EHANDLE >( this, 0x7c0 ); }
  75.     inline CServerAnimationData* serveranimdata() { return MakePointerGEN< CServerAnimationData >( this, 0x0 ); }
  76.     inline int* fadeMinDist() { return MakePointerGEN< int >( this, 0x554 ); }
  77.     inline int* fadeMaxDist() { return MakePointerGEN< int >( this, 0x558 ); }
  78.     inline float* flFadeScale() { return MakePointerGEN< float >( this, 0x55c ); }
  79. };
  80. struct GenDT_BaseAttributableItem : public GenDT_BaseAnimating
  81. {
  82.     struct CAttributeContainer
  83.     {
  84.         struct CScriptCreatedItem
  85.         {
  86.             inline int* iItemDefinitionIndex() { return MakePointerGEN< int >( this, 0xc ); }
  87.             inline int* iEntityLevel() { return MakePointerGEN< int >( this, 0x14 ); }
  88.             inline int* iGlobalIndexHigh() { return MakePointerGEN< int >( this, 0x20 ); }
  89.             inline int* iGlobalIndexLow() { return MakePointerGEN< int >( this, 0x24 ); }
  90.             inline int* iAccountID() { return MakePointerGEN< int >( this, 0x28 ); }
  91.             inline int* iEntityQuality() { return MakePointerGEN< int >( this, 0x10 ); }
  92.             inline bool* bInitialized() { return MakePointerGEN< bool >( this, 0xdd8 ); }
  93.         }; // Fail count = 1
  94.         inline EHANDLE* hOuter() { return MakePointerGEN< EHANDLE >( this, 0x1c ); }
  95.         inline int* ProviderType() { return MakePointerGEN< int >( this, 0x24 ); }
  96.         inline int* iReapplyProvisionParity() { return MakePointerGEN< int >( this, 0x18 ); }
  97.         inline CScriptCreatedItem* Item() { return MakePointerGEN< CScriptCreatedItem >( this, 0x40 ); }
  98.     };
  99.     inline CAttributeContainer* AttributeManager() { return MakePointerGEN< CAttributeContainer >( this, 0x7e0 ); }
  100. };
  101. struct GenDT_BaseCombatWeapon : public GenDT_BaseAttributableItem
  102. {
  103.     struct CLocalWeaponData
  104.     {
  105.         inline int* iClip1() { return MakePointerGEN< int >( this, 0x1674 ); }
  106.         inline int* iClip2() { return MakePointerGEN< int >( this, 0x1678 ); }
  107.         inline int* iPrimaryAmmoType() { return MakePointerGEN< int >( this, 0x166c ); }
  108.         inline int* iSecondaryAmmoType() { return MakePointerGEN< int >( this, 0x1670 ); }
  109.         inline int* nViewModelIndex() { return MakePointerGEN< int >( this, 0x162c ); }
  110.         inline bool* bFlipViewModel() { return MakePointerGEN< bool >( this, 0x16a4 ); }
  111.     };
  112.     struct CLocalActiveWeaponData
  113.     {
  114.         inline float* flNextPrimaryAttack() { return MakePointerGEN< float >( this, 0x1630 ); }
  115.         inline float* flNextSecondaryAttack() { return MakePointerGEN< float >( this, 0x1634 ); }
  116.         inline int* nNextThinkTick() { return MakePointerGEN< int >( this, 0x80 ); }
  117.         inline float* flTimeWeaponIdle() { return MakePointerGEN< float >( this, 0x1638 ); }
  118.     };
  119.     inline CLocalWeaponData* LocalWeaponData() { return MakePointerGEN< CLocalWeaponData >( this, 0x0 ); }
  120.     inline CLocalActiveWeaponData* LocalActiveWeaponData() { return MakePointerGEN< CLocalActiveWeaponData >( this, 0x0 ); }
  121.     inline int* iViewModelIndex() { return MakePointerGEN< int >( this, 0x1640 ); }
  122.     inline int* iWorldModelIndex() { return MakePointerGEN< int >( this, 0x1644 ); }
  123.     inline int* iState() { return MakePointerGEN< int >( this, 0x1664 ); }
  124.     inline EHANDLE* hOwner() { return MakePointerGEN< EHANDLE >( this, 0x1628 ); }
  125. };
  126. struct GenDT_TFWeaponBase : public GenDT_BaseCombatWeapon
  127. {
  128.     struct CLocalTFWeaponData
  129.     {
  130.         inline float* flLastCritCheckTime() { return MakePointerGEN< float >( this, 0x1700 ); }
  131.         inline float* flReloadPriorNextFire() { return MakePointerGEN< float >( this, 0x16e4 ); }
  132.         inline float* flLastFireTime() { return MakePointerGEN< float >( this, 0x1790 ); }
  133.     };
  134.     struct CTFWeaponDataNonLocal
  135.     {
  136.     };
  137.     inline bool* bLowered() { return MakePointerGEN< bool >( this, 0x16f0 ); }
  138.     inline int* iReloadMode() { return MakePointerGEN< int >( this, 0x16e0 ); }
  139.     inline bool* bResetParity() { return MakePointerGEN< bool >( this, 0x178c ); }
  140.     inline bool* bReloadedThroughAnimEvent() { return MakePointerGEN< bool >( this, 0x178e ); }
  141.     inline bool* bDisguiseWeapon() { return MakePointerGEN< bool >( this, 0x178f ); }
  142.     inline CLocalTFWeaponData* LocalActiveTFWeaponData() { return MakePointerGEN< CLocalTFWeaponData >( this, 0x0 ); }
  143.     inline CTFWeaponDataNonLocal* NonLocalTFWeaponData() { return MakePointerGEN< CTFWeaponDataNonLocal >( this, 0x0 ); }
  144. };
  145. struct GenDT_WeaponIFMBase : public GenDT_TFWeaponBase
  146. {
  147. };
  148. struct GenDT_WeaponIFMBaseCamera : public GenDT_WeaponIFMBase
  149. {
  150.     inline float* flRenderAspectRatio() { return MakePointerGEN< float >( this, 0x17cc ); }
  151.     inline float* flRenderFOV() { return MakePointerGEN< float >( this, 0x17d0 ); }
  152.     inline float* flRenderArmLength() { return MakePointerGEN< float >( this, 0x17d4 ); }
  153.     inline Vector* vecRenderPosition() { return MakePointerGEN< Vector >( this, 0x17d8 ); }
  154.     inline QAngle* angRenderAngles() { return MakePointerGEN< QAngle >( this, 0x17e4 ); }
  155. };
  156. struct GenDT_WeaponIFMSteadyCam : public GenDT_WeaponIFMBaseCamera
  157. {
  158. };
  159. struct GenDT_WearableItem : public GenDT_BaseAttributableItem
  160. {
  161. };
  162. struct GenDT_TFWearableItem : public GenDT_WearableItem
  163. {
  164.     inline bool* bDisguiseWearable() { return MakePointerGEN< bool >( this, 0x1638 ); }
  165. };
  166. struct GenDT_TFWearableItemDemoShield : public GenDT_TFWearableItem
  167. {
  168. };
  169. struct GenDT_TFBaseRocket : public GenDT_BaseAnimating
  170. {
  171.     inline Vector* vInitialVelocity() { return MakePointerGEN< Vector >( this, 0x7d8 ); }
  172.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x2c8 ); }
  173.     inline QAngle* angRotation() { return MakePointerGEN< QAngle >( this, 0x2d4 ); }
  174.     inline int* iDeflected() { return MakePointerGEN< int >( this, 0x7e4 ); }
  175. };
  176. struct GenDT_TFWeaponBaseMelee : public GenDT_TFWeaponBase
  177. {
  178. };
  179. struct GenDT_TFWeaponBaseGun : public GenDT_TFWeaponBase
  180. {
  181. };
  182. struct GenDT_BaseGrenade : public GenDT_BaseAnimating
  183. {
  184.     inline float* flDamage() { return MakePointerGEN< float >( this, 0x7ec ); }
  185.     inline float* DmgRadius() { return MakePointerGEN< float >( this, 0x7dc ); }
  186.     inline bool* bIsLive() { return MakePointerGEN< bool >( this, 0x7d9 ); }
  187.     inline EHANDLE* hThrower() { return MakePointerGEN< EHANDLE >( this, 0x7f4 ); }
  188.     inline Vector* vecVelocity() { return MakePointerGEN< Vector >( this, 0xec ); }
  189.     inline int* fFlags() { return MakePointerGEN< int >( this, 0x2e0 ); }
  190. };
  191. struct GenDT_TFWeaponBaseGrenadeProj : public GenDT_BaseGrenade
  192. {
  193.     inline Vector* vInitialVelocity() { return MakePointerGEN< Vector >( this, 0x800 ); }
  194.     inline bool* bCritical() { return MakePointerGEN< bool >( this, 0x81c ); }
  195.     inline int* iDeflected() { return MakePointerGEN< int >( this, 0x810 ); }
  196.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x2c8 ); }
  197.     inline QAngle* angRotation() { return MakePointerGEN< QAngle >( this, 0x2d4 ); }
  198.     inline EHANDLE* hDeflectOwner() { return MakePointerGEN< EHANDLE >( this, 0x814 ); }
  199. };
  200. struct GenDT_TFWeaponWrench : public GenDT_TFWeaponBaseMelee
  201. {
  202. };
  203. struct GenDT_WeaponSyringeGun : public GenDT_TFWeaponBaseGun
  204. {
  205. };
  206. struct GenDT_TFWeaponSword : public GenDT_TFWeaponBaseMelee
  207. {
  208. };
  209. struct GenDT_SniperDot : public GenDT_BaseEntity
  210. {
  211.     inline float* flChargeStartTime() { return MakePointerGEN< float >( this, 0x4bc ); }
  212. };
  213. struct GenDT_TFSniperRifle : public GenDT_TFWeaponBaseGun
  214. {
  215.     struct CSniperRifleLocalData
  216.     {
  217.         inline float* flChargedDamage() { return MakePointerGEN< float >( this, 0x1798 ); }
  218.     };
  219.     inline CSniperRifleLocalData* SniperRifleLocalData() { return MakePointerGEN< CSniperRifleLocalData >( this, 0x0 ); }
  220. };
  221. struct GenDT_TFSMG : public GenDT_TFWeaponBaseGun
  222. {
  223. };
  224. struct GenDT_TFWeaponShovel : public GenDT_TFWeaponBaseMelee
  225. {
  226. };
  227. struct GenDT_TFShotgun : public GenDT_TFWeaponBaseGun
  228. {
  229. };
  230. struct GenDT_TFScatterGun : public GenDT_TFShotgun
  231. {
  232. };
  233. struct GenDT_TFShotgun_Pyro : public GenDT_TFShotgun
  234. {
  235. };
  236. struct GenDT_TFShotgun_HWG : public GenDT_TFShotgun
  237. {
  238. };
  239. struct GenDT_TFShotgun_Soldier : public GenDT_TFShotgun
  240. {
  241. };
  242. struct GenDT_WeaponRocketLauncher : public GenDT_TFWeaponBaseGun
  243. {
  244. };
  245. struct GenDT_WeaponRocketLauncher_DirectHit : public GenDT_WeaponRocketLauncher
  246. {
  247. };
  248. struct GenDT_WeaponRevolver : public GenDT_TFWeaponBaseGun
  249. {
  250. };
  251. struct GenDT_WeaponPistol : public GenDT_TFWeaponBaseGun
  252. {
  253. };
  254. struct GenDT_WeaponPistol_Scout : public GenDT_WeaponPistol
  255. {
  256. };
  257. struct GenDT_WeaponPipebombLauncher : public GenDT_TFWeaponBaseGun
  258. {
  259.     struct CPipebombLauncherLocalData
  260.     {
  261.         inline int* iPipebombCount() { return MakePointerGEN< int >( this, 0x179c ); }
  262.         inline float* flChargeBeginTime() { return MakePointerGEN< float >( this, 0x17bc ); }
  263.     };
  264.     inline CPipebombLauncherLocalData* PipebombLauncherLocalData() { return MakePointerGEN< CPipebombLauncherLocalData >( this, 0x0 ); }
  265. };
  266. struct GenDT_TFWeaponPDA : public GenDT_TFWeaponBase
  267. {
  268. };
  269. struct GenDT_TFWeaponPDA_Spy : public GenDT_TFWeaponPDA
  270. {
  271. };
  272. struct GenDT_TFWeaponPDA_Engineer_Destroy : public GenDT_TFWeaponPDA
  273. {
  274. };
  275. struct GenDT_TFWeaponPDA_Engineer_Build : public GenDT_TFWeaponPDA
  276. {
  277. };
  278. struct GenDT_WeaponMinigun : public GenDT_TFWeaponBaseGun
  279. {
  280.     inline int* iWeaponState() { return MakePointerGEN< int >( this, 0x1798 ); }
  281.     inline bool* bCritShot() { return MakePointerGEN< bool >( this, 0x179c ); }
  282. };
  283. struct GenDT_WeaponMedigun : public GenDT_TFWeaponBaseGun
  284. {
  285.     struct CLocalTFWeaponMedigunData
  286.     {
  287.         inline float* flChargeLevel() { return MakePointerGEN< float >( this, 0x17b4 ); }
  288.     };
  289.     struct CTFWeaponMedigunDataNonLocal
  290.     {
  291.         inline float* flChargeLevel() { return MakePointerGEN< float >( this, 0x17b4 ); }
  292.     };
  293.     inline EHANDLE* hHealingTarget() { return MakePointerGEN< EHANDLE >( this, 0x1798 ); }
  294.     inline bool* bHealing() { return MakePointerGEN< bool >( this, 0x179d ); }
  295.     inline bool* bAttacking() { return MakePointerGEN< bool >( this, 0x179e ); }
  296.     inline bool* bChargeRelease() { return MakePointerGEN< bool >( this, 0x17b1 ); }
  297.     inline bool* bHolstered() { return MakePointerGEN< bool >( this, 0x17b0 ); }
  298.     inline CLocalTFWeaponMedigunData* LocalTFWeaponMedigunData() { return MakePointerGEN< CLocalTFWeaponMedigunData >( this, 0x0 ); }
  299.     inline CTFWeaponMedigunDataNonLocal* NonLocalTFWeaponMedigunData() { return MakePointerGEN< CTFWeaponMedigunDataNonLocal >( this, 0x0 ); }
  300. };
  301. struct GenDT_WeaponLunchBox : public GenDT_TFWeaponBase
  302. {
  303. };
  304. struct GenDT_TFLunchBox_Drink : public GenDT_WeaponLunchBox
  305. {
  306. };
  307. struct GenDT_TFWeaponKnife : public GenDT_TFWeaponBaseMelee
  308. {
  309.     inline bool* bReadyToBackstab() { return MakePointerGEN< bool >( this, 0x17b0 ); }
  310. };
  311. struct GenDT_TFProjectile_Pipebomb : public GenDT_TFWeaponBaseGrenadeProj
  312. {
  313.     inline bool* bTouched() { return MakePointerGEN< bool >( this, 0x820 ); }
  314.     inline int* iType() { return MakePointerGEN< int >( this, 0x824 ); }
  315.     inline EHANDLE* hLauncher() { return MakePointerGEN< EHANDLE >( this, 0x80c ); }
  316.     inline bool* bDefensiveBomb() { return MakePointerGEN< bool >( this, 0x838 ); }
  317. };
  318. struct GenDT_TFProjectile_Jar : public GenDT_TFProjectile_Pipebomb
  319. {
  320. };
  321. struct GenDT_TFWeaponJar : public GenDT_TFWeaponBaseGun
  322. {
  323. };
  324. struct GenDT_TFWeaponInvis : public GenDT_TFWeaponBase
  325. {
  326. };
  327. struct GenDT_WeaponGrenadeLauncher : public GenDT_TFWeaponBaseGun
  328. {
  329. };
  330. struct GenDT_WeaponFlareGun : public GenDT_TFWeaponBaseGun
  331. {
  332. };
  333. struct GenDT_WeaponFlameThrower : public GenDT_TFWeaponBaseGun
  334. {
  335.     inline int* iWeaponState() { return MakePointerGEN< int >( this, 0x1798 ); }
  336.     inline bool* bCritFire() { return MakePointerGEN< bool >( this, 0x179c ); }
  337.     inline bool* bHitTarget() { return MakePointerGEN< bool >( this, 0x179d ); }
  338. };
  339. struct GenDT_TFWeaponFists : public GenDT_TFWeaponBaseMelee
  340. {
  341. };
  342. struct GenDT_TFWeaponFireAxe : public GenDT_TFWeaponBaseMelee
  343. {
  344. };
  345. struct GenDT_WeaponCompoundBow : public GenDT_WeaponPipebombLauncher
  346. {
  347.     inline bool* bArrowAlight() { return MakePointerGEN< bool >( this, 0x17cd ); }
  348. };
  349. struct GenDT_TFWeaponClub : public GenDT_TFWeaponBaseMelee
  350. {
  351. };
  352. struct GenDT_TFWeaponBuffItem : public GenDT_TFWeaponBaseMelee
  353. {
  354.     inline EHANDLE* hBackpack() { return MakePointerGEN< EHANDLE >( this, 0x17ac ); }
  355. };
  356. struct GenDT_TFWeaponBottle : public GenDT_TFWeaponBaseMelee
  357. {
  358.     inline bool* bBroken() { return MakePointerGEN< bool >( this, 0x17a8 ); }
  359. };
  360. struct GenDT_TFWeaponBonesaw : public GenDT_TFWeaponBaseMelee
  361. {
  362. };
  363. struct GenDT_TFProjectile_StunBall : public GenDT_TFProjectile_Pipebomb
  364. {
  365. };
  366. struct GenDT_TFWeaponBat : public GenDT_TFWeaponBaseMelee
  367. {
  368. };
  369. struct GenDT_TFWeaponBat_Wood : public GenDT_TFWeaponBat
  370. {
  371. };
  372. struct GenDT_TFWeaponBuilder : public GenDT_TFWeaponBase
  373. {
  374.     struct CBuilderLocalData
  375.     {
  376.         inline int* iObjectType() { return MakePointerGEN< int >( this, 0x179c ); }
  377.         inline EHANDLE* hObjectBeingBuilt() { return MakePointerGEN< EHANDLE >( this, 0x17b4 ); }
  378.     };
  379.     inline int* iBuildState() { return MakePointerGEN< int >( this, 0x1798 ); }
  380.     inline CBuilderLocalData* BuilderLocalData() { return MakePointerGEN< CBuilderLocalData >( this, 0x0 ); }
  381.     inline int* iObjectMode() { return MakePointerGEN< int >( this, 0x17a0 ); }
  382. };
  383. struct GenDT_TFProjectile_Rocket : public GenDT_TFBaseRocket
  384. {
  385.     inline bool* bCritical() { return MakePointerGEN< bool >( this, 0x7f0 ); }
  386. };
  387. struct GenDT_TFProjectile_Flare : public GenDT_TFBaseRocket
  388. {
  389.     inline bool* bCritical() { return MakePointerGEN< bool >( this, 0x7f0 ); }
  390. };
  391. struct GenDT_TFProjectile_Arrow : public GenDT_TFBaseRocket
  392. {
  393.     inline bool* bArrowAlight() { return MakePointerGEN< bool >( this, 0x7f9 ); }
  394.     inline bool* bCritical() { return MakePointerGEN< bool >( this, 0x7fa ); }
  395. };
  396. struct GenDT_BaseViewModel
  397. {
  398.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x88 ); }
  399.     inline int* nSkin() { return MakePointerGEN< int >( this, 0x4ac ); }
  400.     inline int* nBody() { return MakePointerGEN< int >( this, 0x4b0 ); }
  401.     inline int* nSequence() { return MakePointerGEN< int >( this, 0x744 ); }
  402.     inline int* nViewModelIndex() { return MakePointerGEN< int >( this, 0x7e8 ); }
  403.     inline float* flPlaybackRate() { return MakePointerGEN< float >( this, 0x4d4 ); }
  404.     inline int* fEffects() { return MakePointerGEN< int >( this, 0x74 ); }
  405.     inline int* nAnimationParity() { return MakePointerGEN< int >( this, 0x7f8 ); }
  406.     inline EHANDLE* hWeapon() { return MakePointerGEN< EHANDLE >( this, 0x808 ); }
  407.     inline EHANDLE* hOwner() { return MakePointerGEN< EHANDLE >( this, 0x7ec ); }
  408.     inline int* nNewSequenceParity() { return MakePointerGEN< int >( this, 0x718 ); }
  409.     inline int* nResetEventsParity() { return MakePointerGEN< int >( this, 0x71c ); }
  410.     inline int* nMuzzleFlashParity() { return MakePointerGEN< int >( this, 0x7c4 ); }
  411.     inline float* flPoseParameter0() { return MakePointerGEN< float >( this, 0x5b0 ); }
  412.     inline float* flPoseParameter() { return MakePointerGEN< float >( this, 0x0 ); } // Array size = 24
  413. };
  414. struct GenDT_TFViewModel : public GenDT_BaseViewModel
  415. {
  416. };
  417. struct GenDT_TFPumpkinBomb : public GenDT_BaseAnimating
  418. {
  419. };
  420. struct GenDT_TFBaseProjectile : public GenDT_BaseAnimating
  421. {
  422.     inline Vector* vInitialVelocity() { return MakePointerGEN< Vector >( this, 0x7e0 ); }
  423. };
  424. struct GenDT_BaseAnimatingOverlay : public GenDT_BaseAnimating
  425. {
  426.     struct COverlayVars
  427.     {
  428.     }; // Fail count = 1
  429.     inline COverlayVars* overlay_vars() { return MakePointerGEN< COverlayVars >( this, 0x0 ); }
  430. };
  431. struct GenDT_BaseFlex : public GenDT_BaseAnimatingOverlay
  432. {
  433.     inline float* flexWeight() { return MakePointerGEN< float >( this, 0x878 ); } // Array size = 96
  434.     inline bool* blinktoggle() { return MakePointerGEN< bool >( this, 0xa24 ); }
  435.     inline Vector* viewtarget() { return MakePointerGEN< Vector >( this, 0x840 ); }
  436. };
  437. struct GenDT_BaseCombatCharacter : public GenDT_BaseFlex
  438. {
  439.     struct CBCCLocalPlayerExclusive
  440.     {
  441.         inline float* flNextAttack() { return MakePointerGEN< float >( this, 0xb88 ); }
  442.     };
  443.     inline CBCCLocalPlayerExclusive* bcc_localdata() { return MakePointerGEN< CBCCLocalPlayerExclusive >( this, 0x0 ); }
  444.     inline EHANDLE* hActiveWeapon() { return MakePointerGEN< EHANDLE >( this, 0xcd0 ); }
  445.     inline EHANDLE* hMyWeapons() { return MakePointerGEN< EHANDLE >( this, 0xc10 ); } // Array size = 48
  446. };
  447. struct GenDT_BaseObject : public GenDT_BaseCombatCharacter
  448. {
  449.     inline int* iHealth() { return MakePointerGEN< int >( this, 0xe3c ); }
  450.     inline int* iMaxHealth() { return MakePointerGEN< int >( this, 0xe40 ); }
  451.     inline bool* bHasSapper() { return MakePointerGEN< bool >( this, 0xe34 ); }
  452.     inline int* iObjectType() { return MakePointerGEN< int >( this, 0xe38 ); }
  453.     inline bool* bBuilding() { return MakePointerGEN< bool >( this, 0xe45 ); }
  454.     inline bool* bPlacing() { return MakePointerGEN< bool >( this, 0xe47 ); }
  455.     inline bool* bCarried() { return MakePointerGEN< bool >( this, 0xe4a ); }
  456.     inline bool* bCarryDeploy() { return MakePointerGEN< bool >( this, 0xe4b ); }
  457.     inline float* flPercentageConstructed() { return MakePointerGEN< float >( this, 0xe50 ); }
  458.     inline int* fObjectFlags() { return MakePointerGEN< int >( this, 0xe18 ); }
  459.     inline EHANDLE* hBuiltOnEntity() { return MakePointerGEN< EHANDLE >( this, 0xe54 ); }
  460.     inline bool* bDisabled() { return MakePointerGEN< bool >( this, 0xe48 ); }
  461.     inline EHANDLE* hBuilder() { return MakePointerGEN< EHANDLE >( this, 0xe28 ); }
  462.     inline Vector* vecBuildMaxs() { return MakePointerGEN< Vector >( this, 0xe5c ); }
  463.     inline Vector* vecBuildMins() { return MakePointerGEN< Vector >( this, 0xe68 ); }
  464.     inline int* iDesiredBuildRotations() { return MakePointerGEN< int >( this, 0xe74 ); }
  465.     inline bool* bServerOverridePlacement() { return MakePointerGEN< bool >( this, 0xe80 ); }
  466.     inline int* iUpgradeLevel() { return MakePointerGEN< int >( this, 0xe04 ); }
  467.     inline int* iUpgradeMetal() { return MakePointerGEN< int >( this, 0xe0c ); }
  468.     inline int* iHighestUpgradeLevel() { return MakePointerGEN< int >( this, 0xe10 ); }
  469.     inline int* iObjectMode() { return MakePointerGEN< int >( this, 0xe58 ); }
  470. };
  471. struct GenDT_BaseObjectUpgrade : public GenDT_BaseObject
  472. {
  473. };
  474. struct GenDT_BreakableProp : public GenDT_BaseAnimating
  475. {
  476. };
  477. struct GenDT_DynamicProp : public GenDT_BreakableProp
  478. {
  479.     inline bool* bUseHitboxesForRenderBox() { return MakePointerGEN< bool >( this, 0x7d8 ); }
  480. };
  481. struct GenDT_TFItem : public GenDT_DynamicProp
  482. {
  483. };
  484. struct GenDT_BonusRoundLogic
  485. {
  486.     struct CScriptCreatedItem
  487.     {
  488.         inline int* iItemDefinitionIndex() { return MakePointerGEN< int >( this, 0xc ); }
  489.         inline int* iEntityLevel() { return MakePointerGEN< int >( this, 0x14 ); }
  490.         inline int* iGlobalIndexHigh() { return MakePointerGEN< int >( this, 0x20 ); }
  491.         inline int* iGlobalIndexLow() { return MakePointerGEN< int >( this, 0x24 ); }
  492.         inline int* iAccountID() { return MakePointerGEN< int >( this, 0x28 ); }
  493.         inline int* iEntityQuality() { return MakePointerGEN< int >( this, 0x10 ); }
  494.         inline bool* bInitialized() { return MakePointerGEN< bool >( this, 0xdd8 ); }
  495.     }; // Fail count = 1
  496.     inline EHANDLE* hBonusWinner() { return MakePointerGEN< EHANDLE >( this, 0x4d8 ); }
  497.     inline CScriptCreatedItem* Item() { return MakePointerGEN< CScriptCreatedItem >( this, 0x4e8 ); }
  498. }; // Fail count = 1
  499. struct GenDT_GameRulesProxy
  500. {
  501. };
  502. struct GenDT_TeamplayRoundBasedRulesProxy : public GenDT_GameRulesProxy
  503. {
  504.     struct CTeamplayRoundBasedRules
  505.     {
  506.         inline int* iRoundState() { return MakePointerGEN< int >( this, 0x28 ); }
  507.         inline bool* bInWaitingForPlayers() { return MakePointerGEN< bool >( this, 0x38 ); }
  508.         inline int* iWinningTeam() { return MakePointerGEN< int >( this, 0x30 ); }
  509.         inline bool* bInOvertime() { return MakePointerGEN< bool >( this, 0x2c ); }
  510.         inline bool* bInSetup() { return MakePointerGEN< bool >( this, 0x2d ); }
  511.         inline bool* bSwitchedTeamsThisRound() { return MakePointerGEN< bool >( this, 0x2e ); }
  512.         inline bool* bAwaitingReadyRestart() { return MakePointerGEN< bool >( this, 0x39 ); }
  513.         inline float* flRestartRoundTime() { return MakePointerGEN< float >( this, 0x3c ); }
  514.         inline float* flMapResetTime() { return MakePointerGEN< float >( this, 0x40 ); }
  515.         inline float* flNextRespawnWave() { return MakePointerGEN< float >( this, 0x44 ); } // Array size = 32
  516.         inline bool* bTeamReady() { return MakePointerGEN< bool >( this, 0xc4 ); } // Array size = 32
  517.         inline bool* bStopWatch() { return MakePointerGEN< bool >( this, 0xe4 ); }
  518.         inline bool* bMultipleTrains() { return MakePointerGEN< bool >( this, 0xe5 ); }
  519.     }; // Fail count = 1
  520.     inline CTeamplayRoundBasedRules* teamplayroundbased_gamerules_data() { return MakePointerGEN< CTeamplayRoundBasedRules >( this, 0x0 ); }
  521. };
  522. struct GenDT_TFGameRulesProxy : public GenDT_TeamplayRoundBasedRulesProxy
  523. {
  524.     struct CTFGameRules
  525.     {
  526.         inline int* nGameType() { return MakePointerGEN< int >( this, 0x18c ); }
  527.         inline int* nStopWatchState() { return MakePointerGEN< int >( this, 0x190 ); }
  528.         inline char** pszTeamGoalStringRed() { return MakePointerGEN< char* >( this, 0x194 ); }
  529.         inline char** pszTeamGoalStringBlue() { return MakePointerGEN< char* >( this, 0x294 ); }
  530.         inline float* flCapturePointEnableTime() { return MakePointerGEN< float >( this, 0x394 ); }
  531.         inline int* nHudType() { return MakePointerGEN< int >( this, 0x398 ); }
  532.         inline bool* bIsInTraining() { return MakePointerGEN< bool >( this, 0x39c ); }
  533.         inline EHANDLE* hBonusLogic() { return MakePointerGEN< EHANDLE >( this, 0x3a0 ); }
  534.         inline bool* bPlayingKoth() { return MakePointerGEN< bool >( this, 0x3a4 ); }
  535.         inline bool* bPlayingHybrid_CTF_CP() { return MakePointerGEN< bool >( this, 0x3a5 ); }
  536.         inline EHANDLE* hRedKothTimer() { return MakePointerGEN< EHANDLE >( this, 0x3a8 ); }
  537.         inline EHANDLE* hBlueKothTimer() { return MakePointerGEN< EHANDLE >( this, 0x3ac ); }
  538.     };
  539.     inline CTFGameRules* tf_gamerules_data() { return MakePointerGEN< CTFGameRules >( this, 0x0 ); }
  540. };
  541. struct GenDT_BaseTempEntity
  542. {
  543. };
  544. struct GenDT_TETFParticleEffect : public GenDT_BaseTempEntity
  545. {
  546.     inline Vector* vecOrigin0() { return MakePointerGEN< Vector >( this, 0x10 ); }
  547.     inline Vector* vecOrigin1() { return MakePointerGEN< Vector >( this, 0x14 ); }
  548.     inline Vector* vecOrigin2() { return MakePointerGEN< Vector >( this, 0x18 ); }
  549.     inline Vector* vecStart0() { return MakePointerGEN< Vector >( this, 0x1c ); }
  550.     inline Vector* vecStart1() { return MakePointerGEN< Vector >( this, 0x20 ); }
  551.     inline Vector* vecStart2() { return MakePointerGEN< Vector >( this, 0x24 ); }
  552.     inline Vector* vecAngles() { return MakePointerGEN< Vector >( this, 0x28 ); }
  553.     inline int* iParticleSystemIndex() { return MakePointerGEN< int >( this, 0x34 ); }
  554.     inline int* entindex() { return MakePointerGEN< int >( this, 0x0 ); }
  555.     inline int* iAttachType() { return MakePointerGEN< int >( this, 0x3c ); }
  556.     inline int* iAttachmentPointIndex() { return MakePointerGEN< int >( this, 0x40 ); }
  557.     inline bool* bResetParticles() { return MakePointerGEN< bool >( this, 0x44 ); }
  558. };
  559. struct GenDT_TETFExplosion : public GenDT_BaseTempEntity
  560. {
  561.     inline Vector* vecOrigin0() { return MakePointerGEN< Vector >( this, 0x10 ); }
  562.     inline Vector* vecOrigin1() { return MakePointerGEN< Vector >( this, 0x14 ); }
  563.     inline Vector* vecOrigin2() { return MakePointerGEN< Vector >( this, 0x18 ); }
  564.     inline Vector* vecNormal() { return MakePointerGEN< Vector >( this, 0x1c ); }
  565.     inline int* iWeaponID() { return MakePointerGEN< int >( this, 0x28 ); }
  566.     inline int* entindex() { return MakePointerGEN< int >( this, 0x0 ); }
  567. };
  568. struct GenDT_TETFBlood : public GenDT_BaseTempEntity
  569. {
  570.     inline Vector* vecOrigin0() { return MakePointerGEN< Vector >( this, 0x10 ); }
  571.     inline Vector* vecOrigin1() { return MakePointerGEN< Vector >( this, 0x14 ); }
  572.     inline Vector* vecOrigin2() { return MakePointerGEN< Vector >( this, 0x18 ); }
  573.     inline Vector* vecNormal() { return MakePointerGEN< Vector >( this, 0x1c ); }
  574.     inline int* entindex() { return MakePointerGEN< int >( this, 0x0 ); }
  575. };
  576. struct GenDT_CaptureFlagReturnIcon : public GenDT_BaseEntity
  577. {
  578. };
  579. struct GenDT_CaptureFlag : public GenDT_TFItem
  580. {
  581.     inline bool* bDisabled() { return MakePointerGEN< bool >( this, 0x800 ); }
  582.     inline int* nGameType() { return MakePointerGEN< int >( this, 0x804 ); }
  583.     inline int* nFlagStatus() { return MakePointerGEN< int >( this, 0x808 ); }
  584.     inline float* flResetTime() { return MakePointerGEN< float >( this, 0x80c ); }
  585.     inline float* flNeutralTime() { return MakePointerGEN< float >( this, 0x814 ); }
  586.     inline float* flMaxResetTime() { return MakePointerGEN< float >( this, 0x810 ); }
  587.     inline EHANDLE* hPrevOwner() { return MakePointerGEN< EHANDLE >( this, 0x818 ); }
  588.     inline int* iszModel() { return MakePointerGEN< int >( this, 0x81c ); }
  589.     inline int* nUseTrailEffect() { return MakePointerGEN< int >( this, 0x820 ); }
  590. };
  591. struct GenDT_Team
  592. {
  593.     inline int* iTeamNum() { return MakePointerGEN< int >( this, 0x4f0 ); }
  594.     inline int* iScore() { return MakePointerGEN< int >( this, 0x4dc ); }
  595.     inline int* iRoundsWon() { return MakePointerGEN< int >( this, 0x4e0 ); }
  596.     inline char** szTeamname() { return MakePointerGEN< char* >( this, 0x4bc ); }
  597. }; // Fail count = 2
  598. struct GenDT_TFTeam : public GenDT_Team
  599. {
  600.     inline int* nFlagCaptures() { return MakePointerGEN< int >( this, 0x50c ); }
  601.     inline int* iRole() { return MakePointerGEN< int >( this, 0x510 ); }
  602.     inline EHANDLE* hLeader() { return MakePointerGEN< EHANDLE >( this, 0x514 ); }
  603. }; // Fail count = 2
  604. struct GenDT_PlayerResource
  605. {
  606.     inline int* iPing() { return MakePointerGEN< int >( this, 0x534 ); } // Array size = 34
  607.     inline int* iScore() { return MakePointerGEN< int >( this, 0x5bc ); } // Array size = 34
  608.     inline int* iDeaths() { return MakePointerGEN< int >( this, 0x644 ); } // Array size = 34
  609.     inline bool* bConnected() { return MakePointerGEN< bool >( this, 0x6cc ); } // Array size = 34
  610.     inline int* iTeam() { return MakePointerGEN< int >( this, 0x6f0 ); } // Array size = 34
  611.     inline bool* bAlive() { return MakePointerGEN< bool >( this, 0x778 ); } // Array size = 34
  612.     inline int* iHealth() { return MakePointerGEN< int >( this, 0x79c ); } // Array size = 34
  613. };
  614. struct GenDT_TFPlayerResource : public GenDT_PlayerResource
  615. {
  616.     inline int* iTotalScore() { return MakePointerGEN< int >( this, 0x8a8 ); } // Array size = 34
  617.     inline int* iMaxHealth() { return MakePointerGEN< int >( this, 0x930 ); } // Array size = 34
  618.     inline int* iMaxBuffedHealth() { return MakePointerGEN< int >( this, 0x9b8 ); } // Array size = 34
  619.     inline int* iPlayerClass() { return MakePointerGEN< int >( this, 0xa40 ); } // Array size = 34
  620.     inline bool* bArenaSpectator() { return MakePointerGEN< bool >( this, 0xac8 ); } // Array size = 34
  621.     inline int* iActiveDominations() { return MakePointerGEN< int >( this, 0xaec ); } // Array size = 34
  622.     inline float* flNextRespawnTime() { return MakePointerGEN< float >( this, 0xb74 ); } // Array size = 34
  623.     inline int* iChargeLevel() { return MakePointerGEN< int >( this, 0xbfc ); } // Array size = 34
  624. };
  625. struct GenDT_BasePlayer : public GenDT_BaseCombatCharacter
  626. {
  627.     struct CLocalPlayerExclusive
  628.     {
  629.         struct CLocal
  630.         {
  631.             inline char* chAreaBits() { return MakePointerGEN< char >( this, 0x4 ); } // Array size = 32
  632.             inline char* chAreaPortalBits() { return MakePointerGEN< char >( this, 0x24 ); } // Array size = 24
  633.             inline int* iHideHUD() { return MakePointerGEN< int >( this, 0x3c ); }
  634.             inline float* flFOVRate() { return MakePointerGEN< float >( this, 0x40 ); }
  635.             inline bool* bDucked() { return MakePointerGEN< bool >( this, 0x44 ); }
  636.             inline bool* bDucking() { return MakePointerGEN< bool >( this, 0x45 ); }
  637.             inline bool* bInDuckJump() { return MakePointerGEN< bool >( this, 0x46 ); }
  638.             inline float* flDucktime() { return MakePointerGEN< float >( this, 0x48 ); }
  639.             inline float* flDuckJumpTime() { return MakePointerGEN< float >( this, 0x4c ); }
  640.             inline float* flJumpTime() { return MakePointerGEN< float >( this, 0x50 ); }
  641.             inline float* flFallVelocity() { return MakePointerGEN< float >( this, 0x58 ); }
  642.             inline Vector* vecPunchAngle() { return MakePointerGEN< Vector >( this, 0x6c ); }
  643.             inline Vector* vecPunchAngleVel() { return MakePointerGEN< Vector >( this, 0xa4 ); }
  644.             inline bool* bDrawViewmodel() { return MakePointerGEN< bool >( this, 0xdc ); }
  645.             inline bool* bWearingSuit() { return MakePointerGEN< bool >( this, 0xdd ); }
  646.             inline bool* bPoisoned() { return MakePointerGEN< bool >( this, 0xde ); }
  647.             inline float* flStepSize() { return MakePointerGEN< float >( this, 0xe0 ); }
  648.             inline bool* bAllowAutoMovement() { return MakePointerGEN< bool >( this, 0xe4 ); }
  649.             inline int* skybox3d_scale() { return MakePointerGEN< int >( this, 0xec ); }
  650.             inline Vector* skybox3d_origin() { return MakePointerGEN< Vector >( this, 0xf0 ); }
  651.             inline int* skybox3d_area() { return MakePointerGEN< int >( this, 0xfc ); }
  652.             inline int* skybox3d_fog_enable() { return MakePointerGEN< int >( this, 0x140 ); }
  653.             inline int* skybox3d_fog_blend() { return MakePointerGEN< int >( this, 0x141 ); }
  654.             inline Vector* skybox3d_fog_dirPrimary() { return MakePointerGEN< Vector >( this, 0x104 ); }
  655.             inline int* skybox3d_fog_colorPrimary() { return MakePointerGEN< int >( this, 0x110 ); }
  656.             inline int* skybox3d_fog_colorSecondary() { return MakePointerGEN< int >( this, 0x114 ); }
  657.             inline float* skybox3d_fog_start() { return MakePointerGEN< float >( this, 0x120 ); }
  658.             inline float* skybox3d_fog_end() { return MakePointerGEN< float >( this, 0x124 ); }
  659.             inline float* skybox3d_fog_maxdensity() { return MakePointerGEN< float >( this, 0x12c ); }
  660.             inline int* PlayerFog_m_hCtrl() { return MakePointerGEN< int >( this, 0x148 ); }
  661.             inline Vector* audio_localSound0() { return MakePointerGEN< Vector >( this, 0x16c ); }
  662.             inline Vector* audio_localSound1() { return MakePointerGEN< Vector >( this, 0x178 ); }
  663.             inline Vector* audio_localSound2() { return MakePointerGEN< Vector >( this, 0x184 ); }
  664.             inline Vector* audio_localSound3() { return MakePointerGEN< Vector >( this, 0x190 ); }
  665.             inline Vector* audio_localSound4() { return MakePointerGEN< Vector >( this, 0x19c ); }
  666.             inline Vector* audio_localSound5() { return MakePointerGEN< Vector >( this, 0x1a8 ); }
  667.             inline Vector* audio_localSound6() { return MakePointerGEN< Vector >( this, 0x1b4 ); }
  668.             inline Vector* audio_localSound7() { return MakePointerGEN< Vector >( this, 0x1c0 ); }
  669.             inline int* audio_soundscapeIndex() { return MakePointerGEN< int >( this, 0x1cc ); }
  670.             inline int* audio_localBits() { return MakePointerGEN< int >( this, 0x1d0 ); }
  671.             inline int* audio_ent() { return MakePointerGEN< int >( this, 0x1d4 ); }
  672.         };
  673.         inline CLocal* Local() { return MakePointerGEN< CLocal >( this, 0xd28 ); }
  674.         inline Vector* vecViewOffset0() { return MakePointerGEN< Vector >( this, 0xe0 ); }
  675.         inline Vector* vecViewOffset1() { return MakePointerGEN< Vector >( this, 0xe4 ); }
  676.         inline Vector* vecViewOffset2() { return MakePointerGEN< Vector >( this, 0xe8 ); }
  677.         inline float* flFriction() { return MakePointerGEN< float >( this, 0x1f4 ); }
  678.         inline int* iAmmo() { return MakePointerGEN< int >( this, 0xb90 ); } // Array size = 32
  679.         inline int* fOnTarget() { return MakePointerGEN< int >( this, 0xf2c ); }
  680.         inline int* nTickBase() { return MakePointerGEN< int >( this, 0x102c ); }
  681.         inline int* nNextThinkTick() { return MakePointerGEN< int >( this, 0x80 ); }
  682.         inline EHANDLE* hLastWeapon() { return MakePointerGEN< EHANDLE >( this, 0x1040 ); }
  683.         inline EHANDLE* hGroundEntity() { return MakePointerGEN< EHANDLE >( this, 0x1ec ); }
  684.         inline Vector* vecVelocity0() { return MakePointerGEN< Vector >( this, 0xec ); }
  685.         inline Vector* vecVelocity1() { return MakePointerGEN< Vector >( this, 0xf0 ); }
  686.         inline Vector* vecVelocity2() { return MakePointerGEN< Vector >( this, 0xf4 ); }
  687.         inline Vector* vecBaseVelocity() { return MakePointerGEN< Vector >( this, 0x120 ); }
  688.         inline EHANDLE* hConstraintEntity() { return MakePointerGEN< EHANDLE >( this, 0xf64 ); }
  689.         inline Vector* vecConstraintCenter() { return MakePointerGEN< Vector >( this, 0xf68 ); }
  690.         inline float* flConstraintRadius() { return MakePointerGEN< float >( this, 0xf74 ); }
  691.         inline float* flConstraintWidth() { return MakePointerGEN< float >( this, 0xf78 ); }
  692.         inline float* flConstraintSpeedFactor() { return MakePointerGEN< float >( this, 0xf7c ); }
  693.         inline float* flDeathTime() { return MakePointerGEN< float >( this, 0xfa4 ); }
  694.         inline int* nWaterLevel() { return MakePointerGEN< int >( this, 0x144 ); }
  695.         inline float* flLaggedMovementValue() { return MakePointerGEN< float >( this, 0x117c ); }
  696.     };
  697.     struct CPlayerState
  698.     {
  699.         inline int* deadflag() { return MakePointerGEN< int >( this, 0x4 ); }
  700.     };
  701.     inline CLocalPlayerExclusive* localdata() { return MakePointerGEN< CLocalPlayerExclusive >( this, 0x0 ); }
  702.     inline CPlayerState* pl() { return MakePointerGEN< CPlayerState >( this, 0xf04 ); }
  703.     inline int* iFOV() { return MakePointerGEN< int >( this, 0xf18 ); }
  704.     inline int* iFOVStart() { return MakePointerGEN< int >( this, 0xf1c ); }
  705.     inline float* flFOVTime() { return MakePointerGEN< float >( this, 0xf20 ); }
  706.     inline int* iDefaultFOV() { return MakePointerGEN< int >( this, 0xf24 ); }
  707.     inline EHANDLE* hZoomOwner() { return MakePointerGEN< EHANDLE >( this, 0xf28 ); }
  708.     inline EHANDLE* hVehicle() { return MakePointerGEN< EHANDLE >( this, 0xfb0 ); }
  709.     inline EHANDLE* hUseEntity() { return MakePointerGEN< EHANDLE >( this, 0xfb8 ); }
  710.     inline int* iHealth() { return MakePointerGEN< int >( this, 0x8c ); }
  711.     inline int* lifeState() { return MakePointerGEN< int >( this, 0x8b ); }
  712.     inline int* iBonusProgress() { return MakePointerGEN< int >( this, 0xfc0 ); }
  713.     inline int* iBonusChallenge() { return MakePointerGEN< int >( this, 0xfc4 ); }
  714.     inline float* flMaxspeed() { return MakePointerGEN< float >( this, 0xfbc ); }
  715.     inline int* fFlags() { return MakePointerGEN< int >( this, 0x2e0 ); }
  716.     inline int* iObserverMode() { return MakePointerGEN< int >( this, 0xf80 ); }
  717.     inline EHANDLE* hObserverTarget() { return MakePointerGEN< EHANDLE >( this, 0xf84 ); }
  718.     inline EHANDLE* hViewModel0() { return MakePointerGEN< EHANDLE >( this, 0x1058 ); }
  719.     inline EHANDLE* hViewModel() { return MakePointerGEN< EHANDLE >( this, 0x0 ); } // Array size = 2
  720.     inline char** szLastPlaceName() { return MakePointerGEN< char* >( this, 0x119c ); }
  721.     inline int* ubEFNoInterpParity() { return MakePointerGEN< int >( this, 0x11c4 ); }
  722.     inline EHANDLE* hMyWearables() { return MakePointerGEN< EHANDLE >( this, 0x0 ); } // Array size = 9
  723. };
  724. struct GenDT_TFPlayer : public GenDT_BasePlayer
  725. {
  726.     struct CTFPlayerClassShared
  727.     {
  728.         inline int* iClass() { return MakePointerGEN< int >( this, 0x4 ); }
  729.         inline int* iszCustomModel() { return MakePointerGEN< int >( this, 0x8 ); }
  730.         inline Vector* vecCustomModelOffset() { return MakePointerGEN< Vector >( this, 0x10c ); }
  731.         inline bool* bCustomModelRotates() { return MakePointerGEN< bool >( this, 0x118 ); }
  732.         inline bool* bCustomModelVisibleToSelf() { return MakePointerGEN< bool >( this, 0x119 ); }
  733.     };
  734.     struct CTFPlayerShared
  735.     {
  736.         struct CTFPlayerSharedLocal
  737.         {
  738.             struct CTFPlayerScoringDataExclusive
  739.             {
  740.                 inline int* iCaptures() { return MakePointerGEN< int >( this, 0x4 ); }
  741.                 inline int* iDefenses() { return MakePointerGEN< int >( this, 0x8 ); }
  742.                 inline int* iDominations() { return MakePointerGEN< int >( this, 0xc ); }
  743.                 inline int* iRevenge() { return MakePointerGEN< int >( this, 0x10 ); }
  744.                 inline int* iBuildingsDestroyed() { return MakePointerGEN< int >( this, 0x14 ); }
  745.                 inline int* iHeadshots() { return MakePointerGEN< int >( this, 0x18 ); }
  746.                 inline int* iBackstabs() { return MakePointerGEN< int >( this, 0x1c ); }
  747.                 inline int* iHealPoints() { return MakePointerGEN< int >( this, 0x20 ); }
  748.                 inline int* iInvulns() { return MakePointerGEN< int >( this, 0x24 ); }
  749.                 inline int* iTeleports() { return MakePointerGEN< int >( this, 0x28 ); }
  750.                 inline int* iResupplyPoints() { return MakePointerGEN< int >( this, 0x2c ); }
  751.                 inline int* iKillAssists() { return MakePointerGEN< int >( this, 0x30 ); }
  752.                 inline int* iBonusPoints() { return MakePointerGEN< int >( this, 0x34 ); }
  753.             };
  754.             inline int* nDesiredDisguiseTeam() { return MakePointerGEN< int >( this, 0xc0 ); }
  755.             inline int* nDesiredDisguiseClass() { return MakePointerGEN< int >( this, 0xbc ); }
  756.             inline float* flStealthNoAttackExpire() { return MakePointerGEN< float >( this, 0x194 ); }
  757.             inline float* flStealthNextChangeTime() { return MakePointerGEN< float >( this, 0x198 ); }
  758.             inline bool* bLastDisguisedAsOwnTeam() { return MakePointerGEN< bool >( this, 0x120 ); }
  759.             inline float* flCloakMeter() { return MakePointerGEN< float >( this, 0x164 ); }
  760.             inline float* flRageMeter() { return MakePointerGEN< float >( this, 0x170 ); }
  761.             inline bool* bRageDraining() { return MakePointerGEN< bool >( this, 0x174 ); }
  762.             inline float* flPhaseActivationTime() { return MakePointerGEN< float >( this, 0x168 ); }
  763.             inline bool* bPlayerDominated() { return MakePointerGEN< bool >( this, 0x1a0 ); } // Array size = 34
  764.             inline bool* bPlayerDominatingMe() { return MakePointerGEN< bool >( this, 0x1c2 ); } // Array size = 34
  765.             inline CTFPlayerScoringDataExclusive* ScoreData() { return MakePointerGEN< CTFPlayerScoringDataExclusive >( this, 0x4 ); }
  766.         };
  767.         inline int* nPlayerCond() { return MakePointerGEN< int >( this, 0x40 ); }
  768.         inline bool* bJumping() { return MakePointerGEN< bool >( this, 0x184 ); }
  769.         inline int* nNumHealers() { return MakePointerGEN< int >( this, 0x118 ); }
  770.         inline int* iCritMult() { return MakePointerGEN< int >( this, 0x19c ); }
  771.         inline int* iAirDash() { return MakePointerGEN< int >( this, 0x188 ); }
  772.         inline int* nAirDucked() { return MakePointerGEN< int >( this, 0x18c ); }
  773.         inline float* flDuckTimer() { return MakePointerGEN< float >( this, 0x190 ); }
  774.         inline int* nPlayerState() { return MakePointerGEN< int >( this, 0x3c ); }
  775.         inline int* iDesiredPlayerClass() { return MakePointerGEN< int >( this, 0x15c ); }
  776.         inline float* flMovementStunTime() { return MakePointerGEN< float >( this, 0x1e4 ); }
  777.         inline int* iMovementStunAmount() { return MakePointerGEN< int >( this, 0x1e8 ); }
  778.         inline int* iMovementStunParity() { return MakePointerGEN< int >( this, 0x1ec ); }
  779.         inline EHANDLE* hStunner() { return MakePointerGEN< EHANDLE >( this, 0x1f0 ); }
  780.         inline int* iStunFlags() { return MakePointerGEN< int >( this, 0x1f4 ); }
  781.         inline int* nArenaNumChanges() { return MakePointerGEN< int >( this, 0x200 ); }
  782.         inline bool* bArenaFirstBloodBoost() { return MakePointerGEN< bool >( this, 0x204 ); }
  783.         inline int* iWeaponKnockbackID() { return MakePointerGEN< int >( this, 0x208 ); }
  784.         inline bool* bLoadoutUnavailable() { return MakePointerGEN< bool >( this, 0x20c ); }
  785.         inline int* iItemFindBonus() { return MakePointerGEN< int >( this, 0x210 ); }
  786.         inline bool* bShieldEquipped() { return MakePointerGEN< bool >( this, 0x214 ); }
  787.         inline int* iNextMeleeCrit() { return MakePointerGEN< int >( this, 0x220 ); }
  788.         inline int* iDecapitations() { return MakePointerGEN< int >( this, 0x218 ); }
  789.         inline int* iDisguiseBody() { return MakePointerGEN< int >( this, 0x22c ); }
  790.         inline EHANDLE* hCarriedObject() { return MakePointerGEN< EHANDLE >( this, 0x1f8 ); }
  791.         inline float* flEnergyDrinkMeter() { return MakePointerGEN< float >( this, 0x16c ); }
  792.         inline float* flInvisChangeCompleteTime() { return MakePointerGEN< float >( this, 0xe0 ); }
  793.         inline int* nDisguiseTeam() { return MakePointerGEN< int >( this, 0xa4 ); }
  794.         inline int* nDisguiseClass() { return MakePointerGEN< int >( this, 0xa8 ); }
  795.         inline int* nMaskClass() { return MakePointerGEN< int >( this, 0xac ); }
  796.         inline int* iDisguiseTargetIndex() { return MakePointerGEN< int >( this, 0xb4 ); }
  797.         inline int* iDisguiseHealth() { return MakePointerGEN< int >( this, 0xb8 ); }
  798.         inline bool* bFeignDeathReady() { return MakePointerGEN< bool >( this, 0x158 ); }
  799.         inline EHANDLE* hDisguiseWeapon() { return MakePointerGEN< EHANDLE >( this, 0xc4 ); }
  800.         inline int* nTeamTeleporterUsed() { return MakePointerGEN< int >( this, 0xc8 ); }
  801.         inline CTFPlayerSharedLocal* tfsharedlocaldata() { return MakePointerGEN< CTFPlayerSharedLocal >( this, 0x0 ); }
  802.     };
  803.     struct CTFLocalPlayerExclusive
  804.     {
  805.         inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x2c8 ); }
  806.         inline Vector* vecOrigin2() { return MakePointerGEN< Vector >( this, 0x2d0 ); }
  807.         inline QAngle* angEyeAngles0() { return MakePointerGEN< QAngle >( this, 0x17c8 ); }
  808.     }; // Fail count = 2
  809.     struct CTFNonLocalPlayerExclusive
  810.     {
  811.         inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x2c8 ); }
  812.         inline Vector* vecOrigin2() { return MakePointerGEN< Vector >( this, 0x2d0 ); }
  813.         inline QAngle* angEyeAngles0() { return MakePointerGEN< QAngle >( this, 0x17c8 ); }
  814.         inline QAngle* angEyeAngles1() { return MakePointerGEN< QAngle >( this, 0x17cc ); }
  815.     };
  816.     struct CAttributeManager
  817.     {
  818.         inline EHANDLE* hOuter() { return MakePointerGEN< EHANDLE >( this, 0x1c ); }
  819.         inline int* ProviderType() { return MakePointerGEN< int >( this, 0x24 ); }
  820.         inline int* iReapplyProvisionParity() { return MakePointerGEN< int >( this, 0x18 ); }
  821.     };
  822.     inline bool* bSaveMeParity() { return MakePointerGEN< bool >( this, 0x1815 ); }
  823.     inline int* nWaterLevel() { return MakePointerGEN< int >( this, 0x144 ); }
  824.     inline EHANDLE* hRagdoll() { return MakePointerGEN< EHANDLE >( this, 0x1380 ); }
  825.     inline CTFPlayerClassShared* PlayerClass() { return MakePointerGEN< CTFPlayerClassShared >( this, 0x13f0 ); }
  826.     inline CTFPlayerShared* Shared() { return MakePointerGEN< CTFPlayerShared >( this, 0x1558 ); }
  827.     inline EHANDLE* hItem() { return MakePointerGEN< EHANDLE >( this, 0x1800 ); }
  828.     inline CTFLocalPlayerExclusive* tflocaldata() { return MakePointerGEN< CTFLocalPlayerExclusive >( this, 0x0 ); }
  829.     inline CTFNonLocalPlayerExclusive* tfnonlocaldata() { return MakePointerGEN< CTFNonLocalPlayerExclusive >( this, 0x0 ); }
  830.     inline int* iSpawnCounter() { return MakePointerGEN< int >( this, 0x1810 ); }
  831.     inline bool* bArenaSpectator() { return MakePointerGEN< bool >( this, 0x1814 ); }
  832.     inline CAttributeManager* AttributeManager() { return MakePointerGEN< CAttributeManager >( this, 0x1340 ); }
  833. };
  834. struct GenDT_TFRagdoll
  835. {
  836.     inline Vector* vecRagdollOrigin() { return MakePointerGEN< Vector >( this, 0xb94 ); }
  837.     inline int* iPlayerIndex() { return MakePointerGEN< int >( this, 0xba0 ); }
  838.     inline Vector* vecForce() { return MakePointerGEN< Vector >( this, 0x4e0 ); }
  839.     inline Vector* vecRagdollVelocity() { return MakePointerGEN< Vector >( this, 0xb88 ); }
  840.     inline int* nForceBone() { return MakePointerGEN< int >( this, 0x4ec ); }
  841.     inline bool* bGib() { return MakePointerGEN< bool >( this, 0xba9 ); }
  842.     inline bool* bBurning() { return MakePointerGEN< bool >( this, 0xbaa ); }
  843.     inline bool* bElectrocuted() { return MakePointerGEN< bool >( this, 0xbab ); }
  844.     inline bool* bBatted() { return MakePointerGEN< bool >( this, 0xbac ); }
  845.     inline bool* bFeignDeath() { return MakePointerGEN< bool >( this, 0xbad ); }
  846.     inline bool* bWasDisguised() { return MakePointerGEN< bool >( this, 0xbae ); }
  847.     inline bool* bOnGround() { return MakePointerGEN< bool >( this, 0xbc2 ); }
  848.     inline int* iDamageCustom() { return MakePointerGEN< int >( this, 0xbb0 ); }
  849.     inline int* iTeam() { return MakePointerGEN< int >( this, 0xbb4 ); }
  850.     inline int* iClass() { return MakePointerGEN< int >( this, 0xbb8 ); }
  851.     inline EHANDLE* hRagWearables() { return MakePointerGEN< EHANDLE >( this, 0x0 ); } // Array size = 9
  852. };
  853. struct GenDT_TEPlayerAnimEvent
  854. {
  855.     inline int* iPlayerIndex() { return MakePointerGEN< int >( this, 0x10 ); }
  856.     inline int* iEvent() { return MakePointerGEN< int >( this, 0x14 ); }
  857.     inline int* nData() { return MakePointerGEN< int >( this, 0x18 ); }
  858. };
  859. struct GenDT_BaseTeamObjectiveResource
  860. {
  861.     inline int* iTimerToShowInHUD() { return MakePointerGEN< int >( this, 0x4a8 ); }
  862.     inline int* iStopWatchTimer() { return MakePointerGEN< int >( this, 0x4ac ); }
  863.     inline int* iNumControlPoints() { return MakePointerGEN< int >( this, 0x4b0 ); }
  864.     inline bool* bPlayingMiniRounds() { return MakePointerGEN< bool >( this, 0x4b8 ); }
  865.     inline bool* bControlPointsReset() { return MakePointerGEN< bool >( this, 0x4b9 ); }
  866.     inline int* iUpdateCapHudParity() { return MakePointerGEN< int >( this, 0x4bc ); }
  867.     inline Vector* vCPPositions0() { return MakePointerGEN< Vector >( this, 0x4c4 ); }
  868.     inline bool* bCPIsVisible() { return MakePointerGEN< bool >( this, 0x524 ); } // Array size = 8
  869.     inline float* flLazyCapPerc() { return MakePointerGEN< float >( this, 0x52c ); } // Array size = 8
  870.     inline int* iTeamIcons() { return MakePointerGEN< int >( this, 0x56c ); } // Array size = 64
  871.     inline int* iTeamOverlays() { return MakePointerGEN< int >( this, 0x66c ); } // Array size = 64
  872.     inline int* iTeamReqCappers() { return MakePointerGEN< int >( this, 0x76c ); } // Array size = 64
  873.     inline float* flTeamCapTime() { return MakePointerGEN< float >( this, 0x86c ); } // Array size = 64
  874.     inline int* iPreviousPoints() { return MakePointerGEN< int >( this, 0x96c ); } // Array size = 192
  875.     inline bool* bTeamCanCap() { return MakePointerGEN< bool >( this, 0xc6c ); } // Array size = 64
  876.     inline int* iTeamBaseIcons() { return MakePointerGEN< int >( this, 0xcac ); } // Array size = 32
  877.     inline int* iBaseControlPoints() { return MakePointerGEN< int >( this, 0xd2c ); } // Array size = 32
  878.     inline bool* bInMiniRound() { return MakePointerGEN< bool >( this, 0xdac ); } // Array size = 8
  879.     inline int* iWarnOnCap() { return MakePointerGEN< int >( this, 0xdb4 ); } // Array size = 8
  880.     inline int* iszWarnSound0() { return MakePointerGEN< int >( this, 0xdd4 ); }
  881.     inline int* iszWarnSound() { return MakePointerGEN< int >( this, 0x0 ); } // Array size = 8
  882.     inline float* flPathDistance() { return MakePointerGEN< float >( this, 0x15cc ); } // Array size = 8
  883.     inline int* iCPGroup() { return MakePointerGEN< int >( this, 0x15ec ); } // Array size = 8
  884.     inline bool* bCPLocked() { return MakePointerGEN< bool >( this, 0x160c ); } // Array size = 8
  885.     inline int* nNumNodeHillData() { return MakePointerGEN< int >( this, 0x1844 ); } // Array size = 4
  886.     inline float* flNodeHillData() { return MakePointerGEN< float >( this, 0x1854 ); } // Array size = 40
  887.     inline bool* bTrackAlarm() { return MakePointerGEN< bool >( this, 0x1908 ); } // Array size = 4
  888.     inline float* flUnlockTimes() { return MakePointerGEN< float >( this, 0x1614 ); } // Array size = 8
  889.     inline bool* bHillIsDownhill() { return MakePointerGEN< bool >( this, 0x190c ); } // Array size = 20
  890.     inline int* iNumTeamMembers() { return MakePointerGEN< int >( this, 0x1654 ); } // Array size = 64
  891.     inline int* iCappingTeam() { return MakePointerGEN< int >( this, 0x1754 ); } // Array size = 8
  892.     inline int* iTeamInZone() { return MakePointerGEN< int >( this, 0x1774 ); } // Array size = 8
  893.     inline bool* bBlocked() { return MakePointerGEN< bool >( this, 0x1794 ); } // Array size = 8
  894.     inline int* iOwner() { return MakePointerGEN< int >( this, 0x179c ); } // Array size = 8
  895.     inline char** pszCapLayoutInHUD() { return MakePointerGEN< char* >( this, 0x1824 ); }
  896. }; // Fail count = 1
  897. struct GenDT_TFObjectiveResource : public GenDT_BaseTeamObjectiveResource
  898. {
  899. };
  900. struct GenDT_TEFireBullets
  901. {
  902.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x14 ); }
  903.     inline Vector* vecAngles0() { return MakePointerGEN< Vector >( this, 0x20 ); }
  904.     inline Vector* vecAngles1() { return MakePointerGEN< Vector >( this, 0x24 ); }
  905.     inline int* iWeaponID() { return MakePointerGEN< int >( this, 0x2c ); }
  906.     inline int* iMode() { return MakePointerGEN< int >( this, 0x30 ); }
  907.     inline int* iSeed() { return MakePointerGEN< int >( this, 0x34 ); }
  908.     inline int* iPlayer() { return MakePointerGEN< int >( this, 0x10 ); }
  909.     inline float* flSpread() { return MakePointerGEN< float >( this, 0x38 ); }
  910.     inline bool* bCritical() { return MakePointerGEN< bool >( this, 0x3c ); }
  911. };
  912. struct GenDT_TFBuffBanner : public GenDT_BaseAnimating
  913. {
  914. };
  915. struct GenDT_AmmoPack : public GenDT_BaseAnimating
  916. {
  917.     inline Vector* vecInitialVelocity() { return MakePointerGEN< Vector >( this, 0x7dc ); }
  918.     inline QAngle* angRotation0() { return MakePointerGEN< QAngle >( this, 0x2d4 ); }
  919.     inline QAngle* angRotation1() { return MakePointerGEN< QAngle >( this, 0x2d8 ); }
  920.     inline QAngle* angRotation2() { return MakePointerGEN< QAngle >( this, 0x2dc ); }
  921. };
  922. struct GenDT_ObjectTeleporter : public GenDT_BaseObject
  923. {
  924.     inline int* iState() { return MakePointerGEN< int >( this, 0xe88 ); }
  925.     inline float* flRechargeTime() { return MakePointerGEN< float >( this, 0xe90 ); }
  926.     inline int* iTimesUsed() { return MakePointerGEN< int >( this, 0xe94 ); }
  927.     inline float* flYawToExit() { return MakePointerGEN< float >( this, 0xe98 ); }
  928.     inline bool* bMatchBuilding() { return MakePointerGEN< bool >( this, 0xe9c ); }
  929. };
  930. struct GenDT_ObjectSentrygun : public GenDT_BaseObject
  931. {
  932.     struct CSentrygunLocalData
  933.     {
  934.         inline int* iKills() { return MakePointerGEN< int >( this, 0xe98 ); }
  935.     };
  936.     inline int* iAmmoShells() { return MakePointerGEN< int >( this, 0xe8c ); }
  937.     inline int* iAmmoRockets() { return MakePointerGEN< int >( this, 0xe94 ); }
  938.     inline int* iState() { return MakePointerGEN< int >( this, 0xe88 ); }
  939.     inline bool* bPlayerControlled() { return MakePointerGEN< bool >( this, 0xea8 ); }
  940.     inline bool* bShielded() { return MakePointerGEN< bool >( this, 0xeaa ); }
  941.     inline EHANDLE* hEnemy() { return MakePointerGEN< EHANDLE >( this, 0xec0 ); }
  942.     inline EHANDLE* hAutoAimTarget() { return MakePointerGEN< EHANDLE >( this, 0xec4 ); }
  943.     inline CSentrygunLocalData* SentrygunLocalData() { return MakePointerGEN< CSentrygunLocalData >( this, 0x0 ); }
  944. };
  945. struct GenDT_TFProjectile_SentryRocket : public GenDT_TFProjectile_Rocket
  946. {
  947. };
  948. struct GenDT_ObjectSapper : public GenDT_BaseObjectUpgrade
  949. {
  950. };
  951. struct GenDT_ObjectDispenser : public GenDT_BaseObject
  952. {
  953.     inline int* iAmmoMetal() { return MakePointerGEN< int >( this, 0xea0 ); }
  954. }; // Fail count = 2
  955. struct GenDT_ObjectCartDispenser : public GenDT_ObjectDispenser
  956. {
  957. };
  958. struct GenDT_FuncRespawnRoomVisualizer : public GenDT_BaseEntity
  959. {
  960. };
  961. struct GenDT_FuncRespawnRoom : public GenDT_BaseEntity
  962. {
  963. };
  964. struct GenDT_CaptureZone : public GenDT_BaseEntity
  965. {
  966.     inline bool* bDisabled() { return MakePointerGEN< bool >( this, 0x4a8 ); }
  967. };
  968. struct GenDT_NextBot : public GenDT_BaseCombatCharacter
  969. {
  970. };
  971. struct GenDT_TestTraceline
  972. {
  973.     inline int* clrRender() { return MakePointerGEN< int >( this, 0x58 ); }
  974.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x2c8 ); }
  975.     inline QAngle* angRotation0() { return MakePointerGEN< QAngle >( this, 0x2d4 ); }
  976.     inline QAngle* angRotation1() { return MakePointerGEN< QAngle >( this, 0x2d8 ); }
  977.     inline QAngle* angRotation2() { return MakePointerGEN< QAngle >( this, 0x2dc ); }
  978.     inline int* moveparent() { return MakePointerGEN< int >( this, 0x158 ); }
  979. };
  980. struct GenDT_TEWorldDecal : public GenDT_BaseTempEntity
  981. {
  982.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  983.     inline int* nIndex() { return MakePointerGEN< int >( this, 0x1c ); }
  984. };
  985. struct GenDT_TESpriteSpray : public GenDT_BaseTempEntity
  986. {
  987.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  988.     inline Vector* vecDirection() { return MakePointerGEN< Vector >( this, 0x1c ); }
  989.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x28 ); }
  990.     inline int* fNoise() { return MakePointerGEN< int >( this, 0x30 ); }
  991.     inline int* nCount() { return MakePointerGEN< int >( this, 0x34 ); }
  992.     inline int* nSpeed() { return MakePointerGEN< int >( this, 0x2c ); }
  993. };
  994. struct GenDT_TESprite : public GenDT_BaseTempEntity
  995. {
  996.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  997.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x1c ); }
  998.     inline int* fScale() { return MakePointerGEN< int >( this, 0x20 ); }
  999.     inline int* nBrightness() { return MakePointerGEN< int >( this, 0x24 ); }
  1000. };
  1001. struct GenDT_TEParticleSystem : public GenDT_BaseTempEntity
  1002. {
  1003.     inline Vector* vecOrigin0() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1004.     inline Vector* vecOrigin1() { return MakePointerGEN< Vector >( this, 0x14 ); }
  1005.     inline Vector* vecOrigin2() { return MakePointerGEN< Vector >( this, 0x18 ); }
  1006. };
  1007. struct GenDT_TESparks : public GenDT_TEParticleSystem
  1008. {
  1009.     inline int* nMagnitude() { return MakePointerGEN< int >( this, 0x1c ); }
  1010.     inline int* nTrailLength() { return MakePointerGEN< int >( this, 0x20 ); }
  1011.     inline Vector* vecDir() { return MakePointerGEN< Vector >( this, 0x24 ); }
  1012. };
  1013. struct GenDT_TESmoke : public GenDT_BaseTempEntity
  1014. {
  1015.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1016.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x1c ); }
  1017.     inline int* fScale() { return MakePointerGEN< int >( this, 0x20 ); }
  1018.     inline int* nFrameRate() { return MakePointerGEN< int >( this, 0x24 ); }
  1019. };
  1020. struct GenDT_TEShowLine : public GenDT_TEParticleSystem
  1021. {
  1022.     inline Vector* vecEnd() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1023. };
  1024. struct GenDT_TEProjectedDecal : public GenDT_BaseTempEntity
  1025. {
  1026.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1027.     inline QAngle* angRotation() { return MakePointerGEN< QAngle >( this, 0x1c ); }
  1028.     inline float* flDistance() { return MakePointerGEN< float >( this, 0x28 ); }
  1029.     inline int* nIndex() { return MakePointerGEN< int >( this, 0x2c ); }
  1030. };
  1031. struct GenDT_TEPlayerDecal : public GenDT_BaseTempEntity
  1032. {
  1033.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x14 ); }
  1034.     inline int* nEntity() { return MakePointerGEN< int >( this, 0x20 ); }
  1035.     inline int* nPlayer() { return MakePointerGEN< int >( this, 0x10 ); }
  1036. };
  1037. struct GenDT_TEPhysicsProp : public GenDT_BaseTempEntity
  1038. {
  1039.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1040.     inline QAngle* angRotation0() { return MakePointerGEN< QAngle >( this, 0x1c ); }
  1041.     inline QAngle* angRotation1() { return MakePointerGEN< QAngle >( this, 0x20 ); }
  1042.     inline QAngle* angRotation2() { return MakePointerGEN< QAngle >( this, 0x24 ); }
  1043.     inline Vector* vecVelocity() { return MakePointerGEN< Vector >( this, 0x28 ); }
  1044.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x34 ); }
  1045.     inline int* nFlags() { return MakePointerGEN< int >( this, 0x3c ); }
  1046.     inline int* nSkin() { return MakePointerGEN< int >( this, 0x38 ); }
  1047.     inline int* nEffects() { return MakePointerGEN< int >( this, 0x40 ); }
  1048. };
  1049. struct GenDT_TEMuzzleFlash : public GenDT_BaseTempEntity
  1050. {
  1051.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1052.     inline Vector* vecAngles() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1053.     inline float* flScale() { return MakePointerGEN< float >( this, 0x28 ); }
  1054.     inline int* nType() { return MakePointerGEN< int >( this, 0x2c ); }
  1055. };
  1056. struct GenDT_TELargeFunnel : public GenDT_TEParticleSystem
  1057. {
  1058.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x1c ); }
  1059.     inline int* nReversed() { return MakePointerGEN< int >( this, 0x20 ); }
  1060. };
  1061. struct GenDT_TEKillPlayerAttachments : public GenDT_BaseTempEntity
  1062. {
  1063.     inline int* nPlayer() { return MakePointerGEN< int >( this, 0x10 ); }
  1064. };
  1065. struct GenDT_TEImpact : public GenDT_BaseTempEntity
  1066. {
  1067.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1068.     inline Vector* vecNormal() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1069.     inline int* iType() { return MakePointerGEN< int >( this, 0x28 ); }
  1070.     inline int* ucFlags() { return MakePointerGEN< int >( this, 0x2c ); }
  1071. };
  1072. struct GenDT_TEGlowSprite : public GenDT_BaseTempEntity
  1073. {
  1074.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1075.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x1c ); }
  1076.     inline int* fScale() { return MakePointerGEN< int >( this, 0x20 ); }
  1077.     inline int* fLife() { return MakePointerGEN< int >( this, 0x24 ); }
  1078.     inline int* nBrightness() { return MakePointerGEN< int >( this, 0x28 ); }
  1079. };
  1080. struct GenDT_TEShatterSurface : public GenDT_BaseTempEntity
  1081. {
  1082.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1083.     inline Vector* vecAngles() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1084.     inline Vector* vecForce() { return MakePointerGEN< Vector >( this, 0x28 ); }
  1085.     inline Vector* vecForcePos() { return MakePointerGEN< Vector >( this, 0x34 ); }
  1086.     inline float* flWidth() { return MakePointerGEN< float >( this, 0x40 ); }
  1087.     inline float* flHeight() { return MakePointerGEN< float >( this, 0x44 ); }
  1088.     inline float* flShardSize() { return MakePointerGEN< float >( this, 0x48 ); }
  1089.     inline int* nSurfaceType() { return MakePointerGEN< int >( this, 0x50 ); }
  1090.     inline uchar* uchFrontColor0() { return MakePointerGEN< uchar >( this, 0x54 ); }
  1091.     inline uchar* uchFrontColor1() { return MakePointerGEN< uchar >( this, 0x55 ); }
  1092.     inline uchar* uchFrontColor2() { return MakePointerGEN< uchar >( this, 0x56 ); }
  1093.     inline uchar* uchBackColor0() { return MakePointerGEN< uchar >( this, 0x57 ); }
  1094.     inline uchar* uchBackColor1() { return MakePointerGEN< uchar >( this, 0x58 ); }
  1095.     inline uchar* uchBackColor2() { return MakePointerGEN< uchar >( this, 0x59 ); }
  1096. };
  1097. struct GenDT_TEFootprintDecal : public GenDT_BaseTempEntity
  1098. {
  1099.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1100.     inline Vector* vecDirection() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1101.     inline int* nEntity() { return MakePointerGEN< int >( this, 0x34 ); }
  1102.     inline int* nIndex() { return MakePointerGEN< int >( this, 0x38 ); }
  1103.     inline char* chMaterialType() { return MakePointerGEN< char >( this, 0x3c ); }
  1104. };
  1105. struct GenDT_TEFizz : public GenDT_BaseTempEntity
  1106. {
  1107.     inline int* nEntity() { return MakePointerGEN< int >( this, 0x10 ); }
  1108.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x14 ); }
  1109.     inline int* nDensity() { return MakePointerGEN< int >( this, 0x18 ); }
  1110.     inline int* nCurrent() { return MakePointerGEN< int >( this, 0x1c ); }
  1111. };
  1112. struct GenDT_TEExplosion : public GenDT_TEParticleSystem
  1113. {
  1114.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x1c ); }
  1115.     inline int* fScale() { return MakePointerGEN< int >( this, 0x20 ); }
  1116.     inline int* nFrameRate() { return MakePointerGEN< int >( this, 0x24 ); }
  1117.     inline int* nFlags() { return MakePointerGEN< int >( this, 0x28 ); }
  1118.     inline Vector* vecNormal() { return MakePointerGEN< Vector >( this, 0x2c ); }
  1119.     inline char* chMaterialType() { return MakePointerGEN< char >( this, 0x38 ); }
  1120.     inline int* nRadius() { return MakePointerGEN< int >( this, 0x3c ); }
  1121.     inline int* nMagnitude() { return MakePointerGEN< int >( this, 0x40 ); }
  1122. };
  1123. struct GenDT_TEEnergySplash
  1124. {
  1125.     inline Vector* vecPos() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1126.     inline Vector* vecDir() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1127.     inline bool* bExplosive() { return MakePointerGEN< bool >( this, 0x28 ); }
  1128. };
  1129. struct GenDT_TEEffectDispatch : public GenDT_BaseTempEntity
  1130. {
  1131.     struct CEffectData
  1132.     {
  1133.         inline float* vOrigin0() { return MakePointerGEN< float >( this, 0x0 ); }
  1134.         inline float* vOrigin1() { return MakePointerGEN< float >( this, 0x4 ); }
  1135.         inline float* vOrigin2() { return MakePointerGEN< float >( this, 0x8 ); }
  1136.         inline float* vStart0() { return MakePointerGEN< float >( this, 0xc ); }
  1137.         inline float* vStart1() { return MakePointerGEN< float >( this, 0x10 ); }
  1138.         inline float* vStart2() { return MakePointerGEN< float >( this, 0x14 ); }
  1139.         inline Vector* vAngles() { return MakePointerGEN< Vector >( this, 0x24 ); }
  1140.         inline Vector* vNormal() { return MakePointerGEN< Vector >( this, 0x18 ); }
  1141.         inline int* fFlags() { return MakePointerGEN< int >( this, 0x30 ); }
  1142.         inline float* flMagnitude() { return MakePointerGEN< float >( this, 0x3c ); }
  1143.         inline float* flScale() { return MakePointerGEN< float >( this, 0x38 ); }
  1144.         inline int* nAttachmentIndex() { return MakePointerGEN< int >( this, 0x44 ); }
  1145.         inline int* nSurfaceProp() { return MakePointerGEN< int >( this, 0x48 ); }
  1146.         inline int* iEffectName() { return MakePointerGEN< int >( this, 0x5c ); }
  1147.         inline int* nMaterial() { return MakePointerGEN< int >( this, 0x4c ); }
  1148.         inline int* nDamageType() { return MakePointerGEN< int >( this, 0x50 ); }
  1149.         inline int* nHitBox() { return MakePointerGEN< int >( this, 0x54 ); }
  1150.         inline int* entindex() { return MakePointerGEN< int >( this, 0x0 ); }
  1151.         inline int* nColor() { return MakePointerGEN< int >( this, 0x58 ); }
  1152.         inline float* flRadius() { return MakePointerGEN< float >( this, 0x40 ); }
  1153.     };
  1154.     inline CEffectData* EffectData() { return MakePointerGEN< CEffectData >( this, 0x10 ); }
  1155. };
  1156. struct GenDT_TEDynamicLight : public GenDT_BaseTempEntity
  1157. {
  1158.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1159.     inline int* r() { return MakePointerGEN< int >( this, 0x20 ); }
  1160.     inline int* g() { return MakePointerGEN< int >( this, 0x24 ); }
  1161.     inline int* b() { return MakePointerGEN< int >( this, 0x28 ); }
  1162.     inline int* exponent() { return MakePointerGEN< int >( this, 0x2c ); }
  1163.     inline int* fRadius() { return MakePointerGEN< int >( this, 0x1c ); }
  1164.     inline int* fTime() { return MakePointerGEN< int >( this, 0x30 ); }
  1165.     inline int* fDecay() { return MakePointerGEN< int >( this, 0x34 ); }
  1166. };
  1167. struct GenDT_TEDecal : public GenDT_BaseTempEntity
  1168. {
  1169.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1170.     inline Vector* vecStart() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1171.     inline int* nEntity() { return MakePointerGEN< int >( this, 0x28 ); }
  1172.     inline int* nHitbox() { return MakePointerGEN< int >( this, 0x2c ); }
  1173.     inline int* nIndex() { return MakePointerGEN< int >( this, 0x30 ); }
  1174. };
  1175. struct GenDT_TEClientProjectile : public GenDT_BaseTempEntity
  1176. {
  1177.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1178.     inline Vector* vecVelocity() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1179.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x28 ); }
  1180.     inline int* nLifeTime() { return MakePointerGEN< int >( this, 0x2c ); }
  1181.     inline EHANDLE* hOwner() { return MakePointerGEN< EHANDLE >( this, 0x30 ); }
  1182. };
  1183. struct GenDT_TEBubbleTrail : public GenDT_BaseTempEntity
  1184. {
  1185.     inline Vector* vecMins() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1186.     inline Vector* vecMaxs() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1187.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x2c ); }
  1188.     inline float* flWaterZ() { return MakePointerGEN< float >( this, 0x28 ); }
  1189.     inline int* nCount() { return MakePointerGEN< int >( this, 0x30 ); }
  1190.     inline int* fSpeed() { return MakePointerGEN< int >( this, 0x34 ); }
  1191. };
  1192. struct GenDT_TEBubbles : public GenDT_BaseTempEntity
  1193. {
  1194.     inline Vector* vecMins() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1195.     inline Vector* vecMaxs() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1196.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x2c ); }
  1197.     inline int* fHeight() { return MakePointerGEN< int >( this, 0x28 ); }
  1198.     inline int* nCount() { return MakePointerGEN< int >( this, 0x30 ); }
  1199.     inline int* fSpeed() { return MakePointerGEN< int >( this, 0x34 ); }
  1200. };
  1201. struct GenDT_TEBSPDecal : public GenDT_BaseTempEntity
  1202. {
  1203.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1204.     inline int* nEntity() { return MakePointerGEN< int >( this, 0x1c ); }
  1205.     inline int* nIndex() { return MakePointerGEN< int >( this, 0x20 ); }
  1206. };
  1207. struct GenDT_TEBreakModel : public GenDT_BaseTempEntity
  1208. {
  1209.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1210.     inline QAngle* angRotation0() { return MakePointerGEN< QAngle >( this, 0x1c ); }
  1211.     inline QAngle* angRotation1() { return MakePointerGEN< QAngle >( this, 0x20 ); }
  1212.     inline QAngle* angRotation2() { return MakePointerGEN< QAngle >( this, 0x24 ); }
  1213.     inline Vector* vecSize() { return MakePointerGEN< Vector >( this, 0x28 ); }
  1214.     inline Vector* vecVelocity() { return MakePointerGEN< Vector >( this, 0x34 ); }
  1215.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x44 ); }
  1216.     inline int* nRandomization() { return MakePointerGEN< int >( this, 0x40 ); }
  1217.     inline int* nCount() { return MakePointerGEN< int >( this, 0x48 ); }
  1218.     inline int* fTime() { return MakePointerGEN< int >( this, 0x4c ); }
  1219.     inline int* nFlags() { return MakePointerGEN< int >( this, 0x50 ); }
  1220. };
  1221. struct GenDT_TEBloodStream : public GenDT_TEParticleSystem
  1222. {
  1223.     inline Vector* vecDirection() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1224.     inline int* r() { return MakePointerGEN< int >( this, 0x28 ); }
  1225.     inline int* g() { return MakePointerGEN< int >( this, 0x2c ); }
  1226.     inline int* b() { return MakePointerGEN< int >( this, 0x30 ); }
  1227.     inline int* a() { return MakePointerGEN< int >( this, 0x34 ); }
  1228.     inline int* nAmount() { return MakePointerGEN< int >( this, 0x38 ); }
  1229. };
  1230. struct GenDT_TEBloodSprite
  1231. {
  1232.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1233.     inline Vector* vecDirection() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1234.     inline int* r() { return MakePointerGEN< int >( this, 0x28 ); }
  1235.     inline int* g() { return MakePointerGEN< int >( this, 0x2c ); }
  1236.     inline int* b() { return MakePointerGEN< int >( this, 0x30 ); }
  1237.     inline int* a() { return MakePointerGEN< int >( this, 0x34 ); }
  1238.     inline int* nSprayModel() { return MakePointerGEN< int >( this, 0x3c ); }
  1239.     inline int* nDropModel() { return MakePointerGEN< int >( this, 0x38 ); }
  1240.     inline int* nSize() { return MakePointerGEN< int >( this, 0x40 ); }
  1241. };
  1242. struct GenDT_TEBeamSpline
  1243. {
  1244.     inline int* nPoints() { return MakePointerGEN< int >( this, 0xd0 ); }
  1245.     inline Vector* vecPoints0() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1246.     inline Vector* vecPoints() { return MakePointerGEN< Vector >( this, 0x0 ); } // Array size = 16
  1247. };
  1248. struct GenDT_BaseBeam
  1249. {
  1250.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x10 ); }
  1251.     inline int* nHaloIndex() { return MakePointerGEN< int >( this, 0x14 ); }
  1252.     inline int* nStartFrame() { return MakePointerGEN< int >( this, 0x18 ); }
  1253.     inline int* nFrameRate() { return MakePointerGEN< int >( this, 0x1c ); }
  1254.     inline int* fLife() { return MakePointerGEN< int >( this, 0x20 ); }
  1255.     inline int* fWidth() { return MakePointerGEN< int >( this, 0x24 ); }
  1256.     inline int* fEndWidth() { return MakePointerGEN< int >( this, 0x28 ); }
  1257.     inline int* nFadeLength() { return MakePointerGEN< int >( this, 0x2c ); }
  1258.     inline int* fAmplitude() { return MakePointerGEN< int >( this, 0x30 ); }
  1259.     inline int* nSpeed() { return MakePointerGEN< int >( this, 0x44 ); }
  1260.     inline int* r() { return MakePointerGEN< int >( this, 0x34 ); }
  1261.     inline int* g() { return MakePointerGEN< int >( this, 0x38 ); }
  1262.     inline int* b() { return MakePointerGEN< int >( this, 0x3c ); }
  1263.     inline int* a() { return MakePointerGEN< int >( this, 0x40 ); }
  1264.     inline int* nFlags() { return MakePointerGEN< int >( this, 0x48 ); }
  1265. };
  1266. struct GenDT_TEBeamRingPoint : public GenDT_BaseBeam
  1267. {
  1268.     inline Vector* vecCenter() { return MakePointerGEN< Vector >( this, 0x4c ); }
  1269.     inline float* flStartRadius() { return MakePointerGEN< float >( this, 0x58 ); }
  1270.     inline float* flEndRadius() { return MakePointerGEN< float >( this, 0x5c ); }
  1271. };
  1272. struct GenDT_TEBeamRing : public GenDT_BaseBeam
  1273. {
  1274.     inline int* nStartEntity() { return MakePointerGEN< int >( this, 0x4c ); }
  1275.     inline int* nEndEntity() { return MakePointerGEN< int >( this, 0x50 ); }
  1276. };
  1277. struct GenDT_TEBeamPoints : public GenDT_BaseBeam
  1278. {
  1279.     inline Vector* vecStartPoint() { return MakePointerGEN< Vector >( this, 0x4c ); }
  1280.     inline Vector* vecEndPoint() { return MakePointerGEN< Vector >( this, 0x58 ); }
  1281. };
  1282. struct GenDT_TEBeamLaser : public GenDT_BaseBeam
  1283. {
  1284.     inline int* nStartEntity() { return MakePointerGEN< int >( this, 0x4c ); }
  1285.     inline int* nEndEntity() { return MakePointerGEN< int >( this, 0x50 ); }
  1286. };
  1287. struct GenDT_TEBeamFollow : public GenDT_BaseBeam
  1288. {
  1289.     inline int* iEntIndex() { return MakePointerGEN< int >( this, 0x4c ); }
  1290. };
  1291. struct GenDT_TEBeamEnts : public GenDT_BaseBeam
  1292. {
  1293.     inline int* nStartEntity() { return MakePointerGEN< int >( this, 0x4c ); }
  1294.     inline int* nEndEntity() { return MakePointerGEN< int >( this, 0x50 ); }
  1295. };
  1296. struct GenDT_TEBeamEntPoint : public GenDT_BaseBeam
  1297. {
  1298.     inline int* nStartEntity() { return MakePointerGEN< int >( this, 0x4c ); }
  1299.     inline int* nEndEntity() { return MakePointerGEN< int >( this, 0x50 ); }
  1300.     inline Vector* vecStartPoint() { return MakePointerGEN< Vector >( this, 0x54 ); }
  1301.     inline Vector* vecEndPoint() { return MakePointerGEN< Vector >( this, 0x60 ); }
  1302. };
  1303. struct GenDT_TEMetalSparks
  1304. {
  1305.     inline Vector* vecPos() { return MakePointerGEN< Vector >( this, 0x10 ); }
  1306.     inline Vector* vecDir() { return MakePointerGEN< Vector >( this, 0x1c ); }
  1307. };
  1308. struct GenDT_TEArmorRicochet : public GenDT_TEMetalSparks
  1309. {
  1310. };
  1311. struct GenDT_BaseParticleEntity : public GenDT_BaseEntity
  1312. {
  1313. };
  1314. struct GenDT_SteamJet : public GenDT_BaseParticleEntity
  1315. {
  1316.     inline float* SpreadSpeed() { return MakePointerGEN< float >( this, 0x594 ); }
  1317.     inline float* Speed() { return MakePointerGEN< float >( this, 0x598 ); }
  1318.     inline float* StartSize() { return MakePointerGEN< float >( this, 0x59c ); }
  1319.     inline float* EndSize() { return MakePointerGEN< float >( this, 0x5a0 ); }
  1320.     inline float* Rate() { return MakePointerGEN< float >( this, 0x5a4 ); }
  1321.     inline float* JetLength() { return MakePointerGEN< float >( this, 0x5a8 ); }
  1322.     inline bool* bEmit() { return MakePointerGEN< bool >( this, 0x5ac ); }
  1323.     inline bool* bFaceLeft() { return MakePointerGEN< bool >( this, 0x5b4 ); }
  1324.     inline int* nType() { return MakePointerGEN< int >( this, 0x5b0 ); }
  1325.     inline int* spawnflags() { return MakePointerGEN< int >( this, 0x5b8 ); }
  1326.     inline float* flRollSpeed() { return MakePointerGEN< float >( this, 0x5bc ); }
  1327. };
  1328. struct GenDT_SmokeStack : public GenDT_BaseParticleEntity
  1329. {
  1330.     inline float* SpreadSpeed() { return MakePointerGEN< float >( this, 0x5e4 ); }
  1331.     inline float* Speed() { return MakePointerGEN< float >( this, 0x5e8 ); }
  1332.     inline float* StartSize() { return MakePointerGEN< float >( this, 0x5ec ); }
  1333.     inline float* EndSize() { return MakePointerGEN< float >( this, 0x5f0 ); }
  1334.     inline float* Rate() { return MakePointerGEN< float >( this, 0x5f4 ); }
  1335.     inline float* JetLength() { return MakePointerGEN< float >( this, 0x5f8 ); }
  1336.     inline bool* bEmit() { return MakePointerGEN< bool >( this, 0x5fc ); }
  1337.     inline float* flBaseSpread() { return MakePointerGEN< float >( this, 0x600 ); }
  1338.     inline float* flTwist() { return MakePointerGEN< float >( this, 0x654 ); }
  1339.     inline float* flRollSpeed() { return MakePointerGEN< float >( this, 0x690 ); }
  1340.     inline int* iMaterialModel() { return MakePointerGEN< int >( this, 0x658 ); }
  1341.     inline Vector* AmbientLight_m_vPos() { return MakePointerGEN< Vector >( this, 0x604 ); }
  1342.     inline Vector* AmbientLight_m_vColor() { return MakePointerGEN< Vector >( this, 0x610 ); }
  1343.     inline float* AmbientLight_m_flIntensity() { return MakePointerGEN< float >( this, 0x61c ); }
  1344.     inline Vector* DirLight_m_vPos() { return MakePointerGEN< Vector >( this, 0x620 ); }
  1345.     inline Vector* DirLight_m_vColor() { return MakePointerGEN< Vector >( this, 0x62c ); }
  1346.     inline float* DirLight_m_flIntensity() { return MakePointerGEN< float >( this, 0x638 ); }
  1347.     inline Vector* vWind() { return MakePointerGEN< Vector >( this, 0x648 ); }
  1348. };
  1349. struct GenDT_DustTrail : public GenDT_BaseParticleEntity
  1350. {
  1351.     inline float* SpawnRate() { return MakePointerGEN< float >( this, 0x594 ); }
  1352.     inline Vector* Color() { return MakePointerGEN< Vector >( this, 0x598 ); }
  1353.     inline float* ParticleLifetime() { return MakePointerGEN< float >( this, 0x5a8 ); }
  1354.     inline float* StopEmitTime() { return MakePointerGEN< float >( this, 0x5b0 ); }
  1355.     inline float* MinSpeed() { return MakePointerGEN< float >( this, 0x5b4 ); }
  1356.     inline float* MaxSpeed() { return MakePointerGEN< float >( this, 0x5b8 ); }
  1357.     inline float* MinDirectedSpeed() { return MakePointerGEN< float >( this, 0x5bc ); }
  1358.     inline float* MaxDirectedSpeed() { return MakePointerGEN< float >( this, 0x5c0 ); }
  1359.     inline float* StartSize() { return MakePointerGEN< float >( this, 0x5c4 ); }
  1360.     inline float* EndSize() { return MakePointerGEN< float >( this, 0x5c8 ); }
  1361.     inline float* SpawnRadius() { return MakePointerGEN< float >( this, 0x5cc ); }
  1362.     inline bool* bEmit() { return MakePointerGEN< bool >( this, 0x5dc ); }
  1363.     inline float* Opacity() { return MakePointerGEN< float >( this, 0x5a4 ); }
  1364. };
  1365. struct GenDT_FireTrail : public GenDT_BaseParticleEntity
  1366. {
  1367.     inline int* nAttachment() { return MakePointerGEN< int >( this, 0x594 ); }
  1368.     inline float* flLifetime() { return MakePointerGEN< float >( this, 0x598 ); }
  1369. };
  1370. struct GenDT_SporeTrail : public GenDT_BaseParticleEntity
  1371. {
  1372.     inline float* flSpawnRate() { return MakePointerGEN< float >( this, 0x59c ); }
  1373.     inline Vector* vecEndColor() { return MakePointerGEN< Vector >( this, 0x590 ); }
  1374.     inline float* flParticleLifetime() { return MakePointerGEN< float >( this, 0x5a0 ); }
  1375.     inline float* flStartSize() { return MakePointerGEN< float >( this, 0x5a4 ); }
  1376.     inline float* flEndSize() { return MakePointerGEN< float >( this, 0x5a8 ); }
  1377.     inline float* flSpawnRadius() { return MakePointerGEN< float >( this, 0x5ac ); }
  1378.     inline bool* bEmit() { return MakePointerGEN< bool >( this, 0x5bc ); }
  1379. };
  1380. struct GenDT_SporeExplosion : public GenDT_BaseParticleEntity
  1381. {
  1382.     inline float* flSpawnRate() { return MakePointerGEN< float >( this, 0x594 ); }
  1383.     inline float* flParticleLifetime() { return MakePointerGEN< float >( this, 0x598 ); }
  1384.     inline float* flStartSize() { return MakePointerGEN< float >( this, 0x59c ); }
  1385.     inline float* flEndSize() { return MakePointerGEN< float >( this, 0x5a0 ); }
  1386.     inline float* flSpawnRadius() { return MakePointerGEN< float >( this, 0x5a4 ); }
  1387.     inline bool* bEmit() { return MakePointerGEN< bool >( this, 0x5ac ); }
  1388.     inline bool* bDontRemove() { return MakePointerGEN< bool >( this, 0x5ad ); }
  1389. };
  1390. struct GenDT_RocketTrail : public GenDT_BaseParticleEntity
  1391. {
  1392.     inline float* SpawnRate() { return MakePointerGEN< float >( this, 0x594 ); }
  1393.     inline Vector* StartColor() { return MakePointerGEN< Vector >( this, 0x598 ); }
  1394.     inline Vector* EndColor() { return MakePointerGEN< Vector >( this, 0x5a4 ); }
  1395.     inline float* ParticleLifetime() { return MakePointerGEN< float >( this, 0x5b4 ); }
  1396.     inline float* StopEmitTime() { return MakePointerGEN< float >( this, 0x5b8 ); }
  1397.     inline float* MinSpeed() { return MakePointerGEN< float >( this, 0x5bc ); }
  1398.     inline float* MaxSpeed() { return MakePointerGEN< float >( this, 0x5c0 ); }
  1399.     inline float* StartSize() { return MakePointerGEN< float >( this, 0x5c4 ); }
  1400.     inline float* EndSize() { return MakePointerGEN< float >( this, 0x5c8 ); }
  1401.     inline float* SpawnRadius() { return MakePointerGEN< float >( this, 0x5cc ); }
  1402.     inline bool* bEmit() { return MakePointerGEN< bool >( this, 0x5dc ); }
  1403.     inline int* nAttachment() { return MakePointerGEN< int >( this, 0x5e0 ); }
  1404.     inline float* Opacity() { return MakePointerGEN< float >( this, 0x5b0 ); }
  1405.     inline bool* bDamaged() { return MakePointerGEN< bool >( this, 0x5dd ); }
  1406.     inline float* flFlareScale() { return MakePointerGEN< float >( this, 0x5f0 ); }
  1407. };
  1408. struct GenDT_SmokeTrail : public GenDT_BaseParticleEntity
  1409. {
  1410.     inline float* SpawnRate() { return MakePointerGEN< float >( this, 0x594 ); }
  1411.     inline Vector* StartColor() { return MakePointerGEN< Vector >( this, 0x598 ); }
  1412.     inline Vector* EndColor() { return MakePointerGEN< Vector >( this, 0x5a4 ); }
  1413.     inline float* ParticleLifetime() { return MakePointerGEN< float >( this, 0x5b4 ); }
  1414.     inline float* StopEmitTime() { return MakePointerGEN< float >( this, 0x5b8 ); }
  1415.     inline float* MinSpeed() { return MakePointerGEN< float >( this, 0x5bc ); }
  1416.     inline float* MaxSpeed() { return MakePointerGEN< float >( this, 0x5c0 ); }
  1417.     inline float* MinDirectedSpeed() { return MakePointerGEN< float >( this, 0x5c4 ); }
  1418.     inline float* MaxDirectedSpeed() { return MakePointerGEN< float >( this, 0x5c8 ); }
  1419.     inline float* StartSize() { return MakePointerGEN< float >( this, 0x5cc ); }
  1420.     inline float* EndSize() { return MakePointerGEN< float >( this, 0x5d0 ); }
  1421.     inline float* SpawnRadius() { return MakePointerGEN< float >( this, 0x5d4 ); }
  1422.     inline bool* bEmit() { return MakePointerGEN< bool >( this, 0x5e4 ); }
  1423.     inline int* nAttachment() { return MakePointerGEN< int >( this, 0x5e8 ); }
  1424.     inline float* Opacity() { return MakePointerGEN< float >( this, 0x5b0 ); }
  1425. };
  1426. struct GenDT_PropVehicleDriveable : public GenDT_BaseAnimating
  1427. {
  1428.     inline EHANDLE* hPlayer() { return MakePointerGEN< EHANDLE >( this, 0x7dc ); }
  1429.     inline int* nSpeed() { return MakePointerGEN< int >( this, 0x7e0 ); }
  1430.     inline int* nRPM() { return MakePointerGEN< int >( this, 0x7e4 ); }
  1431.     inline float* flThrottle() { return MakePointerGEN< float >( this, 0x7e8 ); }
  1432.     inline int* nBoostTimeLeft() { return MakePointerGEN< int >( this, 0x7ec ); }
  1433.     inline int* nHasBoost() { return MakePointerGEN< int >( this, 0x7f0 ); }
  1434.     inline int* nScannerDisabledWeapons() { return MakePointerGEN< int >( this, 0x7f4 ); }
  1435.     inline int* nScannerDisabledVehicle() { return MakePointerGEN< int >( this, 0x7f8 ); }
  1436.     inline bool* bEnterAnimOn() { return MakePointerGEN< bool >( this, 0x818 ); }
  1437.     inline bool* bExitAnimOn() { return MakePointerGEN< bool >( this, 0x819 ); }
  1438.     inline bool* bUnableToFire() { return MakePointerGEN< bool >( this, 0x865 ); }
  1439.     inline Vector* vecEyeExitEndpoint() { return MakePointerGEN< Vector >( this, 0x858 ); }
  1440.     inline bool* bHasGun() { return MakePointerGEN< bool >( this, 0x864 ); }
  1441.     inline Vector* vecGunCrosshair() { return MakePointerGEN< Vector >( this, 0x820 ); }
  1442. };
  1443. struct GenDT_ParticleSmokeGrenade : public GenDT_BaseParticleEntity
  1444. {
  1445.     inline float* flSpawnTime() { return MakePointerGEN< float >( this, 0x5a4 ); }
  1446.     inline float* FadeStartTime() { return MakePointerGEN< float >( this, 0x5a8 ); }
  1447.     inline float* FadeEndTime() { return MakePointerGEN< float >( this, 0x5ac ); }
  1448.     inline int* CurrentStage() { return MakePointerGEN< int >( this, 0x594 ); }
  1449. };
  1450. struct GenDT_ParticleFire
  1451. {
  1452.     inline Vector* vOrigin() { return MakePointerGEN< Vector >( this, 0x59c ); }
  1453.     inline Vector* vDirection() { return MakePointerGEN< Vector >( this, 0x5a8 ); }
  1454. };
  1455. struct GenDT_MovieExplosion : public GenDT_BaseParticleEntity
  1456. {
  1457. };
  1458. struct GenDT_TEGaussExplosion : public GenDT_TEParticleSystem
  1459. {
  1460.     inline int* nType() { return MakePointerGEN< int >( this, 0x1c ); }
  1461.     inline Vector* vecDirection() { return MakePointerGEN< Vector >( this, 0x20 ); }
  1462. };
  1463. struct GenDT_QuadraticBeam : public GenDT_BaseEntity
  1464. {
  1465.     inline Vector* targetPosition() { return MakePointerGEN< Vector >( this, 0x4a8 ); }
  1466.     inline Vector* controlPosition() { return MakePointerGEN< Vector >( this, 0x4b4 ); }
  1467.     inline float* scrollRate() { return MakePointerGEN< float >( this, 0x4c0 ); }
  1468.     inline float* flWidth() { return MakePointerGEN< float >( this, 0x4c4 ); }
  1469. };
  1470. struct GenDT_Embers : public GenDT_BaseEntity
  1471. {
  1472.     inline int* nDensity() { return MakePointerGEN< int >( this, 0x4a8 ); }
  1473.     inline int* nLifetime() { return MakePointerGEN< int >( this, 0x4ac ); }
  1474.     inline int* nSpeed() { return MakePointerGEN< int >( this, 0x4b0 ); }
  1475.     inline bool* bEmit() { return MakePointerGEN< bool >( this, 0x4b4 ); }
  1476. };
  1477. struct GenDT_EnvWind : public GenDT_BaseEntity
  1478. {
  1479.     struct CEnvWindShared
  1480.     {
  1481.         inline int* iMinWind() { return MakePointerGEN< int >( this, 0xc ); }
  1482.         inline int* iMaxWind() { return MakePointerGEN< int >( this, 0x10 ); }
  1483.         inline int* iMinGust() { return MakePointerGEN< int >( this, 0x14 ); }
  1484.         inline int* iMaxGust() { return MakePointerGEN< int >( this, 0x18 ); }
  1485.         inline float* flMinGustDelay() { return MakePointerGEN< float >( this, 0x1c ); }
  1486.         inline float* flMaxGustDelay() { return MakePointerGEN< float >( this, 0x20 ); }
  1487.         inline int* iGustDirChange() { return MakePointerGEN< int >( this, 0x28 ); }
  1488.         inline int* iWindSeed() { return MakePointerGEN< int >( this, 0x8 ); }
  1489.         inline int* iInitialWindDir() { return MakePointerGEN< int >( this, 0x38 ); }
  1490.         inline float* flInitialWindSpeed() { return MakePointerGEN< float >( this, 0x3c ); }
  1491.         inline float* flStartTime() { return MakePointerGEN< float >( this, 0x4 ); }
  1492.         inline float* flGustDuration() { return MakePointerGEN< float >( this, 0x24 ); }
  1493.     };
  1494.     inline CEnvWindShared* EnvWindShared() { return MakePointerGEN< CEnvWindShared >( this, 0x4a8 ); }
  1495. };
  1496. struct GenDT_Precipitation : public GenDT_BaseEntity
  1497. {
  1498.     inline int* nPrecipType() { return MakePointerGEN< int >( this, 0x4d0 ); }
  1499. };
  1500. struct GenDT_HandleTest : public GenDT_BaseEntity
  1501. {
  1502.     inline int* Handle() { return MakePointerGEN< int >( this, 0x4a8 ); }
  1503.     inline bool* bSendHandle() { return MakePointerGEN< bool >( this, 0x4ac ); }
  1504. };
  1505. struct GenDT_TeamRoundTimer
  1506. {
  1507.     inline bool* bTimerPaused() { return MakePointerGEN< bool >( this, 0x4a8 ); }
  1508.     inline float* flTimeRemaining() { return MakePointerGEN< float >( this, 0x4ac ); }
  1509.     inline float* flTimerEndTime() { return MakePointerGEN< float >( this, 0x4b0 ); }
  1510.     inline int* nTimerMaxLength() { return MakePointerGEN< int >( this, 0x4c0 ); }
  1511.     inline bool* bIsDisabled() { return MakePointerGEN< bool >( this, 0x4b4 ); }
  1512.     inline bool* bShowInHUD() { return MakePointerGEN< bool >( this, 0x4b5 ); }
  1513.     inline int* nTimerLength() { return MakePointerGEN< int >( this, 0x4b8 ); }
  1514.     inline int* nTimerInitialLength() { return MakePointerGEN< int >( this, 0x4bc ); }
  1515.     inline bool* bAutoCountdown() { return MakePointerGEN< bool >( this, 0x4c4 ); }
  1516.     inline int* nSetupTimeLength() { return MakePointerGEN< int >( this, 0x4c8 ); }
  1517.     inline int* nState() { return MakePointerGEN< int >( this, 0x4cc ); }
  1518.     inline bool* bStartPaused() { return MakePointerGEN< bool >( this, 0x4d0 ); }
  1519.     inline bool* bShowTimeRemaining() { return MakePointerGEN< bool >( this, 0x4d1 ); }
  1520.     inline bool* bInCaptureWatchState() { return MakePointerGEN< bool >( this, 0x4d2 ); }
  1521.     inline bool* bStopWatchTimer() { return MakePointerGEN< bool >( this, 0x4d8 ); }
  1522.     inline float* flTotalTime() { return MakePointerGEN< float >( this, 0x4d4 ); }
  1523. };
  1524. struct GenDT_Sprite : public GenDT_BaseEntity
  1525. {
  1526.     inline EHANDLE* hAttachedToEntity() { return MakePointerGEN< EHANDLE >( this, 0x4b8 ); }
  1527.     inline int* nAttachment() { return MakePointerGEN< int >( this, 0x4bc ); }
  1528.     inline float* flScaleTime() { return MakePointerGEN< float >( this, 0x4d8 ); }
  1529.     inline float* flSpriteScale() { return MakePointerGEN< float >( this, 0x4d4 ); }
  1530.     inline float* flSpriteFramerate() { return MakePointerGEN< float >( this, 0x4c0 ); }
  1531.     inline float* flGlowProxySize() { return MakePointerGEN< float >( this, 0x4e0 ); }
  1532.     inline float* flHDRColorScale() { return MakePointerGEN< float >( this, 0x4e4 ); }
  1533.     inline float* flFrame() { return MakePointerGEN< float >( this, 0x4c4 ); }
  1534.     inline float* flBrightnessTime() { return MakePointerGEN< float >( this, 0x4d0 ); }
  1535.     inline int* nBrightness() { return MakePointerGEN< int >( this, 0x4cc ); }
  1536.     inline bool* bWorldSpaceScale() { return MakePointerGEN< bool >( this, 0x4dc ); }
  1537. };
  1538. struct GenDT_SpriteTrail : public GenDT_Sprite
  1539. {
  1540.     inline float* flLifeTime() { return MakePointerGEN< float >( this, 0xb3c ); }
  1541.     inline float* flStartWidth() { return MakePointerGEN< float >( this, 0xb40 ); }
  1542.     inline float* flEndWidth() { return MakePointerGEN< float >( this, 0xb44 ); }
  1543.     inline float* flStartWidthVariance() { return MakePointerGEN< float >( this, 0xb48 ); }
  1544.     inline float* flTextureRes() { return MakePointerGEN< float >( this, 0xb4c ); }
  1545.     inline float* flMinFadeLength() { return MakePointerGEN< float >( this, 0xb50 ); }
  1546.     inline Vector* vecSkyboxOrigin() { return MakePointerGEN< Vector >( this, 0xb54 ); }
  1547.     inline float* flSkyboxScale() { return MakePointerGEN< float >( this, 0xb60 ); }
  1548. };
  1549. struct GenDT_SpriteOriented : public GenDT_Sprite
  1550. {
  1551. };
  1552. struct GenDT_Ragdoll : public GenDT_BaseAnimating
  1553. {
  1554.     inline Vector* ragAngles0() { return MakePointerGEN< Vector >( this, 0x8f8 ); }
  1555.     inline Vector* ragPos0() { return MakePointerGEN< Vector >( this, 0x7d8 ); }
  1556.     inline EHANDLE* hUnragdoll() { return MakePointerGEN< EHANDLE >( this, 0xad4 ); }
  1557.     inline float* flBlendWeight() { return MakePointerGEN< float >( this, 0xad8 ); }
  1558.     inline int* nOverlaySequence() { return MakePointerGEN< int >( this, 0xae0 ); }
  1559. }; // Fail count = 2
  1560. struct GenDT_Ragdoll_Attached : public GenDT_Ragdoll
  1561. {
  1562.     inline bool* boneIndexAttached() { return MakePointerGEN< bool >( this, 0xb10 ); }
  1563.     inline int* ragdollAttachedObjectIndex() { return MakePointerGEN< int >( this, 0xb0c ); }
  1564.     inline Vector* attachmentPointBoneSpace() { return MakePointerGEN< Vector >( this, 0xae8 ); }
  1565.     inline Vector* attachmentPointRagdollSpace() { return MakePointerGEN< Vector >( this, 0xb00 ); }
  1566. };
  1567. struct GenDT_PoseController : public GenDT_BaseEntity
  1568. {
  1569.     inline EHANDLE* hProps() { return MakePointerGEN< EHANDLE >( this, 0x4a8 ); } // Array size = 4
  1570.     inline char* chPoseIndex() { return MakePointerGEN< char >( this, 0x4b8 ); } // Array size = 4
  1571.     inline bool* bPoseValueParity() { return MakePointerGEN< bool >( this, 0x4bc ); }
  1572.     inline int* fPoseValue() { return MakePointerGEN< int >( this, 0x4c0 ); }
  1573.     inline int* fInterpolationTime() { return MakePointerGEN< int >( this, 0x4c4 ); }
  1574.     inline bool* bInterpolationWrap() { return MakePointerGEN< bool >( this, 0x4c8 ); }
  1575.     inline int* fCycleFrequency() { return MakePointerGEN< int >( this, 0x4cc ); }
  1576.     inline int* nFModType() { return MakePointerGEN< int >( this, 0x4d0 ); }
  1577.     inline int* fFModTimeOffset() { return MakePointerGEN< int >( this, 0x4d4 ); }
  1578.     inline int* fFModRate() { return MakePointerGEN< int >( this, 0x4d8 ); }
  1579.     inline int* fFModAmplitude() { return MakePointerGEN< int >( this, 0x4dc ); }
  1580. };
  1581. struct GenDT_InfoLadderDismount : public GenDT_BaseEntity
  1582. {
  1583. };
  1584. struct GenDT_FuncLadder : public GenDT_BaseEntity
  1585. {
  1586.     inline Vector* vecPlayerMountPositionTop() { return MakePointerGEN< Vector >( this, 0x4c8 ); }
  1587.     inline Vector* vecPlayerMountPositionBottom() { return MakePointerGEN< Vector >( this, 0x4d4 ); }
  1588.     inline Vector* vecLadderDir() { return MakePointerGEN< Vector >( this, 0x4a8 ); }
  1589.     inline bool* bFakeLadder() { return MakePointerGEN< bool >( this, 0x4e1 ); }
  1590. };
  1591. struct GenDT_DetailController
  1592. {
  1593.     inline float* flFadeStartDist() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1594.     inline float* flFadeEndDist() { return MakePointerGEN< float >( this, 0x4ac ); }
  1595. };
  1596. struct GenDT_World : public GenDT_BaseEntity
  1597. {
  1598.     inline float* flWaveHeight() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1599.     inline Vector* WorldMins() { return MakePointerGEN< Vector >( this, 0x4ac ); }
  1600.     inline Vector* WorldMaxs() { return MakePointerGEN< Vector >( this, 0x4b8 ); }
  1601.     inline bool* bStartDark() { return MakePointerGEN< bool >( this, 0x4c4 ); }
  1602.     inline float* flMaxOccludeeArea() { return MakePointerGEN< float >( this, 0x4c8 ); }
  1603.     inline float* flMinOccluderArea() { return MakePointerGEN< float >( this, 0x4cc ); }
  1604.     inline float* flMaxPropScreenSpaceWidth() { return MakePointerGEN< float >( this, 0x4d4 ); }
  1605.     inline float* flMinPropScreenSpaceWidth() { return MakePointerGEN< float >( this, 0x4d0 ); }
  1606.     inline int* iszDetailSpriteMaterial() { return MakePointerGEN< int >( this, 0x4d9 ); }
  1607.     inline bool* bColdWorld() { return MakePointerGEN< bool >( this, 0x4d8 ); }
  1608. };
  1609. struct GenDT_WaterLODControl : public GenDT_BaseEntity
  1610. {
  1611.     inline float* flCheapWaterStartDistance() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1612.     inline float* flCheapWaterEndDistance() { return MakePointerGEN< float >( this, 0x4ac ); }
  1613. };
  1614. struct GenDT_WaterBullet : public GenDT_BaseAnimating
  1615. {
  1616. };
  1617. struct GenDT_VGuiScreen : public GenDT_BaseEntity
  1618. {
  1619.     inline float* flWidth() { return MakePointerGEN< float >( this, 0x4b0 ); }
  1620.     inline float* flHeight() { return MakePointerGEN< float >( this, 0x4b4 ); }
  1621.     inline int* fScreenFlags() { return MakePointerGEN< int >( this, 0x4dc ); }
  1622.     inline int* nPanelName() { return MakePointerGEN< int >( this, 0x4b8 ); }
  1623.     inline int* nAttachmentIndex() { return MakePointerGEN< int >( this, 0x4d4 ); }
  1624.     inline int* nOverlayMaterial() { return MakePointerGEN< int >( this, 0x4d8 ); }
  1625.     inline EHANDLE* hPlayerOwner() { return MakePointerGEN< EHANDLE >( this, 0x538 ); }
  1626. };
  1627. struct GenDT_PropJeep : public GenDT_PropVehicleDriveable
  1628. {
  1629.     inline bool* bHeadlightIsOn() { return MakePointerGEN< bool >( this, 0x924 ); }
  1630. };
  1631. struct GenDT_PropVehicleChoreoGeneric : public GenDT_DynamicProp
  1632. {
  1633.     inline EHANDLE* hPlayer() { return MakePointerGEN< EHANDLE >( this, 0x7fc ); }
  1634.     inline bool* bEnterAnimOn() { return MakePointerGEN< bool >( this, 0x804 ); }
  1635.     inline bool* bExitAnimOn() { return MakePointerGEN< bool >( this, 0x805 ); }
  1636.     inline Vector* vecEyeExitEndpoint() { return MakePointerGEN< Vector >( this, 0x808 ); }
  1637.     inline int* vehicleView_bClampEyeAngles() { return MakePointerGEN< int >( this, 0x894 ); }
  1638.     inline float* vehicleView_flPitchCurveZero() { return MakePointerGEN< float >( this, 0x898 ); }
  1639.     inline float* vehicleView_flPitchCurveLinear() { return MakePointerGEN< float >( this, 0x89c ); }
  1640.     inline float* vehicleView_flRollCurveZero() { return MakePointerGEN< float >( this, 0x8a0 ); }
  1641.     inline float* vehicleView_flRollCurveLinear() { return MakePointerGEN< float >( this, 0x8a4 ); }
  1642.     inline float* vehicleView_flFOV() { return MakePointerGEN< float >( this, 0x8a8 ); }
  1643.     inline float* vehicleView_flYawMin() { return MakePointerGEN< float >( this, 0x8ac ); }
  1644.     inline float* vehicleView_flYawMax() { return MakePointerGEN< float >( this, 0x8b0 ); }
  1645.     inline float* vehicleView_flPitchMin() { return MakePointerGEN< float >( this, 0x8b4 ); }
  1646.     inline float* vehicleView_flPitchMax() { return MakePointerGEN< float >( this, 0x8b8 ); }
  1647. };
  1648. struct GenDT_ProxyToggle : public GenDT_BaseEntity
  1649. {
  1650.     struct CProxyToggle_ProxiedData
  1651.     {
  1652.         inline int* WithProxy() { return MakePointerGEN< int >( this, 0x4a8 ); }
  1653.     };
  1654.     inline CProxyToggle_ProxiedData* blah() { return MakePointerGEN< CProxyToggle_ProxiedData >( this, 0x0 ); }
  1655. };
  1656. struct GenDT_Tesla : public GenDT_BaseEntity
  1657. {
  1658.     inline int* iszSpriteName() { return MakePointerGEN< int >( this, 0x50c ); }
  1659. }; // Fail count = 1
  1660. struct GenDT_TeamTrainWatcher : public GenDT_BaseEntity
  1661. {
  1662.     inline float* flTotalProgress() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1663.     inline int* iTrainSpeedLevel() { return MakePointerGEN< int >( this, 0x4b0 ); }
  1664.     inline float* flRecedeTime() { return MakePointerGEN< float >( this, 0x4b8 ); }
  1665.     inline int* nNumCappers() { return MakePointerGEN< int >( this, 0x4c0 ); }
  1666. };
  1667. struct GenDT_Sun
  1668. {
  1669.     inline int* clrRender() { return MakePointerGEN< int >( this, 0x58 ); }
  1670.     inline int* clrOverlay() { return MakePointerGEN< int >( this, 0x5f8 ); }
  1671.     inline Vector* vDirection() { return MakePointerGEN< Vector >( this, 0x604 ); }
  1672.     inline bool* bOn() { return MakePointerGEN< bool >( this, 0x610 ); }
  1673.     inline int* nSize() { return MakePointerGEN< int >( this, 0x5fc ); }
  1674.     inline int* nOverlaySize() { return MakePointerGEN< int >( this, 0x600 ); }
  1675.     inline int* nMaterial() { return MakePointerGEN< int >( this, 0x614 ); }
  1676.     inline int* nOverlayMaterial() { return MakePointerGEN< int >( this, 0x618 ); }
  1677.     inline float* HDRColorScale() { return MakePointerGEN< float >( this, 0x0 ); }
  1678. };
  1679. struct GenDT_ParticlePerformanceMonitor : public GenDT_BaseEntity
  1680. {
  1681.     inline bool* bMeasurePerf() { return MakePointerGEN< bool >( this, 0x4a9 ); }
  1682.     inline bool* bDisplayPerf() { return MakePointerGEN< bool >( this, 0x4a8 ); }
  1683. };
  1684. struct GenDT_SpotlightEnd : public GenDT_BaseEntity
  1685. {
  1686.     inline float* flLightScale() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1687.     inline float* Radius() { return MakePointerGEN< float >( this, 0x4ac ); }
  1688. };
  1689. struct GenDT_SlideshowDisplay : public GenDT_BaseEntity
  1690. {
  1691.     inline bool* bEnabled() { return MakePointerGEN< bool >( this, 0x4a8 ); }
  1692.     inline char** szDisplayText() { return MakePointerGEN< char* >( this, 0x4a9 ); }
  1693.     inline char** szSlideshowDirectory() { return MakePointerGEN< char* >( this, 0x529 ); }
  1694.     inline char* chCurrentSlideLists() { return MakePointerGEN< char >( this, 0x5c0 ); } // Array size = 16
  1695.     inline int* fMinSlideTime() { return MakePointerGEN< int >( this, 0x5d8 ); }
  1696.     inline int* fMaxSlideTime() { return MakePointerGEN< int >( this, 0x5dc ); }
  1697.     inline int* iCycleType() { return MakePointerGEN< int >( this, 0x5e4 ); }
  1698.     inline bool* bNoListRepeats() { return MakePointerGEN< bool >( this, 0x5e8 ); }
  1699. };
  1700. struct GenDT_ShadowControl : public GenDT_BaseEntity
  1701. {
  1702.     inline Vector* shadowDirection() { return MakePointerGEN< Vector >( this, 0x4a8 ); }
  1703.     inline int* shadowColor() { return MakePointerGEN< int >( this, 0x4b4 ); }
  1704.     inline float* flShadowMaxDist() { return MakePointerGEN< float >( this, 0x4b8 ); }
  1705.     inline bool* bDisableShadows() { return MakePointerGEN< bool >( this, 0x4bc ); }
  1706. };
  1707. struct GenDT_SceneEntity : public GenDT_BaseEntity
  1708. {
  1709.     inline int* nSceneStringIndex() { return MakePointerGEN< int >( this, 0x4b8 ); }
  1710.     inline bool* bIsPlayingBack() { return MakePointerGEN< bool >( this, 0x4ac ); }
  1711.     inline bool* bPaused() { return MakePointerGEN< bool >( this, 0x4ad ); }
  1712.     inline bool* bMultiplayer() { return MakePointerGEN< bool >( this, 0x4ae ); }
  1713.     inline float* flForceClientTime() { return MakePointerGEN< float >( this, 0x4b4 ); }
  1714.     inline EHANDLE* hActorList() { return MakePointerGEN< EHANDLE >( this, 0x0 ); } // Array size = 17
  1715. };
  1716. struct GenDT_RopeKeyframe
  1717. {
  1718.     inline int* iRopeMaterialModelIndex() { return MakePointerGEN< int >( this, 0x4e4 ); }
  1719.     inline EHANDLE* hStartPoint() { return MakePointerGEN< EHANDLE >( this, 0x774 ); }
  1720.     inline EHANDLE* hEndPoint() { return MakePointerGEN< EHANDLE >( this, 0x778 ); }
  1721.     inline int* iStartAttachment() { return MakePointerGEN< int >( this, 0x77c ); }
  1722.     inline int* iEndAttachment() { return MakePointerGEN< int >( this, 0x77e ); }
  1723.     inline int* fLockedPoints() { return MakePointerGEN< int >( this, 0x790 ); }
  1724.     inline int* Slack() { return MakePointerGEN< int >( this, 0x788 ); }
  1725.     inline int* RopeLength() { return MakePointerGEN< int >( this, 0x784 ); }
  1726.     inline int* RopeFlags() { return MakePointerGEN< int >( this, 0x4e0 ); }
  1727.     inline float* TextureScale() { return MakePointerGEN< float >( this, 0x78c ); }
  1728.     inline int* nSegments() { return MakePointerGEN< int >( this, 0x770 ); }
  1729.     inline bool* bConstrainBetweenEndpoints() { return MakePointerGEN< bool >( this, 0x818 ); }
  1730.     inline int* Subdiv() { return MakePointerGEN< int >( this, 0x780 ); }
  1731.     inline float* Width() { return MakePointerGEN< float >( this, 0x794 ); }
  1732.     inline float* flScrollSpeed() { return MakePointerGEN< float >( this, 0x4dc ); }
  1733.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x2c8 ); }
  1734.     inline int* moveparent() { return MakePointerGEN< int >( this, 0x158 ); }
  1735.     inline int* iParentAttachment() { return MakePointerGEN< int >( this, 0x142 ); }
  1736. };
  1737. struct GenDT_RagdollManager
  1738. {
  1739.     inline int* iCurrentMaxRagdollCount() { return MakePointerGEN< int >( this, 0x4a8 ); }
  1740. };
  1741. struct GenDT_PhysicsProp : public GenDT_BreakableProp
  1742. {
  1743.     inline bool* bAwake() { return MakePointerGEN< bool >( this, 0x7d8 ); }
  1744. };
  1745. struct GenDT_PhysicsPropMultiplayer : public GenDT_PhysicsProp
  1746. {
  1747.     inline int* iPhysicsMode() { return MakePointerGEN< int >( this, 0x7e4 ); }
  1748.     inline int* fMass() { return MakePointerGEN< int >( this, 0x7e8 ); }
  1749.     inline Vector* collisionMins() { return MakePointerGEN< Vector >( this, 0x7ec ); }
  1750.     inline Vector* collisionMaxs() { return MakePointerGEN< Vector >( this, 0x7f8 ); }
  1751. };
  1752. struct GenDT_PhysBox : public GenDT_BaseEntity
  1753. {
  1754.     inline float* mass() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1755. };
  1756. struct GenDT_PhysBoxMultiplayer : public GenDT_PhysBox
  1757. {
  1758.     inline int* iPhysicsMode() { return MakePointerGEN< int >( this, 0x4b4 ); }
  1759.     inline int* fMass() { return MakePointerGEN< int >( this, 0x4b8 ); }
  1760. };
  1761. struct GenDT_BasePropDoor : public GenDT_DynamicProp
  1762. {
  1763. };
  1764. struct GenDT_PointCommentaryNode : public GenDT_BaseAnimating
  1765. {
  1766.     inline bool* bActive() { return MakePointerGEN< bool >( this, 0x7d8 ); }
  1767.     inline float* flStartTime() { return MakePointerGEN< float >( this, 0x7dc ); }
  1768.     inline int* iszCommentaryFile() { return MakePointerGEN< int >( this, 0x7e0 ); }
  1769.     inline int* iszCommentaryFileNoHDR() { return MakePointerGEN< int >( this, 0x8e4 ); }
  1770.     inline int* iszSpeakers() { return MakePointerGEN< int >( this, 0x9e8 ); }
  1771.     inline int* iNodeNumber() { return MakePointerGEN< int >( this, 0xae8 ); }
  1772.     inline int* iNodeNumberMax() { return MakePointerGEN< int >( this, 0xaec ); }
  1773.     inline EHANDLE* hViewPosition() { return MakePointerGEN< EHANDLE >( this, 0xaf4 ); }
  1774. };
  1775. struct GenDT_PointCamera : public GenDT_BaseEntity
  1776. {
  1777.     inline float* FOV() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1778.     inline float* Resolution() { return MakePointerGEN< float >( this, 0x4ac ); }
  1779.     inline bool* bFogEnable() { return MakePointerGEN< bool >( this, 0x4b0 ); }
  1780.     inline int* FogColor() { return MakePointerGEN< int >( this, 0x4b1 ); }
  1781.     inline float* flFogStart() { return MakePointerGEN< float >( this, 0x4b8 ); }
  1782.     inline float* flFogEnd() { return MakePointerGEN< float >( this, 0x4bc ); }
  1783.     inline float* flFogMaxDensity() { return MakePointerGEN< float >( this, 0x4c0 ); }
  1784.     inline bool* bActive() { return MakePointerGEN< bool >( this, 0x4c4 ); }
  1785.     inline bool* bUseScreenAspectRatio() { return MakePointerGEN< bool >( this, 0x4c5 ); }
  1786. };
  1787. struct GenDT_Plasma : public GenDT_BaseEntity
  1788. {
  1789.     inline float* flStartScale() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1790.     inline float* flScale() { return MakePointerGEN< float >( this, 0x4ac ); }
  1791.     inline float* flScaleTime() { return MakePointerGEN< float >( this, 0x4b0 ); }
  1792.     inline int* nFlags() { return MakePointerGEN< int >( this, 0x4b4 ); }
  1793.     inline int* nPlasmaModelIndex() { return MakePointerGEN< int >( this, 0x4b8 ); }
  1794.     inline int* nPlasmaModelIndex2() { return MakePointerGEN< int >( this, 0x4bc ); }
  1795.     inline int* nGlowModelIndex() { return MakePointerGEN< int >( this, 0x4c0 ); }
  1796. };
  1797. struct GenDT_PhysMagnet : public GenDT_BaseAnimating
  1798. {
  1799. };
  1800. struct GenDT_ParticleSystem
  1801. {
  1802.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x2c8 ); }
  1803.     inline EHANDLE* hOwnerEntity() { return MakePointerGEN< EHANDLE >( this, 0x468 ); }
  1804.     inline int* moveparent() { return MakePointerGEN< int >( this, 0x158 ); }
  1805.     inline int* iParentAttachment() { return MakePointerGEN< int >( this, 0x142 ); }
  1806.     inline QAngle* angRotation() { return MakePointerGEN< QAngle >( this, 0x2d4 ); }
  1807.     inline int* iEffectIndex() { return MakePointerGEN< int >( this, 0x4a8 ); }
  1808.     inline bool* bActive() { return MakePointerGEN< bool >( this, 0x4ac ); }
  1809.     inline float* flStartTime() { return MakePointerGEN< float >( this, 0x4b0 ); }
  1810.     inline EHANDLE* hControlPointEnts() { return MakePointerGEN< EHANDLE >( this, 0x4b4 ); } // Array size = 63
  1811.     inline int* iControlPointParents() { return MakePointerGEN< int >( this, 0x5b0 ); } // Array size = 63
  1812.     inline bool* bWeatherEffect() { return MakePointerGEN< bool >( this, 0x5ef ); }
  1813. };
  1814. struct GenDT_MaterialModifyControl : public GenDT_BaseEntity
  1815. {
  1816.     inline char** szMaterialName() { return MakePointerGEN< char* >( this, 0x4a8 ); }
  1817.     inline char** szMaterialVar() { return MakePointerGEN< char* >( this, 0x5a7 ); }
  1818.     inline char** szMaterialVarValue() { return MakePointerGEN< char* >( this, 0x6a6 ); }
  1819.     inline int* iFrameStart() { return MakePointerGEN< int >( this, 0x7b0 ); }
  1820.     inline int* iFrameEnd() { return MakePointerGEN< int >( this, 0x7b4 ); }
  1821.     inline bool* bWrap() { return MakePointerGEN< bool >( this, 0x7b8 ); }
  1822.     inline float* flFramerate() { return MakePointerGEN< float >( this, 0x7bc ); }
  1823.     inline bool* bNewAnimCommandsSemaphore() { return MakePointerGEN< bool >( this, 0x7c0 ); }
  1824.     inline float* flFloatLerpStartValue() { return MakePointerGEN< float >( this, 0x7c4 ); }
  1825.     inline float* flFloatLerpEndValue() { return MakePointerGEN< float >( this, 0x7c8 ); }
  1826.     inline float* flFloatLerpTransitionTime() { return MakePointerGEN< float >( this, 0x7cc ); }
  1827.     inline bool* bFloatLerpWrap() { return MakePointerGEN< bool >( this, 0x7d0 ); }
  1828.     inline int* nModifyMode() { return MakePointerGEN< int >( this, 0x7d8 ); }
  1829. };
  1830. struct GenDT_LightGlow
  1831. {
  1832.     inline int* clrRender() { return MakePointerGEN< int >( this, 0x58 ); }
  1833.     inline int* nHorizontalSize() { return MakePointerGEN< int >( this, 0x4a8 ); }
  1834.     inline int* nVerticalSize() { return MakePointerGEN< int >( this, 0x4ac ); }
  1835.     inline int* nMinDist() { return MakePointerGEN< int >( this, 0x4b0 ); }
  1836.     inline int* nMaxDist() { return MakePointerGEN< int >( this, 0x4b4 ); }
  1837.     inline int* nOuterMaxDist() { return MakePointerGEN< int >( this, 0x4b8 ); }
  1838.     inline int* spawnflags() { return MakePointerGEN< int >( this, 0x4bc ); }
  1839.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x2c8 ); }
  1840.     inline QAngle* angRotation() { return MakePointerGEN< QAngle >( this, 0x2d4 ); }
  1841.     inline int* moveparent() { return MakePointerGEN< int >( this, 0x158 ); }
  1842.     inline float* flGlowProxySize() { return MakePointerGEN< float >( this, 0x58c ); }
  1843.     inline float* HDRColorScale() { return MakePointerGEN< float >( this, 0x0 ); }
  1844. };
  1845. struct GenDT_InfoOverlayAccessor
  1846. {
  1847.     inline int* iTextureFrameIndex() { return MakePointerGEN< int >( this, 0x45c ); }
  1848.     inline int* iOverlayID() { return MakePointerGEN< int >( this, 0x4a8 ); }
  1849. };
  1850. struct GenDT_FuncTrackTrain : public GenDT_BaseEntity
  1851. {
  1852. };
  1853. struct GenDT_FuncSmokeVolume : public GenDT_BaseParticleEntity
  1854. {
  1855.     inline int* Color1() { return MakePointerGEN< int >( this, 0x594 ); }
  1856.     inline int* Color2() { return MakePointerGEN< int >( this, 0x598 ); }
  1857.     inline float* ParticleDrawWidth() { return MakePointerGEN< float >( this, 0x69c ); }
  1858.     inline float* ParticleSpacingDistance() { return MakePointerGEN< float >( this, 0x6a0 ); }
  1859.     inline float* DensityRampSpeed() { return MakePointerGEN< float >( this, 0x6a4 ); }
  1860.     inline float* RotationSpeed() { return MakePointerGEN< float >( this, 0x6a8 ); }
  1861.     inline float* MovementSpeed() { return MakePointerGEN< float >( this, 0x6ac ); }
  1862.     inline float* Density() { return MakePointerGEN< float >( this, 0x6b0 ); }
  1863.     inline int* spawnflags() { return MakePointerGEN< int >( this, 0x6b4 ); }
  1864.     inline CCollisionProperty* Collision() { return MakePointerGEN< CCollisionProperty >( this, 0x164 ); }
  1865. }; // Fail count = 1
  1866. struct GenDT_FuncRotating : public GenDT_BaseEntity
  1867. {
  1868.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x2c8 ); }
  1869.     inline QAngle* angRotation0() { return MakePointerGEN< QAngle >( this, 0x2d4 ); }
  1870.     inline QAngle* angRotation1() { return MakePointerGEN< QAngle >( this, 0x2d8 ); }
  1871.     inline QAngle* angRotation2() { return MakePointerGEN< QAngle >( this, 0x2dc ); }
  1872.     inline float* flSimulationTime() { return MakePointerGEN< float >( this, 0x68 ); }
  1873. };
  1874. struct GenDT_FuncReflectiveGlass : public GenDT_BaseEntity
  1875. {
  1876. };
  1877. struct GenDT_FuncOccluder : public GenDT_BaseEntity
  1878. {
  1879.     inline bool* bActive() { return MakePointerGEN< bool >( this, 0x4ac ); }
  1880.     inline int* nOccluderIndex() { return MakePointerGEN< int >( this, 0x4a8 ); }
  1881. };
  1882. struct GenDT_FuncMonitor : public GenDT_BaseEntity
  1883. {
  1884. };
  1885. struct GenDT_Func_LOD : public GenDT_BaseEntity
  1886. {
  1887.     inline int* fDisappearDist() { return MakePointerGEN< int >( this, 0x4a8 ); }
  1888. };
  1889. struct GenDT_TEDust : public GenDT_TEParticleSystem
  1890. {
  1891.     inline float* flSize() { return MakePointerGEN< float >( this, 0x1c ); }
  1892.     inline float* flSpeed() { return MakePointerGEN< float >( this, 0x20 ); }
  1893.     inline Vector* vecDirection() { return MakePointerGEN< Vector >( this, 0x24 ); }
  1894. };
  1895. struct GenDT_Func_Dust
  1896. {
  1897.     struct CCollisionProperty
  1898.     {
  1899.         inline Vector* vecMins() { return MakePointerGEN< Vector >( this, 0x8 ); }
  1900.         inline Vector* vecMaxs() { return MakePointerGEN< Vector >( this, 0x14 ); }
  1901.         inline int* nSolidType() { return MakePointerGEN< int >( this, 0x29 ); }
  1902.         inline int* usSolidFlags() { return MakePointerGEN< int >( this, 0x24 ); }
  1903.         inline int* nSurroundType() { return MakePointerGEN< int >( this, 0x28 ); }
  1904.         inline int* triggerBloat() { return MakePointerGEN< int >( this, 0x2a ); }
  1905.         inline Vector* vecSpecifiedSurroundingMins() { return MakePointerGEN< Vector >( this, 0x2c ); }
  1906.         inline Vector* vecSpecifiedSurroundingMaxs() { return MakePointerGEN< Vector >( this, 0x38 ); }
  1907.     };
  1908.     inline int* Color() { return MakePointerGEN< int >( this, 0x4a8 ); }
  1909.     inline int* SpawnRate() { return MakePointerGEN< int >( this, 0x4ac ); }
  1910.     inline float* flSizeMin() { return MakePointerGEN< float >( this, 0x4b0 ); }
  1911.     inline float* flSizeMax() { return MakePointerGEN< float >( this, 0x4b4 ); }
  1912.     inline int* LifetimeMin() { return MakePointerGEN< int >( this, 0x4bc ); }
  1913.     inline int* LifetimeMax() { return MakePointerGEN< int >( this, 0x4c0 ); }
  1914.     inline int* DustFlags() { return MakePointerGEN< int >( this, 0x4cc ); }
  1915.     inline int* SpeedMax() { return MakePointerGEN< int >( this, 0x4b8 ); }
  1916.     inline int* DistMax() { return MakePointerGEN< int >( this, 0x4c4 ); }
  1917.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x88 ); }
  1918.     inline float* FallSpeed() { return MakePointerGEN< float >( this, 0x4c8 ); }
  1919.     inline CCollisionProperty* Collision() { return MakePointerGEN< CCollisionProperty >( this, 0x164 ); }
  1920. };
  1921. struct GenDT_FuncConveyor : public GenDT_BaseEntity
  1922. {
  1923.     inline float* flConveyorSpeed() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1924. };
  1925. struct GenDT_BreakableSurface : public GenDT_BaseEntity
  1926. {
  1927.     inline int* nNumWide() { return MakePointerGEN< int >( this, 0x4ac ); }
  1928.     inline int* nNumHigh() { return MakePointerGEN< int >( this, 0x4b0 ); }
  1929.     inline float* flPanelWidth() { return MakePointerGEN< float >( this, 0x4b4 ); }
  1930.     inline float* flPanelHeight() { return MakePointerGEN< float >( this, 0x4b8 ); }
  1931.     inline Vector* vNormal() { return MakePointerGEN< Vector >( this, 0x4bc ); }
  1932.     inline Vector* vCorner() { return MakePointerGEN< Vector >( this, 0x4c8 ); }
  1933.     inline bool* bIsBroken() { return MakePointerGEN< bool >( this, 0x4d4 ); }
  1934.     inline int* nSurfaceType() { return MakePointerGEN< int >( this, 0x4d8 ); }
  1935. }; // Fail count = 1
  1936. struct GenDT_FuncAreaPortalWindow : public GenDT_BaseEntity
  1937. {
  1938.     inline float* flFadeStartDist() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1939.     inline float* flFadeDist() { return MakePointerGEN< float >( this, 0x4ac ); }
  1940.     inline float* flTranslucencyLimit() { return MakePointerGEN< float >( this, 0x4b0 ); }
  1941.     inline int* iBackgroundModelIndex() { return MakePointerGEN< int >( this, 0x4b4 ); }
  1942. };
  1943. struct GenDT_CFish
  1944. {
  1945.     inline Vector* poolOrigin() { return MakePointerGEN< Vector >( this, 0x834 ); }
  1946.     inline float* x() { return MakePointerGEN< float >( this, 0x81c ); }
  1947.     inline float* y() { return MakePointerGEN< float >( this, 0x820 ); }
  1948.     inline float* z() { return MakePointerGEN< float >( this, 0x824 ); }
  1949.     inline QAngle* angle() { return MakePointerGEN< QAngle >( this, 0x82c ); }
  1950.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x88 ); }
  1951.     inline int* lifeState() { return MakePointerGEN< int >( this, 0x8b ); }
  1952.     inline float* waterLevel() { return MakePointerGEN< float >( this, 0x840 ); }
  1953. };
  1954. struct GenDT_EntityFlame : public GenDT_BaseEntity
  1955. {
  1956.     inline EHANDLE* hEntAttached() { return MakePointerGEN< EHANDLE >( this, 0x4ac ); }
  1957. };
  1958. struct GenDT_FireSmoke : public GenDT_BaseEntity
  1959. {
  1960.     inline float* flStartScale() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1961.     inline float* flScale() { return MakePointerGEN< float >( this, 0x4ac ); }
  1962.     inline float* flScaleTime() { return MakePointerGEN< float >( this, 0x4b0 ); }
  1963.     inline int* nFlags() { return MakePointerGEN< int >( this, 0x4b4 ); }
  1964.     inline int* nFlameModelIndex() { return MakePointerGEN< int >( this, 0x4b8 ); }
  1965.     inline int* nFlameFromAboveModelIndex() { return MakePointerGEN< int >( this, 0x4bc ); }
  1966. };
  1967. struct GenDT_EnvTonemapController : public GenDT_BaseEntity
  1968. {
  1969.     inline bool* bUseCustomAutoExposureMin() { return MakePointerGEN< bool >( this, 0x4a8 ); }
  1970.     inline bool* bUseCustomAutoExposureMax() { return MakePointerGEN< bool >( this, 0x4a9 ); }
  1971.     inline bool* bUseCustomBloomScale() { return MakePointerGEN< bool >( this, 0x4aa ); }
  1972.     inline float* flCustomAutoExposureMin() { return MakePointerGEN< float >( this, 0x4ac ); }
  1973.     inline float* flCustomAutoExposureMax() { return MakePointerGEN< float >( this, 0x4b0 ); }
  1974.     inline float* flCustomBloomScale() { return MakePointerGEN< float >( this, 0x4b4 ); }
  1975.     inline float* flCustomBloomScaleMinimum() { return MakePointerGEN< float >( this, 0x4b8 ); }
  1976. };
  1977. struct GenDT_EnvScreenEffect : public GenDT_BaseEntity
  1978. {
  1979.     inline float* flDuration() { return MakePointerGEN< float >( this, 0x4a8 ); }
  1980.     inline int* nType() { return MakePointerGEN< int >( this, 0x4ac ); }
  1981. };
  1982. struct GenDT_EnvScreenOverlay : public GenDT_BaseEntity
  1983. {
  1984.     inline int* iszOverlayNames0() { return MakePointerGEN< int >( this, 0x4a8 ); }
  1985.     inline int* iszOverlayNames() { return MakePointerGEN< int >( this, 0x0 ); } // Array size = 10
  1986.     inline float* flOverlayTimes0() { return MakePointerGEN< float >( this, 0xea0 ); }
  1987.     inline float* flOverlayTimes() { return MakePointerGEN< float >( this, 0x0 ); } // Array size = 10
  1988.     inline float* flStartTime() { return MakePointerGEN< float >( this, 0xec8 ); }
  1989.     inline int* iDesiredOverlay() { return MakePointerGEN< int >( this, 0xecc ); }
  1990.     inline bool* bIsActive() { return MakePointerGEN< bool >( this, 0xed0 ); }
  1991. };
  1992. struct GenDT_EnvProjectedTexture : public GenDT_BaseEntity
  1993. {
  1994.     inline EHANDLE* hTargetEntity() { return MakePointerGEN< EHANDLE >( this, 0x4ac ); }
  1995.     inline bool* bState() { return MakePointerGEN< bool >( this, 0x4b0 ); }
  1996.     inline float* flLightFOV() { return MakePointerGEN< float >( this, 0x4b4 ); }
  1997.     inline bool* bEnableShadows() { return MakePointerGEN< bool >( this, 0x4b8 ); }
  1998.     inline bool* bLightOnlyTarget() { return MakePointerGEN< bool >( this, 0x4b9 ); }
  1999.     inline bool* bLightWorld() { return MakePointerGEN< bool >( this, 0x4ba ); }
  2000.     inline bool* bCameraSpace() { return MakePointerGEN< bool >( this, 0x4bb ); }
  2001.     inline Vector* LinearFloatLightColor() { return MakePointerGEN< Vector >( this, 0x4bc ); }
  2002.     inline float* flAmbient() { return MakePointerGEN< float >( this, 0x4c8 ); }
  2003.     inline int* nSpotlightTextureFrame() { return MakePointerGEN< int >( this, 0x5d8 ); }
  2004.     inline float* flNearZ() { return MakePointerGEN< float >( this, 0x4cc ); }
  2005.     inline float* flFarZ() { return MakePointerGEN< float >( this, 0x4d0 ); }
  2006.     inline int* nShadowQuality() { return MakePointerGEN< int >( this, 0x5dc ); }
  2007. }; // Fail count = 1
  2008. struct GenDT_EnvParticleScript : public GenDT_BaseAnimating
  2009. {
  2010.     inline float* flSequenceScale() { return MakePointerGEN< float >( this, 0x8bc ); }
  2011. };
  2012. struct GenDT_FogController
  2013. {
  2014.     inline int* fog_enable() { return MakePointerGEN< int >( this, 0x4e8 ); }
  2015.     inline int* fog_blend() { return MakePointerGEN< int >( this, 0x4e9 ); }
  2016.     inline int* fog_dirPrimary() { return MakePointerGEN< int >( this, 0x4ac ); }
  2017.     inline int* fog_colorPrimary() { return MakePointerGEN< int >( this, 0x4b8 ); }
  2018.     inline int* fog_colorSecondary() { return MakePointerGEN< int >( this, 0x4bc ); }
  2019.     inline int* fog_start() { return MakePointerGEN< int >( this, 0x4c8 ); }
  2020.     inline int* fog_end() { return MakePointerGEN< int >( this, 0x4cc ); }
  2021.     inline int* fog_farz() { return MakePointerGEN< int >( this, 0x4d0 ); }
  2022.     inline int* fog_maxdensity() { return MakePointerGEN< int >( this, 0x4d4 ); }
  2023.     inline int* fog_colorPrimaryLerpTo() { return MakePointerGEN< int >( this, 0x4c0 ); }
  2024.     inline int* fog_colorSecondaryLerpTo() { return MakePointerGEN< int >( this, 0x4c4 ); }
  2025.     inline int* fog_startLerpTo() { return MakePointerGEN< int >( this, 0x4d8 ); }
  2026.     inline int* fog_endLerpTo() { return MakePointerGEN< int >( this, 0x4dc ); }
  2027.     inline int* fog_lerptime() { return MakePointerGEN< int >( this, 0x4e0 ); }
  2028.     inline int* fog_duration() { return MakePointerGEN< int >( this, 0x4e4 ); }
  2029. };
  2030. struct GenDT_EntityParticleTrail : public GenDT_BaseParticleEntity
  2031. {
  2032.     struct CEntityParticleTrailInfo
  2033.     {
  2034.         inline float* flLifetime() { return MakePointerGEN< float >( this, 0x8 ); }
  2035.         inline float* flStartSize() { return MakePointerGEN< float >( this, 0xc ); }
  2036.         inline float* flEndSize() { return MakePointerGEN< float >( this, 0x10 ); }
  2037.     };
  2038.     inline int* iMaterialName() { return MakePointerGEN< int >( this, 0x590 ); }
  2039.     inline CEntityParticleTrailInfo* Info() { return MakePointerGEN< CEntityParticleTrailInfo >( this, 0x594 ); }
  2040.     inline EHANDLE* hConstraintEntity() { return MakePointerGEN< EHANDLE >( this, 0x5a8 ); }
  2041. };
  2042. struct GenDT_EntityDissolve : public GenDT_BaseEntity
  2043. {
  2044.     inline float* flStartTime() { return MakePointerGEN< float >( this, 0x4ac ); }
  2045.     inline float* flFadeOutStart() { return MakePointerGEN< float >( this, 0x4b0 ); }
  2046.     inline float* flFadeOutLength() { return MakePointerGEN< float >( this, 0x4b4 ); }
  2047.     inline float* flFadeOutModelStart() { return MakePointerGEN< float >( this, 0x4b8 ); }
  2048.     inline float* flFadeOutModelLength() { return MakePointerGEN< float >( this, 0x4bc ); }
  2049.     inline float* flFadeInStart() { return MakePointerGEN< float >( this, 0x4c0 ); }
  2050.     inline float* flFadeInLength() { return MakePointerGEN< float >( this, 0x4c4 ); }
  2051.     inline int* nDissolveType() { return MakePointerGEN< int >( this, 0x4c8 ); }
  2052.     inline Vector* vDissolverOrigin() { return MakePointerGEN< Vector >( this, 0x4d0 ); }
  2053.     inline int* nMagnitude() { return MakePointerGEN< int >( this, 0x4dc ); }
  2054. };
  2055. struct GenDT_DynamicLight : public GenDT_BaseEntity
  2056. {
  2057.     inline int* Flags() { return MakePointerGEN< int >( this, 0x4a8 ); }
  2058.     inline int* LightStyle() { return MakePointerGEN< int >( this, 0x4a9 ); }
  2059.     inline float* Radius() { return MakePointerGEN< float >( this, 0x4ac ); }
  2060.     inline int* Exponent() { return MakePointerGEN< int >( this, 0x4b0 ); }
  2061.     inline float* InnerAngle() { return MakePointerGEN< float >( this, 0x4b4 ); }
  2062.     inline float* OuterAngle() { return MakePointerGEN< float >( this, 0x4b8 ); }
  2063.     inline float* SpotRadius() { return MakePointerGEN< float >( this, 0x4bc ); }
  2064. };
  2065. struct GenDT_ColorCorrectionVolume : public GenDT_BaseEntity
  2066. {
  2067.     inline float* Weight() { return MakePointerGEN< float >( this, 0x4a8 ); }
  2068. }; // Fail count = 1
  2069. struct GenDT_ColorCorrection : public GenDT_BaseEntity
  2070. {
  2071.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x4a8 ); }
  2072.     inline float* minFalloff() { return MakePointerGEN< float >( this, 0x4b4 ); }
  2073.     inline float* maxFalloff() { return MakePointerGEN< float >( this, 0x4b8 ); }
  2074.     inline float* flCurWeight() { return MakePointerGEN< float >( this, 0x4bc ); }
  2075.     inline int* netLookupFilename() { return MakePointerGEN< int >( this, 0x4c0 ); }
  2076.     inline bool* bEnabled() { return MakePointerGEN< bool >( this, 0x5c4 ); }
  2077. };
  2078. struct GenDT_BaseDoor : public GenDT_BaseEntity
  2079. {
  2080.     inline float* flWaveHeight() { return MakePointerGEN< float >( this, 0x4a8 ); }
  2081. };
  2082. struct GenDT_BoneFollower : public GenDT_BaseEntity
  2083. {
  2084.     inline int* modelIndex() { return MakePointerGEN< int >( this, 0x4a8 ); }
  2085.     inline int* solidIndex() { return MakePointerGEN< int >( this, 0x4ac ); }
  2086. };
  2087. struct GenDT_InfoLightingRelative : public GenDT_BaseEntity
  2088. {
  2089.     inline EHANDLE* hLightingLandmark() { return MakePointerGEN< EHANDLE >( this, 0x4a8 ); }
  2090. };
  2091. struct GenDT_AI_BaseNPC : public GenDT_BaseCombatCharacter
  2092. {
  2093.     inline int* lifeState() { return MakePointerGEN< int >( this, 0x8b ); }
  2094.     inline bool* bPerformAvoidance() { return MakePointerGEN< bool >( this, 0xcec ); }
  2095.     inline bool* bIsMoving() { return MakePointerGEN< bool >( this, 0xced ); }
  2096.     inline bool* bFadeCorpse() { return MakePointerGEN< bool >( this, 0xcee ); }
  2097.     inline int* iDeathPose() { return MakePointerGEN< int >( this, 0xcdc ); }
  2098.     inline int* iDeathFrame() { return MakePointerGEN< int >( this, 0xce0 ); }
  2099.     inline int* iSpeedModRadius() { return MakePointerGEN< int >( this, 0xce4 ); }
  2100.     inline int* iSpeedModSpeed() { return MakePointerGEN< int >( this, 0xce8 ); }
  2101.     inline bool* bSpeedModActive() { return MakePointerGEN< bool >( this, 0xcef ); }
  2102.     inline bool* bImportanRagdoll() { return MakePointerGEN< bool >( this, 0xcf0 ); }
  2103.     inline float* flTimePingEffect() { return MakePointerGEN< float >( this, 0xcd8 ); }
  2104. };
  2105. struct GenDT_Beam
  2106. {
  2107.     struct CBeamPredictableId
  2108.     {
  2109.         inline int* PredictableID() { return MakePointerGEN< int >( this, 0x98 ); }
  2110.         inline bool* bIsPlayerSimulated() { return MakePointerGEN< bool >( this, 0x458 ); }
  2111.     };
  2112.     inline int* nBeamType() { return MakePointerGEN< int >( this, 0x4c4 ); }
  2113.     inline int* nBeamFlags() { return MakePointerGEN< int >( this, 0x4c8 ); }
  2114.     inline int* nNumBeamEnts() { return MakePointerGEN< int >( this, 0x4b8 ); }
  2115.     inline EHANDLE* hAttachEntity() { return MakePointerGEN< EHANDLE >( this, 0x4cc ); } // Array size = 10
  2116.     inline int* nAttachIndex() { return MakePointerGEN< int >( this, 0x4f4 ); } // Array size = 10
  2117.     inline int* nHaloIndex() { return MakePointerGEN< int >( this, 0x4c0 ); }
  2118.     inline int* fHaloScale() { return MakePointerGEN< int >( this, 0x528 ); }
  2119.     inline int* fWidth() { return MakePointerGEN< int >( this, 0x51c ); }
  2120.     inline int* fEndWidth() { return MakePointerGEN< int >( this, 0x520 ); }
  2121.     inline int* fFadeLength() { return MakePointerGEN< int >( this, 0x524 ); }
  2122.     inline int* fAmplitude() { return MakePointerGEN< int >( this, 0x52c ); }
  2123.     inline int* fStartFrame() { return MakePointerGEN< int >( this, 0x530 ); }
  2124.     inline int* fSpeed() { return MakePointerGEN< int >( this, 0x534 ); }
  2125.     inline float* flFrameRate() { return MakePointerGEN< float >( this, 0x4a8 ); }
  2126.     inline float* flHDRColorScale() { return MakePointerGEN< float >( this, 0x4ac ); }
  2127.     inline int* clrRender() { return MakePointerGEN< int >( this, 0x58 ); }
  2128.     inline int* nRenderFX() { return MakePointerGEN< int >( this, 0x54 ); }
  2129.     inline int* nRenderMode() { return MakePointerGEN< int >( this, 0x78 ); }
  2130.     inline float* flFrame() { return MakePointerGEN< float >( this, 0x53c ); }
  2131.     inline Vector* vecEndPos() { return MakePointerGEN< Vector >( this, 0x540 ); }
  2132.     inline int* nModelIndex() { return MakePointerGEN< int >( this, 0x88 ); }
  2133.     inline int* nMinDXLevel() { return MakePointerGEN< int >( this, 0x538 ); }
  2134.     inline Vector* vecOrigin() { return MakePointerGEN< Vector >( this, 0x2c8 ); }
  2135.     inline int* moveparent() { return MakePointerGEN< int >( this, 0x158 ); }
  2136.     inline CBeamPredictableId* beampredictable_id() { return MakePointerGEN< CBeamPredictableId >( this, 0x0 ); }
  2137. };
Advertisement
Add Comment
Please, Sign In to add comment