-
Автор темы
- #1
2.21. Запрещено редактировать название темы или своё сообщение на «/del» во всех случаях (продажа аккаунта, получение ответа на свой вопрос и так далее), кроме флуда.
вслед за sove
Посмотреть вложение 141483
Посмотреть вложение 141483
Код:
void c_visuals::draw_tracers( ) {
if( !g_settings.visuals.active ) return;
float time = g_csgo.m_globals->m_curtime;
for( size_t i{ }; i < m_tracers.size( ) && !m_tracers.empty( ); ++i ) {
auto& tr = m_tracers[ i ];
float delta = time - tr.m_time;
if( delta > 1.0f ) m_tracers.erase( m_tracers.begin( ) + i );
}
if( !m_tracers.empty( ) ) {
for( auto& it : m_tracers ) {
float delta = time - it.m_time;
clr_t col = it.m_local ? clr_t::from_hsb( delta, 1.0f, 1.0f ) : clr_t( 255, 15, 46 );
col.a( ) = 1.0f - delta * 255;
auto w2s_begin = util::screen_transform( it.m_start );
auto w2s_end = util::screen_transform( it.m_end );
switch( g_settings.visuals.bullet_tracers( ) ) {
case 1:
draw_line( w2s_begin, w2s_end, col );
break;
case 2:
if( !g_ctx.precache_model( xors( "materials/sprites/laserbeam.vmt" ) ) ) {
g_con->log( "nigga cant get" );
break;
}
BeamInfo_t beam_info;
beam_info.m_nType = beam_normal;
beam_info.m_pszModelName = xors( "materials/sprites/laserbeam.vmt" );
beam_info.m_nModelIndex = g_csgo.m_model_info( )->GetModelIndex( xors( "materials/sprites/laserbeam.vmt" ) );
beam_info.m_flHaloScale = 0.0f;
beam_info.m_flLife = 0.09f; //0.09
beam_info.m_flWidth = .6f;
beam_info.m_flEndWidth = .75f;
beam_info.m_flFadeLength = 3.0f;
beam_info.m_flAmplitude = 0.f;
beam_info.m_flBrightness = ( col.a( ) - 255.f ) * 0.8f;
beam_info.m_flSpeed = 1.f;
beam_info.m_nStartFrame = 1;
beam_info.m_flFrameRate = 60;
beam_info.m_flRed = col.r( );
beam_info.m_flGreen = col.g( );
beam_info.m_flBlue = col.b( );
beam_info.m_nSegments = 4;
beam_info.m_bRenderable = true;
beam_info.m_nFlags = 0;
beam_info.m_vecStart = it.m_start;
beam_info.m_vecEnd = it.m_end;
Beam_t* beam = g_csgo.m_beams( )->CreateBeamPoints( beam_info );
if( beam ) {
g_csgo.m_beams( )->DrawBeam( beam );
}
break;
}
}
}
}