69 lines
1.5 KiB
C++
69 lines
1.5 KiB
C++
|
|
#include "global.h"
|
||
|
|
/*
|
||
|
|
-----------------------------------------------------------------------------
|
||
|
|
File: MeterDisplay.h
|
||
|
|
|
||
|
|
Desc: The song's MeterDisplay displayed in SelectSong.
|
||
|
|
|
||
|
|
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
||
|
|
-----------------------------------------------------------------------------
|
||
|
|
*/
|
||
|
|
|
||
|
|
#include "MeterDisplay.h"
|
||
|
|
|
||
|
|
|
||
|
|
MeterDisplay::MeterDisplay(
|
||
|
|
CString sSteamPath,
|
||
|
|
CString sFramePath,
|
||
|
|
float fStreamWidth )
|
||
|
|
{
|
||
|
|
m_fStreamWidth = fStreamWidth;
|
||
|
|
|
||
|
|
m_sprStream.Load( sSteamPath );
|
||
|
|
m_sprStream.SetZoomX( fStreamWidth / m_sprStream.GetUnzoomedWidth() );
|
||
|
|
|
||
|
|
m_quad.SetZoomY( m_sprStream.GetUnzoomedHeight() );
|
||
|
|
m_quad.SetX( m_fStreamWidth/2 );
|
||
|
|
m_quad.SetHorizAlign( Actor::align_right );
|
||
|
|
m_quad.SetDiffuse( RageColor(0,0,0,1) );
|
||
|
|
|
||
|
|
m_sprFrame.Load( sFramePath );
|
||
|
|
|
||
|
|
m_fTrailingPercent = 0;
|
||
|
|
|
||
|
|
SetPercent( 0.5f );
|
||
|
|
}
|
||
|
|
|
||
|
|
MeterDisplay::~MeterDisplay()
|
||
|
|
{
|
||
|
|
}
|
||
|
|
|
||
|
|
void MeterDisplay::Update( float fDelta )
|
||
|
|
{
|
||
|
|
fapproach( m_fTrailingPercent, m_fPercent, 0.2f*fDelta );
|
||
|
|
m_quad.SetZoomX( m_fStreamWidth * (1-m_fTrailingPercent) );
|
||
|
|
|
||
|
|
m_sprStream.Update( fDelta );
|
||
|
|
m_quad.Update( fDelta );
|
||
|
|
m_sprFrame.Update( fDelta );
|
||
|
|
|
||
|
|
Actor::Update( fDelta );
|
||
|
|
}
|
||
|
|
|
||
|
|
void MeterDisplay::DrawPrimitives()
|
||
|
|
{
|
||
|
|
m_sprStream.Draw();
|
||
|
|
m_quad.Draw();
|
||
|
|
m_sprFrame.Draw();
|
||
|
|
}
|
||
|
|
|
||
|
|
void MeterDisplay::SetPercent( float fPercent )
|
||
|
|
{
|
||
|
|
ASSERT( fPercent >= 0 && fPercent <= 1 );
|
||
|
|
|
||
|
|
m_fPercent = fPercent;
|
||
|
|
|
||
|
|
m_sprFrame.Command( "glow,1,1,1,1;linear,0.5;glow,1,1,1,0" );
|
||
|
|
m_sprStream.Command( "glow,1,1,1,1;linear,0.5;glow,1,1,1,0" );
|
||
|
|
}
|