diff options
Diffstat (limited to 'cheat/internal_rewrite/chams.hpp')
| -rw-r--r-- | cheat/internal_rewrite/chams.hpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/cheat/internal_rewrite/chams.hpp b/cheat/internal_rewrite/chams.hpp new file mode 100644 index 0000000..d7eb023 --- /dev/null +++ b/cheat/internal_rewrite/chams.hpp @@ -0,0 +1,49 @@ +#pragma once + +#include "sdk.hpp" + +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 |
