void CNetEngine::NextLocalStrip(UINT ThreadIdx)
{
	ESCTIME	*pSrc = m_Strip.GetData() + ThreadIdx * m_StripSize;
	int	y2 = m_NextRow + m_StripRows;
	y2 = min(y2, m_EscFrameSize.cy);	// last strip can have less rows
	RenderStrip(ThreadIdx, m_NextRow, y2, pSrc);
	m_NextRow = y2;
}
//**********************************************************************************
//	
//**********************************************************************************
void	CBackground::Render()
{
	if ( s_bPBPFadeIn == true )
	{
		s_PBPFadeAlpha += 8;

		SETMAX( s_PBPFadeAlpha, 0xff );
	}
	else
	{
		s_PBPFadeAlpha -= 8;

		if ( s_PBPFadeAlpha < 0 )
		{
			SAFE_DELETE( s_pPBPIconTexture );
		}

		SETMIN( s_PBPFadeAlpha, 0x00 );
	}

	if ( s_pPBPIconTexture != NULL )
	{
		CGfx::DrawQuad( s_pPBPIconTexture, V2( 0.f, 0.f ), V2( CGfx::s_ScreenWidth, CGfx::s_ScreenHeight ), ARGB( s_PBPFadeAlpha, 0x80, 0x80, 0x80  ) );
	}

	CTexture *	p_background_texture( s_pBackgroundTexture );

	if ( CSkinManager::GetComponent( CSkinManager::SC_BACKGROUND )->GetTexture() != NULL )
	{
		p_background_texture = CSkinManager::GetComponent( CSkinManager::SC_BACKGROUND )->GetTexture();
	}

	if ( p_background_texture == NULL )
	{
		CGfx::DrawQuad( V2( 0.f, 0.f ), V2( CGfx::s_ScreenWidth, CGfx::s_ScreenHeight ), 0x00000000 );
	}
	else
	{
		CGfx::DrawQuad( p_background_texture, V2( 0.f, 0.f ), V2( CGfx::s_ScreenWidth, CGfx::s_ScreenHeight ), ARGB( 0xff - s_PBPFadeAlpha, 0xff, 0xff, 0xff ) );
	}

	for ( u32 i = 0; i < NUM_STRIPS; ++i )
	{
		RenderStrip( s_StripInfo[ i ] );
	}
}