Compare commits

..

2 Commits

Author SHA1 Message Date
32a8141504 Fix text selection at RichText. 2025-11-28 02:03:18 +03:00
nillerusr
ed8209cc35 fix build with clang-20 ref #389 #433 #436 fix #379 2025-11-25 06:24:23 +03:00
12 changed files with 26 additions and 19 deletions

View File

@@ -151,7 +151,7 @@ InitReturnVal_t CDataModel::Init( )
//#define _ELEMENT_HISTOGRAM_
#ifdef _ELEMENT_HISTOGRAM_
CUtlMap< UtlSymId_t, int > g_typeHistogram( 0, 100, DefLessFunc( UtlSymId_t ) );
#endif _ELEMENT_HISTOGRAM_
#endif //_ELEMENT_HISTOGRAM_
//-----------------------------------------------------------------------------
@@ -166,7 +166,7 @@ void CDataModel::Shutdown()
Msg( "%d\t%s\n", g_typeHistogram.Element( i ), GetString( g_typeHistogram.Key( i ) ) );
}
Msg( "\n" );
#endif _ELEMENT_HISTOGRAM_
#endif //_ELEMENT_HISTOGRAM_
int c = GetAllocatedElementCount();
if ( c > 0 )
@@ -1934,7 +1934,7 @@ CDmElement* CDataModel::CreateElement( const DmElementReference_t &ref, const ch
{
g_typeHistogram.Insert( typeSym, 1 );
}
#endif _ELEMENT_HISTOGRAM_
#endif //_ELEMENT_HISTOGRAM_
}
return pElement;

View File

