//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //=============================================================================// #include #include "basetypes.h" #include "pacifier.h" #include "tier0/dbg.h" static int g_LastPacifierDrawn = -1; static bool g_bPacifierSuppressed = false; #define clamp(a,b,c) ( (a) > (c) ? (c) : ( (a) < (b) ? (b) : (a) ) ) void StartPacifier( char const *pPrefix ) { Msg( "%s", pPrefix ); g_LastPacifierDrawn = -1; UpdatePacifier( 0.001f ); } void UpdatePacifier( float flPercent ) { int iCur = (int)(flPercent * 40.0f); iCur = clamp( iCur, g_LastPacifierDrawn, 40 ); if( iCur != g_LastPacifierDrawn && !g_bPacifierSuppressed ) { for( int i=g_LastPacifierDrawn+1; i <= iCur; i++ ) { if ( !( i % 4 ) ) { Msg("%d", i/4); } else { if( i != 40 ) { Msg("."); } } } g_LastPacifierDrawn = iCur; } } void EndPacifier( bool bCarriageReturn ) { UpdatePacifier(1); if( bCarriageReturn && !g_bPacifierSuppressed ) Msg("\n"); } void SuppressPacifier( bool bSuppress ) { g_bPacifierSuppressed = bSuppress; }