GrooveRadar base is now an ActorFrame.
This commit is contained in:
+6
-11
@@ -21,23 +21,21 @@ static const ThemeMetric<float> RADAR_CENTER_ALPHA ("GrooveRadar","CenterAlp
|
|||||||
|
|
||||||
static float RADAR_VALUE_ROTATION( int iValueIndex ) { return PI/2 + PI*2 / 5.0f * iValueIndex; }
|
static float RADAR_VALUE_ROTATION( int iValueIndex ) { return PI/2 + PI*2 / 5.0f * iValueIndex; }
|
||||||
|
|
||||||
//static const float RADAR_EDGE_WIDTH = 2;
|
|
||||||
static const int NUM_SHOWN_RADAR_CATEGORIES = 5;
|
static const int NUM_SHOWN_RADAR_CATEGORIES = 5;
|
||||||
|
|
||||||
GrooveRadar::GrooveRadar()
|
GrooveRadar::GrooveRadar()
|
||||||
{
|
{
|
||||||
m_sprRadarBase.Load( THEME->GetPathG("GrooveRadar","base") );
|
m_sprRadarBase.Load( THEME->GetPathG("GrooveRadar","base") );
|
||||||
m_Frame.AddChild( &m_sprRadarBase );
|
m_Frame.AddChild( m_sprRadarBase );
|
||||||
LOAD_ALL_COMMANDS( m_Frame );
|
LOAD_ALL_COMMANDS( m_Frame );
|
||||||
m_Frame.SetName( "RadarFrame" );
|
m_Frame.SetName( "RadarFrame" );
|
||||||
|
|
||||||
FOREACH_PlayerNumber( p )
|
FOREACH_PlayerNumber( p )
|
||||||
{
|
{
|
||||||
m_GrooveRadarValueMap[p].SetRadius( m_sprRadarBase.GetZoomedWidth() );
|
m_GrooveRadarValueMap[p].SetRadius( m_sprRadarBase->GetZoomedWidth() );
|
||||||
m_Frame.AddChild( &m_GrooveRadarValueMap[p] );
|
m_Frame.AddChild( &m_GrooveRadarValueMap[p] );
|
||||||
m_GrooveRadarValueMap[p].SetName( ssprintf("RadarValueMapP%d",p+1) );
|
m_GrooveRadarValueMap[p].SetName( ssprintf("RadarValueMapP%d",p+1) );
|
||||||
ActorUtil::LoadAllCommands( m_GrooveRadarValueMap[p], "GrooveRadar" );
|
ActorUtil::LoadAllCommands( m_GrooveRadarValueMap[p], "GrooveRadar" );
|
||||||
//m_GrooveRadarValueMap[p].RunCommands( CommonMetrics::PLAYER_COLOR.GetValue(p) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this->AddChild( &m_Frame );
|
this->AddChild( &m_Frame );
|
||||||
@@ -150,7 +148,7 @@ void GrooveRadar::GrooveRadarValueMap::SetFromSteps( const RadarValues &rv )
|
|||||||
m_fValuesNew[c] = rv[c];
|
m_fValuesNew[c] = rv[c];
|
||||||
}
|
}
|
||||||
|
|
||||||
if( !m_bValuesVisible ) // the values WERE invisible
|
if( !m_bValuesVisible ) // the values WERE invisible
|
||||||
m_PercentTowardNew = 1;
|
m_PercentTowardNew = 1;
|
||||||
else
|
else
|
||||||
m_PercentTowardNew = 0;
|
m_PercentTowardNew = 0;
|
||||||
@@ -172,14 +170,12 @@ void GrooveRadar::GrooveRadarValueMap::DrawPrimitives()
|
|||||||
|
|
||||||
DISPLAY->ClearAllTextures();
|
DISPLAY->ClearAllTextures();
|
||||||
DISPLAY->SetTextureMode( TextureUnit_1, TextureMode_Modulate );
|
DISPLAY->SetTextureMode( TextureUnit_1, TextureMode_Modulate );
|
||||||
RageSpriteVertex v[12]; // needed to draw 5 fan primitives and 10 strip primitives
|
RageSpriteVertex v[12]; // needed to draw 5 fan primitives and 10 strip primitives
|
||||||
|
|
||||||
if( !m_bValuesVisible )
|
if( !m_bValuesVisible )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//
|
|
||||||
// use a fan to draw the volume
|
// use a fan to draw the volume
|
||||||
//
|
|
||||||
RageColor color = this->m_pTempState->diffuse[0];
|
RageColor color = this->m_pTempState->diffuse[0];
|
||||||
color.a = 0.5f;
|
color.a = 0.5f;
|
||||||
v[0].p = RageVector3( 0, 0, 0 );
|
v[0].p = RageVector3( 0, 0, 0 );
|
||||||
@@ -188,7 +184,7 @@ void GrooveRadar::GrooveRadarValueMap::DrawPrimitives()
|
|||||||
v[0].c = midcolor;
|
v[0].c = midcolor;
|
||||||
v[1].c = color;
|
v[1].c = color;
|
||||||
|
|
||||||
for( int i=0; i<NUM_SHOWN_RADAR_CATEGORIES+1; i++ ) // do one extra to close the fan
|
for( int i=0; i<NUM_SHOWN_RADAR_CATEGORIES+1; i++ ) // do one extra to close the fan
|
||||||
{
|
{
|
||||||
const int c = i%NUM_SHOWN_RADAR_CATEGORIES;
|
const int c = i%NUM_SHOWN_RADAR_CATEGORIES;
|
||||||
const float fDistFromCenter =
|
const float fDistFromCenter =
|
||||||
@@ -203,9 +199,7 @@ void GrooveRadar::GrooveRadarValueMap::DrawPrimitives()
|
|||||||
|
|
||||||
DISPLAY->DrawFan( v, NUM_SHOWN_RADAR_CATEGORIES+2 );
|
DISPLAY->DrawFan( v, NUM_SHOWN_RADAR_CATEGORIES+2 );
|
||||||
|
|
||||||
//
|
|
||||||
// use a line loop to draw the thick line
|
// use a line loop to draw the thick line
|
||||||
//
|
|
||||||
for( int i=0; i<=NUM_SHOWN_RADAR_CATEGORIES; i++ )
|
for( int i=0; i<=NUM_SHOWN_RADAR_CATEGORIES; i++ )
|
||||||
{
|
{
|
||||||
const int c = i%NUM_SHOWN_RADAR_CATEGORIES;
|
const int c = i%NUM_SHOWN_RADAR_CATEGORIES;
|
||||||
@@ -220,6 +214,7 @@ void GrooveRadar::GrooveRadarValueMap::DrawPrimitives()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Add this back in. -Chris
|
// TODO: Add this back in. -Chris
|
||||||
|
// TODO: Add this back in as a theme metric. -aj
|
||||||
// switch( PREFSMAN->m_iPolygonRadar )
|
// switch( PREFSMAN->m_iPolygonRadar )
|
||||||
// {
|
// {
|
||||||
// case 0: DISPLAY->DrawLoop_LinesAndPoints( v, NUM_SHOWN_RADAR_CATEGORIES, RADAR_EDGE_WIDTH ); break;
|
// case 0: DISPLAY->DrawLoop_LinesAndPoints( v, NUM_SHOWN_RADAR_CATEGORIES, RADAR_EDGE_WIDTH ); break;
|
||||||
|
|||||||
+3
-2
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "ActorFrame.h"
|
#include "ActorFrame.h"
|
||||||
#include "Sprite.h"
|
#include "Sprite.h"
|
||||||
|
#include "AutoActor.h"
|
||||||
#include "PlayerNumber.h"
|
#include "PlayerNumber.h"
|
||||||
#include "GameConstantsAndTypes.h"
|
#include "GameConstantsAndTypes.h"
|
||||||
class Steps;
|
class Steps;
|
||||||
@@ -51,9 +52,9 @@ protected:
|
|||||||
PlayerNumber m_PlayerNumber;
|
PlayerNumber m_PlayerNumber;
|
||||||
};
|
};
|
||||||
|
|
||||||
// xxx: convert Sprites to AutoActors -aj
|
AutoActor m_sprRadarBase;
|
||||||
Sprite m_sprRadarBase;
|
|
||||||
GrooveRadarValueMap m_GrooveRadarValueMap[NUM_PLAYERS];
|
GrooveRadarValueMap m_GrooveRadarValueMap[NUM_PLAYERS];
|
||||||
|
// xxx: convert Sprite to AutoActor -aj
|
||||||
Sprite m_sprRadarLabels[NUM_RadarCategory];
|
Sprite m_sprRadarLabels[NUM_RadarCategory];
|
||||||
ActorFrame m_Frame;
|
ActorFrame m_Frame;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user