From b7375a7582db7ba2ee8a4dacfab226a3fd8fc514 Mon Sep 17 00:00:00 2001 From: navewindre Date: Mon, 24 Sep 2018 23:07:59 +0200 Subject: ? --- internal_rewrite/d3d.cpp | 2 +- internal_rewrite/ragebot_antiaim.cpp | 70 +++++++++++++++++++++++++++++++----- internal_rewrite/renderer.hpp | 2 +- internal_rewrite/scene_end.cpp | 2 +- internal_rewrite/settings.hpp | 1 - internal_rewrite/ui.h | 3 -- internal_rewrite/ui_dropdown_item.h | 2 ++ internal_rewrite/visual.hpp | 2 +- internal_rewrite/visual_local.cpp | 37 ++++++++++++------- 9 files changed, 92 insertions(+), 29 deletions(-) (limited to 'internal_rewrite') diff --git a/internal_rewrite/d3d.cpp b/internal_rewrite/d3d.cpp index e9df4fa..194ac5e 100644 --- a/internal_rewrite/d3d.cpp +++ b/internal_rewrite/d3d.cpp @@ -48,7 +48,7 @@ namespace d3d , 0, 12, 0 ); //change this idc create_font( &f_esp_small, xors( "Tahoma" ), 0, 11, 500 ); create_font( &f_16, xors( "Verdana" ), 0, 16, 0 ); - create_font( &f_18, xors( "Verdana" ), 0, 18, 900 ); + create_font( &f_18, xors( "Verdana" ), 0, 24, 700 ); create_font( &f_menu, #ifndef COMIC_SANS xors( "Tahoma" ) diff --git a/internal_rewrite/ragebot_antiaim.cpp b/internal_rewrite/ragebot_antiaim.cpp index 145e714..91aac42 100644 --- a/internal_rewrite/ragebot_antiaim.cpp +++ b/internal_rewrite/ragebot_antiaim.cpp @@ -388,6 +388,33 @@ namespace features return tr.endpos; } + float get_min_dist( vec3_t origin ) { + const float max_dist = 150.f; + float dist = 0.f; + float ret = FLT_MAX; + + CTraceFilterWorldAndPropsOnly filter; + CGameTrace tr; + Ray_t ray; + + for( size_t f = 0.f; f < 360.f; f += 45.f ) { + vec3_t rotated = math::get_rotated_pos( origin, f, max_dist ); + + ray.Init( origin, rotated ); + + g_csgo.m_trace( )->TraceRay( ray, MASK_SOLID, &filter, &tr ); + dist = tr.endpos.dist_to( origin ); + + if( dist <= 75.f ) + return 75.f; + + if( dist < ret ) + ret = dist; + } + + return ret; + } + bool c_ragebot::c_antiaim::run_freestanding( int player ) { if( !g_settings.rage.edge_detection ) return false; @@ -421,13 +448,14 @@ namespace features local_pos = g_ctx.m_local->get_eye_pos( ); aim_angle = math::vector_angles( enemy_pos, local_pos ); - float dist = ( float )( g_settings.rage.freestanding_distance( ) ); + float local_dist = get_min_dist( local_pos ); + float enemy_dist = get_min_dist( enemy_pos ); float start_dmg = get_damage( enemy_pos, local_pos, ent, g_ctx.m_local ); - auto test_dmg = [ & ]( float dist ) { - vec3_t enemy_left = math::get_rotated_pos( enemy_pos, aim_angle.y - 90.f, dist ); - vec3_t enemy_right = math::get_rotated_pos( enemy_pos, aim_angle.y + 90.f, dist ); + auto test_dmg = [ & ]( float dist, float enemy_dist, float delta = 50.f ) { + vec3_t enemy_left = math::get_rotated_pos( enemy_pos, aim_angle.y - 90.f, enemy_dist ); + vec3_t enemy_right = math::get_rotated_pos( enemy_pos, aim_angle.y + 90.f, enemy_dist ); enemy_left = trace_ent_pos( enemy_pos, enemy_left, ent ); enemy_right = trace_ent_pos( enemy_pos, enemy_right, ent ); @@ -444,24 +472,48 @@ namespace features float dmg_right = get_damage( enemy_left, local_right, ent, g_ctx.m_local ) + get_damage( enemy_right, local_right, ent, g_ctx.m_local ); - if( std::abs( dmg_left - dmg_right ) < 25.f ) + if( std::abs( dmg_left - dmg_right ) < delta ) return false; float max_dmg = math::max( dmg_left, dmg_right ); direction = dmg_left > dmg_right; cur_damage = max_dmg; - return max_dmg > 25.f; + return max_dmg > delta; }; - float radius = ( g_ctx.m_local->get_hitbox_pos( 0 ) - g_ctx.m_local->m_vecOrigin( ) ).length2d( ); + float radius = std::floorf( ( g_ctx.m_local->get_hitbox_pos( 0 ) - g_ctx.m_local->get_hitbox_pos( HITBOX_PELVIS ) ).length2d( ) ); + radius = radius >= 15.f ? 20.f : 10.f; - if( !test_dmg( radius + 1.f ) ) { + float enemy_radius = std::floorf( ( ent->get_hitbox_pos( 0 ) - ent->get_hitbox_pos( HITBOX_PELVIS ) ).length2d( ) ); + enemy_radius = enemy_radius >= 15.f ? 20.f : 10.f; + + if( !test_dmg( radius + 1.f, enemy_radius + 1.f, 25.f ) ) { if( cur_damage < start_dmg * 2.f ) return false; } - if( !test_dmg( dist ) ) + bool found = false; + + for( size_t i = 5; i > 0; --i ) { + float cur_dist = local_dist / i; + float cur_enemy_dist = enemy_dist / i; + + if( cur_dist < radius ) + continue; + + if( cur_enemy_dist < enemy_radius ) + continue; + + if( test_dmg( cur_dist, cur_enemy_dist, 125.f / i ) ) { + found = true; + break; + } + else if( cur_damage > 125.f / i ) + break; + } + + if( !found ) return false; m_direction = direction; diff --git a/internal_rewrite/renderer.hpp b/internal_rewrite/renderer.hpp index 1247440..59e4dd1 100644 --- a/internal_rewrite/renderer.hpp +++ b/internal_rewrite/renderer.hpp @@ -46,7 +46,7 @@ public: void initialize( ); font_t f_esp_small{ xors( "Tahoma" ), 11, 500, FONTFLAG_DROPSHADOW }; - font_t f_bold{ xors( "Verdana" ), 18, 900, FONTFLAG_DROPSHADOW | FONTFLAG_ANTIALIAS }; + font_t f_bold{ xors( "Verdana" ), 24, 700, FONTFLAG_ANTIALIAS }; font_t f_12{ #ifndef COMIC_SANS xors( "Tahoma" ) diff --git a/internal_rewrite/scene_end.cpp b/internal_rewrite/scene_end.cpp index 619ac48..997ed21 100644 --- a/internal_rewrite/scene_end.cpp +++ b/internal_rewrite/scene_end.cpp @@ -6,7 +6,7 @@ void __fastcall hooks::scene_end( void* ecx_, void* edx_ ) { scene_end_o( edx_, 0 ); - if( !g_csgo.m_panic && g_ctx.m_local && g_settings.visuals.chams.enabled( ) && g_settings.visuals.chams.ignore_z( ) && g_settings.visuals.chams.clear_occlusion ) { + if( !g_csgo.m_panic && g_ctx.m_local && g_settings.visuals.chams.enabled( ) && g_settings.visuals.chams.ignore_z( ) && g_settings.visuals.chams.clear_occlusion && !g_settings.misc.hide_from_obs ) { g_ctx.m_drawing_screneend = true; for( int i = 1; i < g_csgo.m_globals->m_maxclients; ++i ) { auto ent = g_csgo.m_entlist( )->GetClientEntity< >( i ); diff --git a/internal_rewrite/settings.hpp b/internal_rewrite/settings.hpp index 2f082e4..cf4f506 100644 --- a/internal_rewrite/settings.hpp +++ b/internal_rewrite/settings.hpp @@ -268,7 +268,6 @@ namespace data con_var< bool > break_lby_edge{ &holder_, fnv( "rage_break_lby_edge" ) }; con_var< int > edge_dtc_normal{ &holder_, fnv( "rage_edge_dtc_normal" ), 0 }; - con_var< int > freestanding_distance{ &holder_, fnv( "rage_freestanding_dist" ), 50 }; con_var< int > edge_dtc_standing{ &holder_, fnv( "rage_edge_dtc_standing" ), 100 }; con_var< int > edge_dtc_moving{ &holder_, fnv( "rage_edge_dtc_moving" ), 100 }; con_var< int > edge_dtc_priority{ &holder_, fnv( "rage_edge_dtc_priority" ), 0 }; diff --git a/internal_rewrite/ui.h b/internal_rewrite/ui.h index 3f80a08..36d2f7d 100644 --- a/internal_rewrite/ui.h +++ b/internal_rewrite/ui.h @@ -426,9 +426,6 @@ namespace ui edge_form->add_item( std::make_shared< ui::c_checkbox >( 0, 0, xors( "freestanding" ), &g_settings.rage.edge_detection ) ); - edge_form->add_item( std::make_shared< ui::c_slider< int > >( 0, 0, 140, 50, 200, &g_settings.rage.freestanding_distance ) - )->set_cond( [ ]( ) { return g_settings.rage.edge_detection( ); } ); - edge_form->add_item( std::make_shared< ui::c_dropdown< > >( 0, 0, 140, xors( "priority" ), &g_settings.rage.edge_dtc_priority, &dropdowns::edge_priority ) )->set_cond( [ ]( ) { return g_settings.rage.edge_dtc_normal( ) && g_settings.rage.edge_detection( ); } ); diff --git a/internal_rewrite/ui_dropdown_item.h b/internal_rewrite/ui_dropdown_item.h index 9afbbd2..f959f71 100644 --- a/internal_rewrite/ui_dropdown_item.h +++ b/internal_rewrite/ui_dropdown_item.h @@ -154,7 +154,9 @@ namespace ui { xors( "on hold" ), 1 }, { xors( "toggle" ), 2 }, { xors( "always" ), 3 }, +#ifdef _DEBUG { xors( "auto" ), 4 } +#endif }; static std::vector< dropdown_item_t< > > world_esp_type = { diff --git a/internal_rewrite/visual.hpp b/internal_rewrite/visual.hpp index f6558aa..7b18fa4 100644 --- a/internal_rewrite/visual.hpp +++ b/internal_rewrite/visual.hpp @@ -18,7 +18,7 @@ namespace features class c_visuals { private: static const clr_t esp_green( uint8_t alpha = 255 ) { - return clr_t( 1, 216, 62, alpha ); + return clr_t( 110, 200, 20, alpha ); } static const clr_t esp_red( uint8_t alpha = 255 ) { return clr_t( 240, 0, 0, alpha ); diff --git a/internal_rewrite/visual_local.cpp b/internal_rewrite/visual_local.cpp index adb84c3..c519b6f 100644 --- a/internal_rewrite/visual_local.cpp +++ b/internal_rewrite/visual_local.cpp @@ -20,6 +20,9 @@ namespace features draw_spread( ); spectator_list( ); + const int offset = 21; + + if( g_ctx.m_local->is_valid( ) ) { //isvalveds @@ -29,7 +32,7 @@ namespace features clr_t col = clr_t::blend( esp_green( ), esp_red( ), std::clamp( percentage, 0.f, 1.f ) ); - draw_really_big_string( 10, cur_pos += 15, col, xors( "DMG: %d" ), m_teamdmg ); + draw_really_big_string( 10, cur_pos += offset, col, xors( "DMG: %d" ), m_teamdmg ); } static float incoming_latency; @@ -46,12 +49,14 @@ namespace features clr_t col = clr_t::blend( esp_red( ), esp_green( ), percentage ); - bool visible = g_settings.misc.net_fakeping_active; - if( g_settings.misc.net_fakelag == 4 ) - visible = true; + //bool visible = g_settings.misc.net_fakeping_active; + //if( g_settings.misc.net_fakelag == 4 ) + //visible = true; - if( percentage > 0.35f || visible ) { - draw_really_big_string( 10, cur_pos += 15, col, xors( "PING" ) ); + if( percentage > 0.35f ) { + draw_really_big_string( 9, ( cur_pos += offset ), clr_t( 110, 110, 110, 255 ), xors( "PING" ) ); + draw_really_big_string( 11, cur_pos + 2, clr_t( 0, 0, 0, 255 ), xors( "PING" ) ); + draw_really_big_string( 10, cur_pos, col, xors( "PING" ) ); } } } @@ -77,25 +82,31 @@ namespace features bool breaking = lby_delta > 35.f && time_delta > 0.2f; if( g_cheat.m_ragebot.m_antiaim->is_edging( ) ) { - draw_really_big_string( 10, cur_pos += 15, esp_green( ), xors( "EDGE" ) ); + draw_really_big_string( 9, ( cur_pos += offset ), clr_t( 110, 110, 110, 255 ), xors( "EDGE" ) ); + draw_really_big_string( 11, cur_pos + 2, clr_t( 0, 0, 0, 255 ), xors( "EDGE" ) ); + draw_really_big_string( 10, cur_pos, esp_green( ), xors( "EDGE" ) ); } if( g_settings.rage.break_lby( ) ) { - draw_really_big_string( 10, cur_pos += 15, breaking ? esp_green( ) : esp_red( ), xors( "LBY" ) ); + draw_really_big_string( 9, ( cur_pos += offset ), clr_t( 110, 110, 110, 255 ), xors( "LBY" ) ); + draw_really_big_string( 11, cur_pos + 2, clr_t( 0, 0, 0, 255 ), xors( "LBY" ) ); + draw_really_big_string( 10, cur_pos, breaking ? esp_green( ) : esp_red( ), xors( "LBY" ) ); auto animstate = g_ctx.m_local->get_animstate( ); if( animstate && animstate->m_velocity < 0.1f && animstate->m_bOnGround ) { - draw_filled_rect( 11, ( cur_pos += 4 ) + 14, 31, 2, clr_t( 0, 0, 0, 170 ) ); + draw_filled_rect( 11, ( cur_pos += 4 ) + 18, 36, 3, clr_t( 0, 0, 0, 170 ) ); float progress = ( float )g_cheat.m_ragebot.m_antiaim->get_next_update( ) / TIME_TO_TICKS( 1.1f ); if( progress <= 1.f ) - draw_filled_rect( 11, cur_pos + 14, 30 * progress, 1, esp_green( ) ); + draw_filled_rect( 11, cur_pos + 19, 34 * progress, 1, esp_green( ) ); } } if( g_settings.rage.preserve_fps && g_settings.rage.enabled && util::is_low_fps( ) ) { - draw_really_big_string( 10, cur_pos += 15, esp_red( ), xors( "FPS" ) ); + draw_really_big_string( 9, ( cur_pos += offset ), clr_t( 110, 110, 110, 255 ), xors( "FPS" ) ); + draw_really_big_string( 11, cur_pos + 2, clr_t( 0, 0, 0, 255 ), xors( "FPS" ) ); + draw_really_big_string( 10, cur_pos, esp_red( ), xors( "FPS" ) ); } } @@ -112,7 +123,9 @@ namespace features float speed = g_ctx.m_local->m_vecVelocity( ).length2d( ); if( speed > 255.f && speed * g_csgo.m_globals->m_interval_per_tick * max_ticks > 50 ) { bool breaking = g_cheat.m_lagmgr.is_breaking_lc( ); - draw_really_big_string( 10, cur_pos += 15, breaking ? esp_green( ) : esp_red( ), xors( "LC" ) ); + draw_really_big_string( 9, ( cur_pos += offset ), clr_t( 110, 110, 110, 255 ), xors( "LC" ) ); + draw_really_big_string( 11, cur_pos + 2, clr_t( 0, 0, 0, 255 ), xors( "LC" ) ); + draw_really_big_string( 10, cur_pos, breaking ? esp_green( ) : esp_red( ), xors( "LC" ) ); } } } -- cgit v1.2.3