#pragma once #include #include "../../../cs2/entity/C_BaseEntity/C_BaseEntity.h" #include "../../../cs2/entity/C_Material/C_Material.h" #include "../../utils/math/utlstronghandle/utlstronghandle.h" // forward declarations class CMeshData; enum ChamsType { FLAT, ILLUMINATE, GLOW, MAXCOUNT }; enum ChamsEntity : std::int32_t { INVALID = 0, ENEMY, TEAM, VIEWMODEL, HANDS }; enum MaterialType { e_visible, e_invisible, e_max_material }; namespace chams { class Materials { public: bool init(); }; static ChamsEntity GetTargetType(C_BaseEntity* entity) noexcept; CStrongHandle create(const char* name, const char szVmatBuffer[]); void __fastcall hook(void* pAnimatableSceneObjectDesc, void* pDx11, CMeshData* arrMeshDraw, int nDataCount, void* pSceneView, void* pSceneLayer, void* pUnk, void* pUnk2); }