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/ctx.hpp | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 cheat/tf2/ctx.hpp (limited to 'cheat/tf2/ctx.hpp') diff --git a/cheat/tf2/ctx.hpp b/cheat/tf2/ctx.hpp new file mode 100644 index 0000000..8243a19 --- /dev/null +++ b/cheat/tf2/ctx.hpp @@ -0,0 +1,68 @@ +#pragma once +#include + +#include "util.hpp" +#include "sdk.h" +NAMESPACE_REGION( context ) + +struct shot_data_t { + vec3_t m_local_pos; + vec3_t m_angle; + vec3_t m_enemy_pos; + int m_enemy_index; + int m_resolver_shots; + bool m_resolver_state; + bool m_missed{ true }; + struct { + vec3_t min; + vec3_t max; + float radius; + } m_hitbox; + int m_hitgroup; +}; + +//replacement to the old global:: namespace +class c_context { +public: + //run localplayer check, pointer, is valid etc + bool run_frame( ); + float pred_time( ); + + bool create_snapshot( user_cmd_t* ); + //calculate accurate tickbase + bool calculate_tickbase( ); + + user_cmd_t* get_last_cmd( ) { + return m_snapshot.empty( ) ? nullptr : &m_snapshot.front( ); + } + + bool precache_model( const char* model ); + +public: + c_base_player * m_local{ }; + int m_stage{ }; + //accurate tickbase + int m_tickbase{ }; + + bool m_drawing_postscreenspace{ }; + bool m_drawing_screneend{ }; + + bool m_has_fired_this_frame{ }; + + vec3_t m_thirdperson_angle{ }; + vec3_t m_last_origin{ }; + + float m_fov{ 90.f }; + +public: + + int m_last_shot_ack; + int m_last_shot; + std::array< shot_data_t, 128 > m_shot_data; +private: + std::deque< user_cmd_t > m_snapshot; +}; + +END_REGION + +extern context::c_context g_ctx; \ No newline at end of file -- cgit v1.2.3