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/GlowObject.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/GlowObject.h')
| -rw-r--r-- | cheat/tf2/GlowObject.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/cheat/tf2/GlowObject.h b/cheat/tf2/GlowObject.h new file mode 100644 index 0000000..00dce81 --- /dev/null +++ b/cheat/tf2/GlowObject.h @@ -0,0 +1,43 @@ +#pragma once
+#include "UtlMem.h"
+#include <inttypes.h>
+#include "color.hpp"
+
+static const int END_OF_FREE_LIST = -1;
+static const int ENTRY_IN_USE = -2;
+
+struct GlowObject_t {
+ uintptr_t ent_ptr;
+ fclr_t glow_color;
+
+ bool render_when_occluded;
+ bool render_when_unoccluded;
+ int pad;
+
+ int next_free_slot;
+};
+
+struct GlowObjectManager_t {
+ CUtlVector< GlowObject_t > data;
+ int first_slot;
+
+ int RegisterGlowObject( IClientEntity* ent ) {
+ for( int i{ }; i < data.Count( ); i++ ) {
+ if( data[ i ].ent_ptr == ent->get_ehandle( ) ) return 0;
+ }
+ int index{ };
+ if( first_slot == -1 ) index = data.AddToTail( );
+ else {
+ index = first_slot;
+ first_slot = data[ index ].next_free_slot;
+ }
+ data[ index ].ent_ptr = ent->get_ehandle( );
+ data[ index ].glow_color = clr_t( 255, 255, 255, 255 ).to_fclr( );
+ data[ index ].render_when_occluded = true;
+ data[ index ].render_when_unoccluded = true;
+ data[ index ].pad = -1;
+ data[ index ].next_free_slot = -2;
+
+ return index;
+ }
+};
\ No newline at end of file |
