From 3d412a4b30a9f7c7f51ea6562e694315948bd3da Mon Sep 17 00:00:00 2001 From: boris Date: Wed, 28 Nov 2018 16:00:02 +1300 Subject: cleaned up in short, the cheat and loader are now separate solutions. unused stuff was moved into the legacy solution in case anyone wants to compile it or whatever. i can change this back if you want to. also, i configured the loader to compile in x64, and have separate build types for linux and win64 --- cheat/tf2/settings.h | 276 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 276 insertions(+) create mode 100644 cheat/tf2/settings.h (limited to 'cheat/tf2/settings.h') diff --git a/cheat/tf2/settings.h b/cheat/tf2/settings.h new file mode 100644 index 0000000..3f9fbac --- /dev/null +++ b/cheat/tf2/settings.h @@ -0,0 +1,276 @@ +#pragma once +#include "simple_settings.h" +#include "strings.hpp" +#include "color.hpp" +#include +//later i will implement a way to load all config files + +namespace data +{ + + + extern SettingHolder holder_; + + + class legitbot_settings : SettingHolder { + public: + using SettingHolder::SettingHolder; + + con_var< float > m_fov{ this, fnv( "fov" ), 5.f }; + con_var< float > m_speed{ this, fnv( "speed" ), 10.f }; + con_var< float > m_assist_strength{ this, fnv( "assist_strength" ), 0.f }; + con_var< int > m_hitbox{ this, fnv( "hitbox" ), 0 }; + con_var< int > m_bone{ this, fnv( "bone" ), 0 }; + }; + + + class c_settings { + public: + + void load( ) { + switch( menu.cur_setting ) { + case 0: + holder_.load( "", xors( "./tf/cfg/scout.cfg" ) ); + break; + case 1: + holder_.load( "", xors( "./tf/cfg/soldier.cfg" ) ); + break; + case 2: + holder_.load( "", xors( "./tf/cfg/pyro.cfg" ) ); + break; + case 3: + holder_.load( "", xors( "./tf/cfg/demo.cfg" ) ); + break; + case 4: + holder_.load( "", xors( "./tf/cfg/heavy.cfg" ) ); + break; + case 5: + holder_.load( "", xors( "./tf/cfg/engineer.cfg" ) ); + break; + case 6: + holder_.load( "", xors( "./tf/cfg/medic.cfg" ) ); + break; + case 7: + holder_.load( "", xors( "./tf/cfg/sniper.cfg" ) ); + break; + case 8: + holder_.load( "", xors( "./tf/cfg/spy.cfg" ) ); + break; + case 9: + holder_.load( "", xors( "./tf/cfg/money_rage1.cfg" ) ); + break; + case 10: + holder_.load( "", xors( "./tf/cfg/money_rage2.cfg" ) ); + break; + } + + menu.anti_untrusted = true; + } + + void save( ) { + switch( menu.cur_setting ) { + case 0: + holder_.load( "", xors( "./tf/cfg/scout.cfg" ) ); + break; + case 1: + holder_.load( "", xors( "./tf/cfg/soldier.cfg" ) ); + break; + case 2: + holder_.load( "", xors( "./tf/cfg/pyro.cfg" ) ); + break; + case 3: + holder_.load( "", xors( "./tf/cfg/demo.cfg" ) ); + break; + case 4: + holder_.load( "", xors( "./tf/cfg/heavy.cfg" ) ); + break; + case 5: + holder_.load( "", xors( "./tf/cfg/engineer.cfg" ) ); + break; + case 6: + holder_.load( "", xors( "./tf/cfg/medic.cfg" ) ); + break; + case 7: + holder_.load( "", xors( "./tf/cfg/sniper.cfg" ) ); + break; + case 8: + holder_.load( "", xors( "./tf/cfg/spy.cfg" ) ); + break; + case 9: + holder_.load( "", xors( "./tf/cfg/money_rage1.cfg" ) ); + break; + case 10: + holder_.load( "", xors( "./tf/cfg/money_rage2.cfg" ) ); + break; + } + } + + void copy_to_clipboard( ) { + holder_.save( "", xors( "./tf/cfg/money_temp.cfg" ) ); + std::vector< uint8_t > file_data; + FILE* f = fopen( xors( "./tf/cfg/money_temp.cfg" ), "r" ); + size_t size = 0; + fseek( f, 0, SEEK_END ); + size = ftell( f ); + + char* buf = ( char* )malloc( size ); + fread( buf, 1, size, f ); + fclose( f ); + for( size_t i{ }; i < size; ++i ) { + file_data.push_back( buf[ i ] ); + } + + free( buf ); + + EmptyClipboard( ); + OpenClipboard( nullptr ); + + auto g = GlobalAlloc( GMEM_FIXED, size ); + memcpy( g, file_data.data( ), size ); + + SetClipboardData( CF_TEXT, g ); + CloseClipboard( ); + //DeleteFileA( xors( "./tf/cfg/money_temp.cfg" ) ); + } + + void load_from_clipboard( ) { + FILE* f = fopen( xors( "./tf/cfg/money_temp.cfg" ), "wb" ); + auto data = GetClipboardData( CF_TEXT ); + + auto size = GlobalSize( data ); + fwrite( data, 1, size, f ); + fclose( f ); + + holder_.load( "", xors( "./tf/cfg/money_temp.cfg" ) ); + + CloseClipboard( ); + //DeleteFileA( xors( "./tf/cfg/money_temp.cfg" ) ); + } + + struct { + con_var< bool > enabled{ &holder_, fnv( "legit_active" ), false }; + con_var< size_t > sample_size{ &holder_, fnv( "legit_sample_size" ), 12 }; + con_var< float > smooth_factor{ &holder_, fnv( "legit_smooth_factor" ), 1.0f }; + con_var< bool > dynamic_smoothing{ &holder_, fnv( "legit_dynamic_smoothing" ), false }; + con_var< bool > assist{ &holder_, fnv( "legit_assist" ), false }; + con_var< bool > friendlies{ &holder_, fnv( "legit_friendlies" ), false }; + con_var< int > activation_type{ &holder_, fnv( "legit_activation_type" ), 1 }; + con_var< int > key{ &holder_, fnv( "legit_key" ), 0 }; + con_var< bool > backtracking{ &holder_, fnv( "legit_backtracking" ), 0 }; + con_var< float > backtracking_time{ &holder_, fnv( "legit_bt_time" ), 0.2f }; + con_var< float > backtracking_fov{ &holder_, fnv( "legit_bt_fov" ), 5.0f }; + con_var< bool > backtracking_target{ &holder_, fnv( "legit_bt_target" ), false }; + con_var< bool > backtracking_visualize{ &holder_, fnv( "legit_bt_visualize" ), 0 }; + con_var< clr_t > backtracking_col{ &holder_, fnv( "legit_bt_col" ), clr_t( 255, 255, 255, 120 ) }; + con_var< bool > triggerbot{ &holder_, fnv( "legit_triggerbot" ), false }; + con_var< int > trigger_key{ &holder_, fnv( "legit_triggerkey" ), 0 }; + con_var< float > trigger_delay{ &holder_, fnv( "legit_triggerdelay" ), 0.f }; + legitbot_settings secondary{ &holder_, "legit_primary" }; + legitbot_settings melee{ &holder_, "legit_melee" }; + legitbot_settings primary{ &holder_, "legit_secondary" }; + legitbot_settings* active = &primary; + } legit; + + struct { + struct { + con_var< bool > enabled{ &holder_, fnv( "visuals_chams_enabled" ), 0 }; + con_var< bool > flat{ &holder_, fnv( "visuals_chams_flat" ), 0 }; + con_var< bool > ignore_z{ &holder_, fnv( "visuals_chams_ignore_z" ), 0 }; + con_var< float > reflectivity{ &holder_, fnv( "visuals_chams_reflectivity" ), 1.0f }; + con_var< float > shine{ &holder_, fnv( "visuals_chams_shine" ), 1.0f }; + con_var< bool > friendlies{ &holder_, fnv( "visuals_chams_friendlies" ), 0 }; + con_var< clr_t > color_visible_friendly{ &holder_, fnv( "visuals_chams_color_friendly" ), clr_t( 0, 255, 255 ) }; + con_var< clr_t > color_visible_enemy{ &holder_, fnv( "visuals_chams_color_enemy" ), clr_t( 255, 255, 0 ) }; + con_var< clr_t > color_hidden_friendly{ &holder_, fnv( "visuals_chams_color_h_friendly" ), clr_t( 0, 0, 255 ) }; + con_var< clr_t > color_hidden_enemy{ &holder_, fnv( "visuals_chams_color_h_enemy" ), clr_t( 255, 0, 0 ) }; + } chams; + + con_var< int > activation_type{ &holder_, fnv( "visuals_activation" ), false }; + //players + con_var< bool > box{ &holder_, fnv( "visuals_box" ), false }; + con_var< bool > dormant{ &holder_, fnv( "visuals_dormant" ), false }; + con_var< bool > health{ &holder_, fnv( "visuals_health" ), false }; + con_var< bool > weapon{ &holder_, fnv( "visuals_weapon" ), false }; + con_var< bool > name{ &holder_, fnv( "visuals_name" ), false }; + con_var< bool > out_of_pov{ &holder_, fnv( "visuals_out_of_pov" ), false }; + con_var< float > out_of_pov_radius{ &holder_, fnv( "visuals_out_of_pov_radius" ), 0.75f }; + con_var< int > out_of_pov_size{ &holder_, fnv( "visuals_out_of_pov_size" ), 25 }; + con_var< bool > friendlies{ &holder_, fnv( "visuals_friendlies" ), false }; + con_var< bool > skeleton{ &holder_, fnv( "visuals_skeleton" ) }; + con_var< bool > glow{ &holder_, fnv( "visuals_glow" ), false }; + con_var< bool > conditions{ &holder_, fnv( "visuals_conditions" ), false }; //conditions + con_var< bool > resolver_indicator{ &holder_, fnv( "visuals_resolver_indicator" ), false }; + con_var< bool > ammo{ &holder_, fnv( "visuals_ammo" ), false }; + con_var< bool > player_class{ &holder_, fnv( "visuals_player_class" ) }; + con_var< bool > floating_ragdolls{ &holder_, fnv( "visuals_floating_ragdolls" ) }; //dont remember + con_var< bool > sound{ &holder_, fnv( "visuals_sound" ), false }; + con_var< clr_t > box_enemy{ &holder_, fnv( "visuals_clr_enemy" ), clr_t( 0, 255, 255 ) }; + con_var< clr_t > box_friendly{ &holder_, fnv( "visuals_clr_friendly" ), clr_t( 255, 0, 255 ) }; + con_var< clr_t > glow_enemy{ &holder_, fnv( "visuals_glow_enemy" ), clr_t( 255, 0, 255, 150 ) }; + con_var< clr_t > glow_friendly{ &holder_, fnv( "visuals_glow_friendly" ), clr_t( 255, 120, 0, 150 ) }; + con_var< clr_t > skeleton_enemy{ &holder_, fnv( "visuals_skeleton_enemy" ), clr_t( 255, 255, 255 ) }; + con_var< clr_t > skeleton_friendly{ &holder_, fnv( "visuals_skeleton_friendly" ), clr_t( 255, 255, 255 ) }; + con_var< int > bullet_tracers{ &holder_, fnv( "visuals_bullet_tracers" ), 0 }; + con_var< int > sound_range{ &holder_, fnv( "visuals_sound_range" ), 360 }; + con_var< int > key{ &holder_, fnv( "visuals_key" ), 0 }; + con_var< bool > hitmarkers{ &holder_, fnv( "visuals_hitmarkers" ), false }; + + + //world + con_var< bool > world_modulate{ &holder_, fnv( "visuals_world_modulate" ), false }; + con_var< bool > night_mode{ &holder_, fnv( "visuals_night_mode" ), false }; + con_var< bool > transparent_props{ &holder_, fnv( "visuals_transparent_props" ), false }; + con_var< int > projectile_esp{ &holder_, fnv( "visuals_projectile_esp" ), 0 }; //projectile_esp + con_var< int > building_esp{ &holder_, fnv( "visuals_building_esp" ), 0 };//building_esp + con_var< bool > building_owner{ &holder_, fnv( "visuals_building_owner" ), false }; //building_owner + con_var< clr_t > projectile_esp_clr{ &holder_, fnv( "visuals_projectile_esp_clr" ), clr_t( 255, 255, 255, 180 ) }; + con_var< clr_t > building_esp_clr{ &holder_, fnv( "visuals_building_esp_clr" ), clr_t( 255, 255, 255, 180 ) }; + con_var< bool > fullbright{ &holder_, fnv( "visuals_fullbright" ), false }; + con_var< bool > objective_info{ &holder_, fnv( "visuals_objective_info" ), false }; //objective_info + + //local + con_var< bool > draw_spread{ &holder_, fnv( "misc_draw_spread" ), false }; + con_var< bool > grenade_prediction{ &holder_, fnv( "visuals_grenade_prediction" ), false }; + con_var< bool > spec_list{ &holder_, fnv( "visuals_spec_list" ), false }; + + bool active = true; + } visuals; + + struct { + con_var< bool > watermark{ &holder_, fnv( "misc_watermark" ), false }; + con_var< bool > bunny_hop{ &holder_, fnv( "misc_bhop" ), false }; + con_var< bool > auto_strafe{ &holder_, fnv( "misc_autostrafe" ), false }; + con_var< int > viewmodel_fov{ &holder_, fnv( "misc_viewmodel_fov" ), 0 }; + con_var< int > fov_changer{ &holder_, fnv( "fov_changer" ), 90 }; + con_var< bool > thirdperson{ &holder_, fnv( "misc_thirdperson" ), false }; + con_var< int > thirdperson_key{ &holder_, fnv( "misc_tp_key" ), 0 }; + + con_var< bool > no_recoil{ &holder_, fnv( "misc_no_recoil" ), false }; + con_var< bool > no_sound{ &holder_, fnv( "misc_no_sound" ), false }; + con_var< bool > no_scope{ &holder_, fnv( "misc_no_scope" ), false }; + con_var< bool > transparent_vm{ &holder_, fnv( "misc_transparent_vm" ), false }; + con_var< bool > hide_from_obs{ &holder_, fnv( "misc_hide_from_obs" ), false }; + con_var< bool > disable_post_process{ &holder_, fnv( "misc_disable_post_process" ), false }; + + bool recorder_enable = false; + } misc; + + struct { + con_var< uint8_t > menu_color_1r{ &holder_, fnv( "menu_color_1r" ), 231 }; + con_var< uint8_t > menu_color_1g{ &holder_, fnv( "menu_color_1g" ), 105 }; + con_var< uint8_t > menu_color_1b{ &holder_, fnv( "menu_color_1b" ), 105 }; + + con_var< uint8_t > menu_color_2r{ &holder_, fnv( "menu_color_2r" ), 0xf4 }; + con_var< uint8_t > menu_color_2g{ &holder_, fnv( "menu_color_2g" ), 0x7c }; + con_var< uint8_t > menu_color_2b{ &holder_, fnv( "menu_color_2b" ), 0xa8 }; + + bool auto_class_settings = false; + bool anti_untrusted = true; + bool open = false; + bool logs_enable = false; + int cur_setting = 0; + } menu; + }; +} + +extern data::c_settings g_settings; \ No newline at end of file -- cgit v1.2.3