From 12fde50efc7e1f1d123f9fc34ffef53d4387de2d Mon Sep 17 00:00:00 2001 From: salmonik Date: Wed, 4 Nov 2026 13:53:45 +0100 Subject: Add ESP, aim, view and movement batch - ESP: alert state (IDLE/ALERT/COMBAT/SCRIPT), enemy weapon labels, hostile/ neutral/friendly colour pickers, off-screen direction arrows, and trigger_changelevel volumes with next/previous map labels. - Aim: silent aim reuses the Aimbot FOV, vischeck and bone settings; add optional aim-punch compensation for aimbot, silent aim, triggerbot and melee (server bullets add m_vecPunchAngle to the usercmd angles). - View: always-on Camera / display card with camera FOV (writes the client m_iDefaultFOV netvar), viewmodel FOV and monitor gamma (client cvars). - Movement: Jump assist card with auto crouch-jump and edge jump (point ground probe 0.12 s ahead). - Spread: Engine spread override toggle gates the direct RandomFloat zeroing; off leaves only the seed search. - Server: entity count/base/classname helpers, trigger_changelevel map name and world bounds via IServerUnknown/ICollideable. - Netvars: m_vecPunchAngle and m_iDefaultFOV. --- src/vischeck.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/vischeck.cpp') diff --git a/src/vischeck.cpp b/src/vischeck.cpp index 97a2c12..c8c0942 100644 --- a/src/vischeck.cpp +++ b/src/vischeck.cpp @@ -232,6 +232,26 @@ void *trace_entity(const Vector &start, const Vector &end, void *ignore) { return tr.ent; } +// True when a downward point trace from just above `point` finds a standable +// surface. Used by edge jump: a ledge has no floor within the probe, slopes and +// stairs do. +bool point_ground(const Vector &point, void *ignore) { + if (!g_iface.enginetrace) + return false; + RayCompat ray; + Vector start{point.x, point.y, point.z + 4.0f}; + Vector end{point.x, point.y, point.z - 96.0f}; + make_ray(ray, start, end); + GameTraceCompat tr{}; + EntityFilter filter(ignore); + using TraceRayFn = void (*)(void *, const RayCompat *, unsigned, void *, + GameTraceCompat *); + vfunc(g_iface.enginetrace, 4)(g_iface.enginetrace, &ray, + MASK_PLAYERSOLID, &filter, &tr); + // A start inside geometry means a wall/step there, not a ledge. + return tr.startsolid || tr.fraction < 1.0f; +} + // Vertical distance from the standing player hull's feet to the first // standable surface below. Matches CategorizePosition's 2-unit probe and its // plane.normal.z >= 0.7 rule, but sweeps much farther so the caller can -- cgit v1.2.3