From 57e85031b23a5924f2ff9d87564f4069452e1136 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 28 Dec 2003 06:00:27 +0000 Subject: [PATCH] combo graph metricing --- stepmania/src/ComboGraph.cpp | 23 +++++++++++++++++------ stepmania/src/ComboGraph.h | 4 +++- stepmania/src/ScreenEvaluation.cpp | 2 +- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/stepmania/src/ComboGraph.cpp b/stepmania/src/ComboGraph.cpp index 3f3eea9003..9c1d8e8bab 100644 --- a/stepmania/src/ComboGraph.cpp +++ b/stepmania/src/ComboGraph.cpp @@ -3,12 +3,13 @@ #include "ThemeManager.h" #include "RageLog.h" #include "StageStats.h" +#include "ActorUtil.h" const int MinComboSizeToShow = 5; void ComboGraph::Load( CString Path, const StageStats &s, PlayerNumber pn ) { - ASSERT( m_Actors.size() == 0 ); + ASSERT( m_SubActors.size() == 0 ); /* Find the largest combo. */ int MaxComboSize = 0; @@ -27,6 +28,7 @@ void ComboGraph::Load( CString Path, const StageStats &s, PlayerNumber pn ) LOG->Trace("combo %i is %f+%f", i, combo.start, combo.size); Sprite *sprite = new Sprite; + sprite->SetName( "ComboBar" ); const CString path = ssprintf( "%s %s", Path.c_str(), IsMax? "max":"normal" ); sprite->Load( THEME->GetPathToG(path) ); @@ -42,7 +44,7 @@ void ComboGraph::Load( CString Path, const StageStats &s, PlayerNumber pn ) if( width < 0 ) width = sprite->GetUnzoomedWidth(); - m_Actors.push_back( sprite ); + m_Sprites.push_back( sprite ); this->AddChild( sprite ); } @@ -60,6 +62,7 @@ void ComboGraph::Load( CString Path, const StageStats &s, PlayerNumber pn ) continue; BitmapText *text = new BitmapText; + text->SetName( "ComboMaxNumber" ); text->LoadFromFont( THEME->GetPathToF(Path) ); const float start = SCALE( combo.start, s.fFirstPos[pn], s.fLastPos[pn], 0.0f, 1.0f ); @@ -70,18 +73,26 @@ void ComboGraph::Load( CString Path, const StageStats &s, PlayerNumber pn ) text->SetX( CenterXPos ); text->SetText( ssprintf("%i",combo.GetStageCnt()) ); - text->Command( "diffusealpha,0;sleep,.5f;linear,.3;diffusealpha,1" ); + ON_COMMAND( text ); - m_Actors.push_back( text ); + m_Numbers.push_back( text ); this->AddChild( text ); } } +void ComboGraph::TweenOffScreen() +{ + for( unsigned i = 0; i < m_SubActors.size(); ++i ) + OFF_COMMAND( m_SubActors[i] ); +} + void ComboGraph::Unload() { - for( unsigned i = 0; i < m_Actors.size(); ++i ) - delete m_Actors[i]; + for( unsigned i = 0; i < m_SubActors.size(); ++i ) + delete m_SubActors[i]; + m_Sprites.clear(); + m_Numbers.clear(); m_SubActors.clear(); } diff --git a/stepmania/src/ComboGraph.h b/stepmania/src/ComboGraph.h index 9daa3fdf2d..a583f2c1b3 100644 --- a/stepmania/src/ComboGraph.h +++ b/stepmania/src/ComboGraph.h @@ -13,9 +13,11 @@ public: ~ComboGraph() { Unload(); } void Load( CString Path, const StageStats &s, PlayerNumber pn ); void Unload(); + void TweenOffScreen(); private: - vector m_Actors; + vector m_Sprites; + vector m_Numbers; }; #endif diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 553866bd4c..736c0d2ab1 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -411,7 +411,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName ) : Screen(sClassName) if( !GAMESTATE->IsPlayerEnabled(p) ) continue; // skip - m_Combo[p].SetName( "ComboGraph", ssprintf("ComboP%i",p+1) ); + m_Combo[p].SetName( m_sName, ssprintf("ComboP%i",p+1) ); m_Combo[p].Load( ssprintf("ScreenEvaluationStage combo p%i", p+1), stageStats, (PlayerNumber)p ); SET_XY_AND_ON_COMMAND( m_Combo[p] );