/// <inheritdoc /> public override bool Update(GameProcess gameProcess) { if (!base.Update(gameProcess)) { return(false); } // get matrices MatrixViewProjection = Matrix.TransposeMatrix(gameProcess.ModuleClient.Read <Matrix>(Offsets.dwViewMatrix)); MatrixViewport = GfxMath.GetMatrixViewport(gameProcess.WindowRectangleClient.Size); MatrixViewProjectionViewport = MatrixViewProjection * MatrixViewport; // read data ViewOffset = gameProcess.Process.Read <Vector3>(AddressBase + Offsets.m_vecViewOffset); EyePosition = Origin + ViewOffset; ViewAngles = gameProcess.Process.Read <Vector3>(gameProcess.ModuleEngine.Read <IntPtr>(Offsets.dwClientState) + Offsets.dwClientState_ViewAngles); AimPunchAngle = gameProcess.Process.Read <Vector3>(AddressBase + Offsets.m_aimPunchAngle); Fov = gameProcess.Process.Read <int>(AddressBase + Offsets.m_iFOV); if (Fov == 0) { Fov = 90; // correct for default } // calc data AimDirection = GetAimDirection(ViewAngles, AimPunchAngle); return(true); }
/// <inheritdoc /> public override bool Update(GameProcess gameProcess) { if (!base.Update(gameProcess)) { return false; } // get matrices MatrixViewProjection = Matrix.TransposeMatrix(gameProcess.ModuleClient.Read<Matrix>(Offsets.dwViewMatrix)); MatrixViewport = GfxMath.GetMatrixViewport(gameProcess.WindowRectangleClient.Size); MatrixViewProjectionViewport = MatrixViewProjection * MatrixViewport; // read data ViewOffset = gameProcess.Process.Read<Vector3>(AddressBase + Offsets.m_vecViewOffset); EyePosition = Origin + ViewOffset; ViewAngles = gameProcess.Process.Read<Vector3>(gameProcess.ModuleEngine.Read<IntPtr>(Offsets.dwClientState) + Offsets.dwClientState_ViewAngles); AimPunchAngle = gameProcess.Process.Read<Vector3>(AddressBase + Offsets.m_aimPunchAngle); Fov = gameProcess.Process.Read<int>(AddressBase + Offsets.m_iFOV); if (Fov == 0) Fov = 90; // correct for default // calc data EyeDirection = GfxMath.GetVectorFromEulerAngles(ViewAngles.X.DegreeToRadian(), ViewAngles.Y.DegreeToRadian()); AimDirection = GfxMath.GetVectorFromEulerAngles ( (ViewAngles.X + AimPunchAngle.X * Offsets.weapon_recoil_scale).DegreeToRadian(), (ViewAngles.Y + AimPunchAngle.Y * Offsets.weapon_recoil_scale).DegreeToRadian() ); return true; }
public override bool Update(GameProcess gameProcess) { if (!base.Update(gameProcess)) { return(false); } // Read data EyePosition = getPlayerEyePosition(gameProcess); ViewAngles = gameProcess.Process.Read <Vector3>(gameProcess.ModuleEngine.Read <IntPtr>(Offsets.dwClientState) + Offsets.dwClientState_ViewAngles); EyeDirection = GfxMath.GetVectorFromEulerAngles(GfxMath.DegreeToRadian(ViewAngles.X), GfxMath.DegreeToRadian(ViewAngles.Y)); AimPunchAngle = gameProcess.Process.Read <Vector3>(AddressBase + Offsets.m_aimPunchAngle); Fov = gameProcess.Process.Read <int>(AddressBase + Offsets.m_iFOV); if (Fov == 0) { Fov = 90; // correct for default } // Update player info vecVelocity = getPlayerVecVelocity(gameProcess); ActiveWeapon = getActiveWeapon(gameProcess); UpdatePrimaryWeapon(ActiveWeapon); AmmoCount = AmmoCounter(gameProcess); HasDefuseKit = checkIfHasDefuseKit(gameProcess); isAimingDownScope = checkIfAds(gameProcess); CanShoot = checkIfCanShoot(gameProcess); CursorLocked = checkIfCursorLocked(gameProcess); Location = getPlayerLocation(gameProcess); // calc data AimDirection = GetAimDirection(ViewAngles, AimPunchAngle); return(true); }
/// <summary> /// Update data from process. /// </summary> public void Update(GameProcess gameProcess) { var addressBase = gameProcess.ModuleClient.Read <IntPtr>(Offsets.dwLocalPlayer); if (addressBase == IntPtr.Zero) { return; } // get matrices MatrixViewport = GfxMath.GetMatrixViewport(gameProcess.WindowRectangleClient.Size); // read data Origin = gameProcess.Process.Read <Vector3>(addressBase + Offsets.m_vecOrigin); ViewOffset = gameProcess.Process.Read <Vector3>(addressBase + Offsets.m_vecViewOffset); EyePosition = Origin + ViewOffset; ViewAngles = gameProcess.Process.Read <Vector3>(gameProcess.ModuleEngine.Read <IntPtr>(Offsets.dwClientState) + Offsets.dwClientState_ViewAngles); AimPunchAngle = gameProcess.Process.Read <Vector3>(addressBase + Offsets.m_aimPunchAngle); Fov = gameProcess.Process.Read <int>(addressBase + Offsets.m_iFOV); if (Fov == 0) { Fov = 90; // correct for default } // calc data AimDirection = GetAimDirection(ViewAngles, AimPunchAngle); }