#include "stdafx.h" /* ----------------------------------------------------------------------------- Class: GrooveRadar Desc: See header. Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. Chris Danford ----------------------------------------------------------------------------- */ #include "RageUtil.h" #include "GrooveRadar.h" #include "PrefsManager.h" #include "RageBitmapTexture.h" #include "GameConstantsAndTypes.h" #define LABEL_OFFSET_X( i ) THEME->GetMetricF("GrooveRadar",ssprintf("Label%dOffsetX",i+1)) #define LABEL_OFFSET_Y( i ) THEME->GetMetricF("GrooveRadar",ssprintf("Label%dOffsetY",i+1)) float RADAR_VALUE_ROTATION( int iValueIndex ) { return D3DX_PI/2 + D3DX_PI*2 / 5.0f * iValueIndex; } const float RADAR_EDGE_WIDTH = 3; GrooveRadar::GrooveRadar() { this->AddChild( &m_GrooveRadarValueMap ); for( int c=0; cGetPathTo("Graphics","select music radar labels 1x5") ); m_sprRadarLabels[c].StopAnimating(); m_sprRadarLabels[c].SetState( c ); m_sprRadarLabels[c].SetXY( LABEL_OFFSET_X(c), LABEL_OFFSET_Y(c) ); this->AddChild( &m_sprRadarLabels[c] ); } } void GrooveRadar::TweenOnScreen() { for( int c=0; cGetPathTo("Graphics","select music radar base") ); this->AddChild( &m_sprRadarBase ); for( int p=0; pm_fRadarValues[c]; } if( m_bValuesVisible[pn] == false ) // the values WERE invisible m_PercentTowardNew[pn] = 1; else m_PercentTowardNew[pn] = 0; m_bValuesVisible[pn] = true; } else // pNotes == NULL { m_bValuesVisible[pn] = false; } } void GrooveRadar::GrooveRadarValueMap::Update( float fDeltaTime ) { ActorFrame::Update( fDeltaTime ); for( int p=0; pSetTexture( NULL ); DISPLAY->SetColorTextureMultDiffuse(); DISPLAY->SetAlphaTextureMultDiffuse(); RAGEVERTEX v[12]; // needed to draw 5 fan primitives and 10 strip primitives for( int p=0; pAddFan( v, 5 ); // // use a strip to draw the thick line // for( i=0; iAddStrip( v, 10 ); } } void GrooveRadar::GrooveRadarValueMap::TweenOnScreen() { SetZoom( 0.5f ); SetRotation( D3DX_PI*4 ); BeginTweening( 0.6f ); SetTweenZoom( 1 ); SetTweenRotationZ( 0 ); } void GrooveRadar::GrooveRadarValueMap::TweenOffScreen() { BeginTweening( 0.6f ); SetTweenRotationZ( D3DX_PI*4 ); SetTweenZoom( 0 ); }