diff options
Diffstat (limited to 'tf2/chams.h')
| -rw-r--r-- | tf2/chams.h | 49 |
1 files changed, 49 insertions, 0 deletions
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 |
