diff options
Diffstat (limited to 'gmod/chams.hpp')
| -rw-r--r-- | gmod/chams.hpp | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/gmod/chams.hpp b/gmod/chams.hpp new file mode 100644 index 0000000..2c3e317 --- /dev/null +++ b/gmod/chams.hpp @@ -0,0 +1,45 @@ +#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 );
+
+ 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 force_material( IMaterial* material, fclr_t color );
+ void update_materials( );
+ bool m_initialized{ };
+ };
+
+ class c_chams {
+ public:
+ c_materials m_materials;
+ };
+}
\ No newline at end of file |
