Files
CS2Cheat/examples/raze-internal-cs2-main/src/game/chams/chams.cpp
2025-07-22 22:06:34 +03:00

212 lines
7.2 KiB
C++

#include "chams.hpp"
#include "../../sdk/source2-sdk/memory_classes/utlbuffer.hpp"
#include <thread>
#include <chrono>
CMaterial2* visible;
CMaterial2* invisible;
CGameEntitySystem entitysystem;
bool chams::init( )
{
/* TODO */
if (chams_init)
return chams_init;
chams::invisibleforblackC = chams::create_invisible_for_black("invisible_for_black");
chams::visibleforblackC = chams::create_visible_for_black("visible_for_black");
chams::visibleC = chams::create_visible("visible");
chams::invisibleC = chams::create_invisible("invisible");
chams::bloomC = chams::create_bloom("bloom");
chams_init = true;
return chams_init;
}
CMaterial2* chams::create_bloom(const char* name)
{
std::string vmat_buffer =
R"(<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->
{
shader = "csgo_complex.vfx"
F_SELF_ILLUM = 1
F_PAINT_VERTEX_COLORS = 1
F_TRANSLUCENT = 1
F_DISABLE_Z_BUFFERING = 1
g_vColorTint = [ 1.000000, 1.000000, 1.000000, 1.000000 ]
g_flSelfIllumScale = [ 3.000000, 3.000000, 3.000000, 3.000000 ]
g_flSelfIllumBrightness = [ 3.000000, 3.000000, 3.000000, 3.000000 ]
g_vSelfIllumTint = [ 8.000000, 8.000000, 8.000000, 8.000000 ]
g_tColor = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tNormal = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tSelfIllumMask = resource:"materials/default/default_mask_tga_fde710a5.vtex"
TextureAmbientOcclusion = resource:"materials/debug/particleerror.vtex"
g_tAmbientOcclusion = resource:"materials/debug/particleerror.vtex"
})";
CUtlBuffer buff(0, static_cast<int>(vmat_buffer.size( )) + 10, 1);
buff.PutString(vmat_buffer.data( ));
KeyValues3 kv;
kv.set_type(kv_basic_array, kv_basic_table);
kv.load_from_buffer(&buff, name);
CMaterial2** custom_material;
interfaces::pMaterialSystem->CreateMaterial(&custom_material, name, &kv);
return *custom_material;
}
CMaterial2* chams::create_visible(const char* name)
{
std::string vmat_buffer =
R"(<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->
{
shader = "csgo_complex.vfx"
F_SELF_ILLUM = 1
F_PAINT_VERTEX_COLORS = 1
F_TRANSLUCENT = 1
g_vColorTint = [ 1.000000, 1.000000, 1.000000, 1.000000 ]
g_flSelfIllumScale = [ 3.000000, 3.000000, 3.000000, 3.000000 ]
g_flSelfIllumBrightness = [ 3.000000, 3.000000, 3.000000, 3.000000 ]
g_vSelfIllumTint = [ 8.000000, 8.000000, 8.000000, 8.000000 ]
g_tColor = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tNormal = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tSelfIllumMask = resource:"materials/default/default_mask_tga_fde710a5.vtex"
TextureAmbientOcclusion = resource:"materials/debug/particleerror.vtex"
g_tAmbientOcclusion = resource:"materials/debug/particleerror.vtex"
})";
CUtlBuffer buff(0, static_cast<int>(vmat_buffer.size()) + 10, 1);
buff.PutString(vmat_buffer.data());
KeyValues3 kv;
kv.set_type(kv_basic_array, kv_basic_table);
kv.load_from_buffer(&buff, name);
CMaterial2** custom_material;
interfaces::pMaterialSystem->CreateMaterial(&custom_material, name, &kv);
return *custom_material;
}
CMaterial2* chams::create_visible_for_black(const char* name)
{
std::string vmat_buffer =
R"(<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->
{
shader = "csgo_effects.vfx"
g_flFresnelExponent = 7.0
g_flFresnelFalloff = 10.0
g_flFresnelMax = 0.1
g_flFresnelMin = 2.0
F_DISABLE_Z_BUFFERING = 0
g_tColor = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tMask1 = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tMask2 = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tMask3 = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tSceneDepth = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_flToolsVisCubemapReflectionRoughness = 5.0
g_flBeginMixingRoughness = 4.0
g_vColorTint = [ 0.350000, 0.350000, 0.350000, 0.800000 ]
})";
CUtlBuffer buff(0, static_cast<int>(vmat_buffer.size()) + 10, 1);
buff.PutString(vmat_buffer.data());
KeyValues3 kv;
kv.set_type(kv_basic_array, kv_basic_table);
kv.load_from_buffer(&buff, name);
CMaterial2** custom_material;
interfaces::pMaterialSystem->CreateMaterial(&custom_material, name, &kv);
return *custom_material;
}
CMaterial2* chams::create_invisible_for_black(const char* name)
{
std::string vmat_buffer =
R"(<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->
{
shader = "csgo_effects.vfx"
g_flFresnelExponent = 7.0
g_flFresnelFalloff = 10.0
g_flFresnelMax = 0.1
g_flFresnelMin = 2.0
F_DISABLE_Z_BUFFERING = 1
g_tColor = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tMask1 = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tMask2 = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tMask3 = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tSceneDepth = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_flToolsVisCubemapReflectionRoughness = 5.0
g_flBeginMixingRoughness = 4.0
g_vColorTint = [ 0.350000, 0.350000, 0.350000, 0.800000 ]
})";
CUtlBuffer buff(0, static_cast<int>(vmat_buffer.size()) + 10, 1);
buff.PutString(vmat_buffer.data());
KeyValues3 kv;
kv.set_type(kv_basic_array, kv_basic_table);
kv.load_from_buffer(&buff, name);
CMaterial2** custom_material;
interfaces::pMaterialSystem->CreateMaterial(&custom_material, name, &kv);
return *custom_material;
}
CMaterial2* chams::create_invisible(const char* name)
{
std::string vmat_buffer =
R"(<!-- kv3 encoding:text:version{e21c7f3c-8a33-41c5-9977-a76d3a32aa0d} format:generic:version{7412167c-06e9-4698-aff2-e63eb59037e7} -->
{
shader = "csgo_complex.vfx"
F_SELF_ILLUM = 1
F_PAINT_VERTEX_COLORS = 1
F_TRANSLUCENT = 1
F_DISABLE_Z_BUFFERING = 1
g_vColorTint = [ 1.000000, 1.000000, 1.000000, 1.000000 ]
g_flSelfIllumScale = [ 5.000000, 5.000000, 5.000000, 5.000000 ]
g_flSelfIllumBrightness = [ 3.000000, 3.000000, 3.000000, 3.000000 ]
g_vSelfIllumTint = [ 8.000000, 8.000000, 8.000000, 8.000000 ]
g_tColor = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tNormal = resource:"materials/default/default_mask_tga_fde710a5.vtex"
g_tSelfIllumMask = resource:"materials/default/default_mask_tga_fde710a5.vtex"
TextureAmbientOcclusion = resource:"materials/debug/particleerror.vtex"
g_tAmbientOcclusion = resource:"materials/debug/particleerror.vtex"
})";
CUtlBuffer buff(0, static_cast<int>(vmat_buffer.size()) + 10, 1);
buff.PutString(vmat_buffer.data());
KeyValues3 kv;
kv.set_type(kv_basic_array, kv_basic_table);
kv.load_from_buffer(&buff, name);
CMaterial2** custom_material;
interfaces::pMaterialSystem->CreateMaterial(&custom_material, name, &kv);
return *custom_material;
}