@@ -206,7 +206,7 @@ void DrawExampleModel_DX9_Internal( CBaseVSShader *pShader, IMaterialVar** param
pShaderAPI->BindStandardTexture( SHADER_SAMPLER0, TEXTURE_WHITE );
}
LightState_t lightState = LightState_t();
LightState_t lightState = { 0, false, false };
bool bFlashlightShadows = false;
if( bHasFlashlight )
{

View File

@@ -274,7 +274,7 @@ void Draw_Eyes_Refract_Internal( CBaseVSShader *pShader, IMaterialVar** params,
if ( bDrawFlashlightAdditivePass == true )
pShaderAPI->SetVertexShaderConstant( VERTEX_SHADER_SHADER_SPECIFIC_CONST_4, flashlightState.m_vecLightOrigin.Base(), 1 );
LightState_t lightState = LightState_t();
LightState_t lightState = { 0, false, false };
if ( bDrawFlashlightAdditivePass == false )
{
pShaderAPI->GetDX9LightState( &lightState );

View File

@@ -222,7 +222,7 @@ void DrawFleshInteriorBlendedPass( CBaseVSShader *pShader, IMaterialVar** params
bool bUseStaticControlFlow = g_pHardwareConfig->SupportsStaticControlFlow();
// Set Vertex Shader Combos
LightState_t lightState = LightState_t();
LightState_t lightState = { 0, false, false };
pShaderAPI->GetDX9LightState( &lightState );
DECLARE_DYNAMIC_VERTEX_SHADER( flesh_interior_blended_pass_vs20 );
SET_DYNAMIC_VERTEX_SHADER_COMBO( DOWATERFOG, pShaderAPI->GetSceneFogMode() == MATERIAL_FOG_LINEAR_BELOW_FOG_Z );

View File

@@ -234,7 +234,7 @@ void DrawParticleLitGeneric_DX9( CBaseVSShader *pShader, IMaterialVar** params,
pShader->BindTexture( SHADER_SAMPLER7, info.m_nFlashlightTexture, info.m_nFlashlightTextureFrame );
}
LightState_t lightState = LightState_t();
LightState_t lightState = { 0, false, false };
if( !hasFlashlight )
pShaderAPI->GetDX9LightState( &lightState );

View File

@@ -638,7 +638,7 @@ BEGIN_VS_SHADER( pyro_vision, "Help for pyro vision" )
DynamicCmdsOut.SetPixelShaderConstant( 12, vParms.Base() );
int numBones = pShaderAPI->GetCurrentNumBones();
LightState_t lightState = LightState_t();
LightState_t lightState = { 0, false, false };
if ( bVertexLit && !bFullBright )
{
pShaderAPI->GetDX9LightState( &lightState );

View File

@@ -611,7 +611,7 @@ void DrawSkin_DX9_Internal( CBaseVSShader *pShader, IMaterialVar** params, IShad
}
}
LightState_t lightState = LightState_t();
LightState_t lightState = { 0, false, false };
bool bFlashlightShadows = false;
if( bHasFlashlight )
{

View File

@@ -1188,7 +1188,7 @@ static void DrawVertexLitGeneric_DX9_Internal( CBaseVSShader *pShader, IMaterial
// Set up light combo state
LightState_t lightState = LightState_t();
LightState_t lightState = {0, false, false};
if ( bVertexLitGeneric && (!bHasFlashlight || IsX360() ) )
{
pShaderAPI->GetDX9LightState( &lightState );

View File

@@ -310,7 +310,7 @@ void DrawVortWarp_DX9( CBaseVSShader *pShader, IMaterialVar** params, IShaderDyn
}
// Set up light combo state
LightState_t lightState = LightState_t();
LightState_t lightState = {0, false, false};
if ( bVertexLitGeneric && !hasFlashlight )
{
pShaderAPI->GetDX9LightState( &lightState );

View File

@@ -92,7 +92,7 @@ public:
void Init( CDmElement *pOwner, const char *pAttributeName, int flags = 0 );
// Returns the type of elements allowed into this attribute. UTL_INVAL_SYMBOL allows everything.
UtlSymId_t GetElementType() const;
//UtlSymId_t GetElementType() const;
// Get/set
void Set( T* pElement );
@@ -1149,11 +1149,13 @@ inline void CDmaElement<T>::Init( CDmElement *pOwner, const char *pAttributeName
}
}
/*
template <class T>
inline UtlSymId_t CDmaElement<T>::GetElementType() const
{
return this->Data().m_ElementType;
}
*/
template <class T>
inline T* CDmaElement<T>::GetElement() const

View File

@@ -109,8 +109,8 @@ protected:
T** m_pMemory;
int m_nBlocks;
int m_nIndexMask : 27;
int m_nIndexShift : 5;
int m_nIndexMask;
int m_nIndexShift;
};
//-----------------------------------------------------------------------------
@@ -130,17 +130,16 @@ CUtlBlockMemory<T,I>::~CUtlBlockMemory()
Purge();
}
//-----------------------------------------------------------------------------
// Fast swap
//-----------------------------------------------------------------------------
template< class T, class I >
void CUtlBlockMemory<T,I>::Swap( CUtlBlockMemory< T, I > &mem )
{
this->swap( m_pMemory, mem.m_pMemory );
this->swap( m_nBlocks, mem.m_nBlocks );
this->swap( m_nIndexMask, mem.m_nIndexMask );
this->swap( m_nIndexShift, mem.m_nIndexShift );
V_swap( m_pMemory, mem.m_pMemory );
V_swap( m_nBlocks, mem.m_nBlocks );
V_swap( m_nIndexMask, mem.m_nIndexMask );
V_swap( m_nIndexShift, mem.m_nIndexShift );
}

View File

@@ -862,6 +862,12 @@ void RichText::Paint()
if ( m_LineBreaks.IsValidIndex( lineBreakIndexIndex ) && m_LineBreaks[lineBreakIndexIndex] < iLim )
iLim = m_LineBreaks[lineBreakIndexIndex];
// Stop when entering or exiting the selected range
if ( i < selection0 && iLim >= selection0 )
iLim = selection0;
if ( i >= selection0 && i < selection1 && iLim >= selection1 )
iLim = selection1;
// Handle non-drawing characters specially
for ( int iT = i; iT < iLim; iT++ )
{