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/gui.cpp | 52 +++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 45 insertions(+), 7 deletions(-) (limited to 'src/gui.cpp') diff --git a/src/gui.cpp b/src/gui.cpp index b5fbc1d..974347a 100644 --- a/src/gui.cpp +++ b/src/gui.cpp @@ -318,6 +318,15 @@ static void build_cards() { add_card(0, &g_abh, "ABH", "Accelerate on the jump tick by facing away " "from the velocity.", true); + int jump = add_card(0, nullptr, "Jump assist", + "Extra jump handling applied while moving.", true); + add_toggle(jump, "Auto crouch-jump", + "Duck during the ascent of a held jump, release while falling.", + &g_auto_crouchjump); + add_toggle(jump, "Edge jump", + "Jump when the ground ahead of a running player disappears.", + &g_edge_jump); + int jb = add_card(0, &g_jumpbug, "Jumpbug", "Duck+jump when landing would hurt.", true); add_toggle(jb, "Assist timing", @@ -333,6 +342,9 @@ static void build_cards() { &g_aim_smooth); add_toggle(aim, "Show FOV circle", "Draw the acquisition cone on screen.", &g_aim_fov_circle); + add_toggle(aim, "Compensate aim punch", + "Aim against the server's recoil so shots land on target.", + &g_aim_punch); add_section(aim, "Bones"); static const char *bone_names[AIM_BONE_COUNT] = { "Head", "Torso", "Left arm", "Right arm", "Left leg", "Right leg"}; @@ -344,10 +356,10 @@ static void build_cards() { add_toggle(aim, bone_names[i], bone_descs[i], &g_aim_bones[i]); int sil = add_card(1, &g_silentaim, "Silent aim", - "Fire at the target without turning the rendered view.", + "Fire at the target without turning the rendered view. " + "Uses the Aimbot FOV, vischeck and bone settings.", true); - add_slider(sil, "FOV", "Maximum angular distance from the crosshair.", 1, 180, - &g_silent_fov); + add_info(sil, "Shares the Aimbot FOV, vischeck and bones."); add_card(1, &g_triggerbot, "Triggerbot", "Fire when the crosshair is on a hostile.", true); @@ -357,17 +369,27 @@ static void build_cards() { int esp = add_card(2, &g_esp, "ESP", "Draw hostile NPC information.", true); static const char *esp_names[ESP_OPT_COUNT] = { - "Show neutral", "Show healthbar", "Show healthnum", - "Show name", "Show skeleton", "Show box", - "Show speed graph", "Damage tags"}; + "Show neutral", "Show healthbar", "Show healthnum", + "Show name", "Show skeleton", "Show box", + "Show speed graph", "Damage tags", "Alert state", + "Enemy weapon", "Off-screen arrows"}; static const char *esp_descs[ESP_OPT_COUNT] = { "Include neutral wildlife.", "Draw a health bar.", "Draw the numeric health value.", "Draw the model name.", "Draw the animated bone links.", "Draw a bounding box.", "Draw the lower-center speed graph.", - "Label ARMORED (needs blast/RPG) and VULN (gravity gun) units."}; + "Label ARMORED (needs blast/RPG) and VULN (gravity gun) units.", + "Label IDLE / ALERT / COMBAT.", "Label the NPC's active weapon.", + "Point toward hostiles that are outside the view."}; for (int i = 0; i < ESP_OPT_COUNT; i++) add_toggle(esp, esp_names[i], esp_descs[i], &g_esp_opt[i]); + add_section(esp, "Colours"); + add_color(esp, "Hostile", "Box, skeleton and name colour for hostiles.", + g_esp_col_hostile); + add_color(esp, "Neutral", "Box, skeleton and name colour for neutral units.", + g_esp_col_neutral); + add_color(esp, "Friendly", "Box, skeleton and name colour for friendlies.", + g_esp_col_friendly); int items = add_card(2, &g_item_esp, "Valuable items", "Tag medkits, ammo, armor, weapons and supply crates.", true); @@ -388,6 +410,18 @@ static void build_cards() { 10000, &g_item_max_dist); g_ctrls[g_nctrl - 1].zero_unlimited = true; + int view = add_card(2, nullptr, "Camera / display", + "Camera FOV, viewmodel FOV and monitor gamma.", true); + add_slider(view, "Camera FOV", + "World camera field of view; 0 keeps the game default (75).", 0, + 140, &g_fov_camera); + add_slider(view, "Viewmodel FOV", + "Weapon model field of view; 0 keeps the game default (54).", 0, + 120, &g_fov_viewmodel); + add_slider(view, "Gamma x10", + "mat_monitorgamma x10: 16 = 1.6, 30 = 3.0, stock is 22.", 16, 30, + &g_gamma); + add_card(2, &g_fullbright, "Fullbright", "Ignore world lighting so dark areas are visible.", true); @@ -439,6 +473,10 @@ static void build_cards() { add_toggle(spread, "No spread", "Override the FireBullets seed with the best offset.", &g_spread_no_spread); + add_toggle(spread, "Engine spread override", + "Zero the pellet random offsets directly (shotgun one-hole). " + "Off = seed selection only.", + &g_spread_engine); int sys = add_card(4, nullptr, "System", "Configuration and maintenance.", true); -- cgit v1.2.3