-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
чамсы на тимейтов работают
C++:
bool draw_chams( vars::c_visuals::c_chams& set, bool pass_xqz, matrix_t* bones ) {
if ( !set.enable )
return false;
auto base_clr = set.material_color;
auto material = m_materials.get( set.material );
material->color_modulate( base_clr.r / 255.f, base_clr.g / 255.f, base_clr.b / 255.f );
material->alpha_modulate( base_clr.a / 255.f );
material->set_material_var_flag( material_var_ignorez, pass_xqz );
// change glow color by var flags
if ( set.material >= 2 ) {
auto var = material->find_var( _( "$envmaptint" ), nullptr );
if ( var )
var->set_vector( vec3_t( base_clr.r / 255.f, base_clr.g / 255.f, base_clr.b / 255.f ) );
}
i::modelrender->force_mat( material );
m_hook.m_callback( bones );
if ( set.enable_glow ) {
auto pulse_clr = set.glow_color;
auto pulse_material = m_materials.m_glow;
pulse_material->color_modulate( pulse_clr.r / 255.f, pulse_clr.g / 255.f, pulse_clr.b / 255.f );
pulse_material->alpha_modulate( pulse_clr.a / 255.f );
pulse_material->set_material_var_flag( material_var_ignorez, pass_xqz );
// change glow color by var flags
{
auto var = pulse_material->find_var( _( "$envmaptint" ), nullptr );
if ( var )
var->set_vector( vec3_t( pulse_clr.r / 255.f, pulse_clr.g / 255.f, pulse_clr.b / 255.f ) );
}
i::modelrender->force_mat( pulse_material );
m_hook.m_callback( bones );
}
if ( set.enable_countour ) {
auto pulse_clr = set.countour_color;
auto pulse_material = m_materials.m_countour;
pulse_material->color_modulate( pulse_clr.r / 255.f, pulse_clr.g / 255.f, pulse_clr.b / 255.f );
pulse_material->alpha_modulate( pulse_clr.a / 255.f );
pulse_material->set_material_var_flag( material_var_ignorez, pass_xqz );
// change glow color by var flags
{
auto var = pulse_material->find_var( _( "$envmaptint" ), nullptr );
if ( var )
var->set_vector( vec3_t( pulse_clr.r / 255.f, pulse_clr.g / 255.f, pulse_clr.b / 255.f ) );
}
i::modelrender->force_mat( pulse_material );
m_hook.m_callback( bones );
}
i::modelrender->force_mat( nullptr );
return true;
}