diff options
| author | salmonik <salmonik@tuta.io> | 2026-10-27 20:15:51 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-10-27 20:15:51 +0100 |
| commit | ba500fef7fbf94725f18541b0e23a45591379dba (patch) | |
| tree | f1eec8ad34e532fb7bcb9172083c78d96bcdca4f /src/hl2h.h | |
| parent | Overlay: keep GUI and toasts drawing if the ESP font fails (diff) | |
| download | hl2h-ba500fef7fbf94725f18541b0e23a45591379dba.tar.gz hl2h-ba500fef7fbf94725f18541b0e23a45591379dba.zip | |
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.
Diffstat (limited to '')
| -rw-r--r-- | src/hl2h.h | 15 |
1 files changed, 13 insertions, 2 deletions
| @@ -92,6 +92,7 @@ struct NetVars { | |||
| 92 | int modelindex = -1; | 92 | int modelindex = -1; |
| 93 | int absvelocity = -1; // client C_BaseEntity::m_vecAbsVelocity (prediction) | 93 | int absvelocity = -1; // client C_BaseEntity::m_vecAbsVelocity (prediction) |
| 94 | int activeweapon = -1; // client m_hActiveWeapon handle | 94 | int activeweapon = -1; // client m_hActiveWeapon handle |
| 95 | int groundentity = -1; // client m_hGroundEntity handle | ||
| 95 | // ponytail: mins/maxs may be absent from some HL2 netvar tables; esp.cpp falls back to h=72 | 96 | // ponytail: mins/maxs may be absent from some HL2 netvar tables; esp.cpp falls back to h=72 |
| 96 | bool ok() const { return flags >= 0 && velocity >= 0 && movetype >= 0; } | 97 | bool ok() const { return flags >= 0 && velocity >= 0 && movetype >= 0; } |
| 97 | // ponytail: m_iMaxHealth isn't a netvar in HL2 SP; esp.cpp falls back to 100. | 98 | // ponytail: m_iMaxHealth isn't a netvar in HL2 SP; esp.cpp falls back to 100. |
| @@ -171,7 +172,9 @@ enum FeatureId { | |||
| 171 | FEAT_SILENTAIM = 5, | 172 | FEAT_SILENTAIM = 5, |
| 172 | FEAT_JUMPBUG = 6, | 173 | FEAT_JUMPBUG = 6, |
| 173 | FEAT_MELEE = 7, | 174 | FEAT_MELEE = 7, |
| 174 | FEAT_SPREAD = 8 | 175 | FEAT_SPREAD = 8, |
| 176 | FEAT_STUCKLAUNCH = 9, | ||
| 177 | FEAT_COUNT = 10 | ||
| 175 | }; | 178 | }; |
| 176 | enum EspOption { | 179 | enum EspOption { |
| 177 | ESP_OPT_SHOW_NEUTRAL = 0, | 180 | ESP_OPT_SHOW_NEUTRAL = 0, |
| @@ -203,10 +206,13 @@ struct FeatureState { | |||
| 203 | }; | 206 | }; |
| 204 | 207 | ||
| 205 | extern FeatureState g_bhop, g_abh, g_jumpbug, g_melee, g_spread, g_esp, | 208 | extern FeatureState g_bhop, g_abh, g_jumpbug, g_melee, g_spread, g_esp, |
| 206 | g_aimbot, g_triggerbot, g_silentaim; | 209 | g_aimbot, g_triggerbot, g_silentaim, g_stucklaunch; |
| 207 | extern bool g_bhop_autostrafe; | 210 | extern bool g_bhop_autostrafe; |
| 208 | extern bool g_jumpbug_assist; | 211 | extern bool g_jumpbug_assist; |
| 209 | extern bool g_spread_no_spread; | 212 | extern bool g_spread_no_spread; |
| 213 | extern bool g_stucklaunch_use_spam; | ||
| 214 | extern bool g_stucklaunch_gravspam; | ||
| 215 | extern bool g_stucklaunch_autostrafe; | ||
| 210 | extern bool g_aim_bones[AIM_BONE_COUNT]; | 216 | extern bool g_aim_bones[AIM_BONE_COUNT]; |
| 211 | extern int g_aim_smooth; | 217 | extern int g_aim_smooth; |
| 212 | extern bool g_aim_vischeck; | 218 | extern bool g_aim_vischeck; |
| @@ -245,6 +251,11 @@ bool esp_option(int opt); | |||
| 245 | bool bhop_autostrafe_enabled(); | 251 | bool bhop_autostrafe_enabled(); |
| 246 | bool jumpbug_assist_enabled(); | 252 | bool jumpbug_assist_enabled(); |
| 247 | bool spread_no_spread_enabled(); | 253 | bool spread_no_spread_enabled(); |
| 254 | bool stucklaunch_use_spam_enabled(); | ||
| 255 | bool stucklaunch_gravspam_enabled(); | ||
| 256 | bool stucklaunch_autostrafe_enabled(); | ||
| 257 | bool active_weapon_is_gravity_gun(void *local_ent); | ||
| 258 | bool entity_is_physics_prop(int idx); | ||
| 248 | unsigned aimbot_bone_mask(); | 259 | unsigned aimbot_bone_mask(); |
| 249 | int aimbot_smooth_step(); | 260 | int aimbot_smooth_step(); |
| 250 | bool aimbot_vischeck_enabled(); | 261 | bool aimbot_vischeck_enabled(); |
