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/CAttribute.h | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 cheat/tf2/CAttribute.h (limited to 'cheat/tf2/CAttribute.h') diff --git a/cheat/tf2/CAttribute.h b/cheat/tf2/CAttribute.h new file mode 100644 index 0000000..a7dd944 --- /dev/null +++ b/cheat/tf2/CAttribute.h @@ -0,0 +1,41 @@ +#pragma once +#include "UtlMem.h" + +class c_attribute { +private: + void* vtable; +public: + uint16_t m_attribute_definition_index; + float m_value; +private: + uint32_t unk; + +public: + __forceinline c_attribute( unsigned short index, float value ) { + m_attribute_definition_index = index; + m_value = value; + } +}; + +class c_attribute_list { +private: + uint32_t unk; +public: + CUtlVector< c_attribute, CUtlMemory< c_attribute > > m_attributes; + + __forceinline void add_attribute( int index, float value ) { + if ( m_attributes.Count( ) >= 15 ) return; //setting this above 15 will crash + if ( has_attrib( index ) ) return; + + c_attribute attribute( index, value ); + m_attributes.AddToTail( attribute ); + } + + __forceinline bool has_attrib( int index ) { + for ( int i{ }; i < m_attributes.Count( ); i++ ) { + if ( !m_attributes ) continue; + if ( m_attributes[ i ].m_attribute_definition_index == index ) return true; + } + return false; + } +}; \ No newline at end of file -- cgit v1.2.3