Cleanup. Add metricable sort change score tween.
This commit is contained in:
@@ -51,6 +51,8 @@ const int NUM_SCORE_DIGITS = 9;
|
|||||||
#define NEXT_OPTIONS_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectMusic","NextOptionsScreen"+Capitalize(PlayModeToString(play_mode)))
|
#define NEXT_OPTIONS_SCREEN( play_mode ) THEME->GetMetric ("ScreenSelectMusic","NextOptionsScreen"+Capitalize(PlayModeToString(play_mode)))
|
||||||
#define COURSE_CONTENTS_X THEME->GetMetricF("ScreenSelectMusic","CourseContentsX")
|
#define COURSE_CONTENTS_X THEME->GetMetricF("ScreenSelectMusic","CourseContentsX")
|
||||||
#define COURSE_CONTENTS_Y THEME->GetMetricF("ScreenSelectMusic","CourseContentsY")
|
#define COURSE_CONTENTS_Y THEME->GetMetricF("ScreenSelectMusic","CourseContentsY")
|
||||||
|
#define SCORE_SORT_CHANGE_COMMAND(i) THEME->GetMetric ("ScreenSelectMusic",ssprintf("ScoreP%iSortChangeCommand", i+1))
|
||||||
|
#define SCORE_FRAME_SORT_CHANGE_COMMAND(i) THEME->GetMetric ("ScreenSelectMusic",ssprintf("ScoreFrameP%iSortChangeCommand", i+1))
|
||||||
|
|
||||||
static const ScreenMessage SM_AllowOptionsMenuRepeat = ScreenMessage(SM_User+1);
|
static const ScreenMessage SM_AllowOptionsMenuRepeat = ScreenMessage(SM_User+1);
|
||||||
CString g_sFallbackCDTitlePath;
|
CString g_sFallbackCDTitlePath;
|
||||||
@@ -461,32 +463,12 @@ void ScreenSelectMusic::ExitCourseDisplayMode()
|
|||||||
|
|
||||||
void ScreenSelectMusic::TweenScoreOnAndOffAfterChangeSort()
|
void ScreenSelectMusic::TweenScoreOnAndOffAfterChangeSort()
|
||||||
{
|
{
|
||||||
/* XXX metric this with MusicWheel::TweenOnScreen */
|
|
||||||
float factor = 0.25f;
|
|
||||||
|
|
||||||
vector<Actor*> apActorsInScore;
|
|
||||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||||
{
|
{
|
||||||
apActorsInScore.push_back( &m_sprHighScoreFrame[p] );
|
if( !GAMESTATE->IsHumanPlayer(p) )
|
||||||
apActorsInScore.push_back( &m_textHighScore[p] );
|
continue; // skip
|
||||||
}
|
m_textHighScore[p].Command( SCORE_SORT_CHANGE_COMMAND(p) );
|
||||||
for( unsigned i=0; i<apActorsInScore.size(); i++ )
|
m_sprHighScoreFrame[p].Command( SCORE_FRAME_SORT_CHANGE_COMMAND(p) );
|
||||||
{
|
|
||||||
/* Grab the tween destination. (If we're tweening, this is where
|
|
||||||
* it'll end up; otherwise it's the static position.) */
|
|
||||||
Actor::TweenState original = apActorsInScore[i]->DestTweenState();
|
|
||||||
|
|
||||||
apActorsInScore[i]->StopTweening();
|
|
||||||
|
|
||||||
float fOriginalX = apActorsInScore[i]->GetX();
|
|
||||||
apActorsInScore[i]->BeginTweening( factor*0.5f, TWEEN_DECELERATE ); // tween off screen
|
|
||||||
apActorsInScore[i]->SetX( fOriginalX+400 );
|
|
||||||
|
|
||||||
apActorsInScore[i]->BeginTweening( factor*0.5f ); // sleep
|
|
||||||
|
|
||||||
/* Go back to where we were (or to where we were going.) */
|
|
||||||
apActorsInScore[i]->BeginTweening( factor*1, TWEEN_ACCELERATE ); // tween back on screen
|
|
||||||
apActorsInScore[i]->SetLatestTween(original);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch( GAMESTATE->m_SongSortOrder )
|
switch( GAMESTATE->m_SongSortOrder )
|
||||||
@@ -794,15 +776,6 @@ void ScreenSelectMusic::MenuStart( PlayerNumber pn )
|
|||||||
switch( m_MusicWheel.GetSelectedType() )
|
switch( m_MusicWheel.GetSelectedType() )
|
||||||
{
|
{
|
||||||
case TYPE_SONG: {
|
case TYPE_SONG: {
|
||||||
if( !m_MusicWheel.GetSelectedSong()->HasMusic() )
|
|
||||||
{
|
|
||||||
/* TODO: gray these out.
|
|
||||||
*
|
|
||||||
* XXX: also, make sure they're not selected by roulette */
|
|
||||||
SCREENMAN->Prompt( SM_None, "ERROR:\n \nThis song does not have a music file\n and cannot be played." );
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool bIsNew = m_MusicWheel.GetSelectedSong()->IsNew();
|
bool bIsNew = m_MusicWheel.GetSelectedSong()->IsNew();
|
||||||
bool bIsHard = false;
|
bool bIsHard = false;
|
||||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||||
|
|||||||
Reference in New Issue
Block a user