From ba500fef7fbf94725f18541b0e23a45591379dba Mon Sep 17 00:00:00 2001 From: salmonik Date: Tue, 27 Oct 2026 20:15:51 +0100 Subject: Fix tooltip truncation; add Stucklaunch assist Tooltips: text_in() shifted the x position to fit the full string before truncating, which drew the tooltip text outside its box. Truncate to the available width first, then clamp inside the clip. Stucklaunch (Movement): - opt-in feature (Active off by default) with its own bind; - holds jump, alternates +use every 2 ticks to regrab a physics prop, optionally +attack while the gravity gun is active, and air-strafes; - engagement uses m_hGroundEntity (client netvar) latched for ~0.5 s so the prop stays active while airborne; falls back to running whenever active if the netvar is unavailable, with a startup warning to bind it; - does not spawn or place props; the player supplies the prop and initial speed. Config gets [stucklaunch] active/bind/use_spam/gravspam/autostrafe; Reset restores those defaults. CONTEXT documents the assist and its limits. --- src/hl2h.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/hl2h.h') diff --git a/src/hl2h.h b/src/hl2h.h index e390aa0..aabe8e9 100644 --- a/src/hl2h.h +++ b/src/hl2h.h @@ -92,6 +92,7 @@ struct NetVars { int modelindex = -1; int absvelocity = -1; // client C_BaseEntity::m_vecAbsVelocity (prediction) int activeweapon = -1; // client m_hActiveWeapon handle + int groundentity = -1; // client m_hGroundEntity handle // ponytail: mins/maxs may be absent from some HL2 netvar tables; esp.cpp falls back to h=72 bool ok() const { return flags >= 0 && velocity >= 0 && movetype >= 0; } // ponytail: m_iMaxHealth isn't a netvar in HL2 SP; esp.cpp falls back to 100. @@ -171,7 +172,9 @@ enum FeatureId { FEAT_SILENTAIM = 5, FEAT_JUMPBUG = 6, FEAT_MELEE = 7, - FEAT_SPREAD = 8 + FEAT_SPREAD = 8, + FEAT_STUCKLAUNCH = 9, + FEAT_COUNT = 10 }; enum EspOption { ESP_OPT_SHOW_NEUTRAL = 0, @@ -203,10 +206,13 @@ struct FeatureState { }; extern FeatureState g_bhop, g_abh, g_jumpbug, g_melee, g_spread, g_esp, - g_aimbot, g_triggerbot, g_silentaim; + g_aimbot, g_triggerbot, g_silentaim, g_stucklaunch; extern bool g_bhop_autostrafe; extern bool g_jumpbug_assist; extern bool g_spread_no_spread; +extern bool g_stucklaunch_use_spam; +extern bool g_stucklaunch_gravspam; +extern bool g_stucklaunch_autostrafe; extern bool g_aim_bones[AIM_BONE_COUNT]; extern int g_aim_smooth; extern bool g_aim_vischeck; @@ -245,6 +251,11 @@ bool esp_option(int opt); bool bhop_autostrafe_enabled(); bool jumpbug_assist_enabled(); bool spread_no_spread_enabled(); +bool stucklaunch_use_spam_enabled(); +bool stucklaunch_gravspam_enabled(); +bool stucklaunch_autostrafe_enabled(); +bool active_weapon_is_gravity_gun(void *local_ent); +bool entity_is_physics_prop(int idx); unsigned aimbot_bone_mask(); int aimbot_smooth_step(); bool aimbot_vischeck_enabled(); -- cgit v1.2.3