From 7ccb819f867493f8ec202ea3b39c94c198c64584 Mon Sep 17 00:00:00 2001 From: JustSomePwner Date: Thu, 30 Aug 2018 14:01:54 +0200 Subject: first --- tf2/chams.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tf2/chams.h (limited to 'tf2/chams.h') diff --git a/tf2/chams.h b/tf2/chams.h new file mode 100644 index 0000000..4fdc74b --- /dev/null +++ b/tf2/chams.h @@ -0,0 +1,49 @@ +#pragma once + +#include "sdk.h" + +namespace features +{ + enum ChamBufferType_t { + TYPE_NORMAL, + TYPE_FLAT, + TYPE_SHINE + }; + + class c_material { + public: + c_material( ) = default; + + void init( const char* mat, const char* buf ); + void destroy( ); + + operator IMaterial*( ) { + return m_mat; + } + + public: + IMaterial * m_mat; + KeyValues* m_keyvalues; + }; + + class c_materials { + public: + c_material m_chams{ }; + c_material m_chams_flat{ }; + + void make_cham_buffer( char* buf, int len, int type ); //type, 0 = normal, 1 = flat, 2 = shine + public: + void initialize_materials( ); + void destroy_materials( ); + void force_material( IMaterial* material, fclr_t color ); + void update_materials( ); + bool m_initialized{ }; + }; + + class c_chams { + public: + c_materials m_materials; + void d3d_render_textures( ); + void d3d_render_chams( c_base_player* ent, int type, int v_index, uint32_t min_index, uint32_t num_vert, uint32_t start_index, uint32_t prim_count ); + }; +} \ No newline at end of file -- cgit v1.2.3