diff options
| author | boris <wzn@moneybot.cc> | 2018-11-28 16:00:02 +1300 |
|---|---|---|
| committer | boris <wzn@moneybot.cc> | 2018-11-28 16:00:02 +1300 |
| commit | 3d412a4b30a9f7c7f51ea6562e694315948bd3da (patch) | |
| tree | 26d67dfd1f3e5fd12903ad13e85d0cb8bcf8f21c /cheat/tf2/CAttribute.h | |
| parent | e4729e4393d90271a3814c7a79950a660c48325a (diff) | |
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
Diffstat (limited to 'cheat/tf2/CAttribute.h')
| -rw-r--r-- | cheat/tf2/CAttribute.h | 41 |
1 files changed, 41 insertions, 0 deletions
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 |
