add graphic for courses that have mods
This commit is contained in:
@@ -727,6 +727,10 @@ BalloonX=392
|
||||
BalloonY=140
|
||||
BalloonOnCommand=linear,0.2;zoomy,1;bob;effectmagnitude,0,10,0
|
||||
BalloonOffCommand=linear,0.2;zoomy,0
|
||||
CourseHasModsX=
|
||||
CourseHasModsY=
|
||||
CourseHasModsOffCommand=
|
||||
CourseHasModsOnCommand=
|
||||
OptionsMessageX=320
|
||||
OptionsMessageY=240
|
||||
OptionsMessageOnCommand=zoomy,0;linear,0.25;zoomy,1;sleep,1;linear,0.25;zoomy,0
|
||||
|
||||
@@ -741,6 +741,17 @@ void Course::GetCourseInfo( StepsType nt, vector<Course::Info> &ci, CourseDiffic
|
||||
m_InfoCache[params] = ci;
|
||||
}
|
||||
|
||||
bool Course::HasMods() const
|
||||
{
|
||||
for( int i=0; i<m_entries.size(); i++ )
|
||||
{
|
||||
if( !m_entries[i].modifiers.empty() )
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void Course::ClearCache()
|
||||
{
|
||||
m_InfoCache.clear();
|
||||
|
||||
@@ -115,6 +115,7 @@ public:
|
||||
|
||||
// Dereferences course_entries and returns only the playable Songs and Steps
|
||||
void GetCourseInfo( StepsType nt, vector<Info> &ci, CourseDifficulty cd = COURSE_DIFFICULTY_REGULAR ) const;
|
||||
bool HasMods() const;
|
||||
|
||||
int GetEstimatedNumStages() const { return m_entries.size(); }
|
||||
bool HasCourseDifficulty( StepsType nt, CourseDifficulty cd ) const;
|
||||
|
||||
@@ -297,6 +297,9 @@ ScreenSelectMusic::ScreenSelectMusic( CString sClassName ) : Screen( sClassName
|
||||
TEXTUREMAN->CacheTexture( THEME->GetPathToG("ScreenSelectMusic balloon marathon") );
|
||||
this->AddChild( &m_sprBalloon );
|
||||
|
||||
m_sprCourseHasMods.LoadAndSetName( m_sName, "CourseHasMods" );
|
||||
this->AddChild( m_sprCourseHasMods );
|
||||
|
||||
m_sprOptionsMessage.SetName( "OptionsMessage" );
|
||||
m_sprOptionsMessage.Load( THEME->GetPathToG("ScreenSelectMusic options message 1x2") );
|
||||
m_sprOptionsMessage.StopAnimating();
|
||||
@@ -581,6 +584,7 @@ void ScreenSelectMusic::TweenOffScreen()
|
||||
OFF_COMMAND( m_MusicWheelUnder );
|
||||
OFF_COMMAND( m_MusicWheel );
|
||||
OFF_COMMAND( m_sprBalloon );
|
||||
OFF_COMMAND( m_sprCourseHasMods );
|
||||
OFF_COMMAND( m_Artist );
|
||||
OFF_COMMAND( m_MachineRank );
|
||||
|
||||
@@ -1302,6 +1306,9 @@ void ScreenSelectMusic::AfterMusicChange()
|
||||
|
||||
m_sprBalloon.StopTweening();
|
||||
OFF_COMMAND( m_sprBalloon );
|
||||
|
||||
m_sprCourseHasMods->StopTweening();
|
||||
OFF_COMMAND( m_sprCourseHasMods );
|
||||
}
|
||||
break;
|
||||
case TYPE_SONG:
|
||||
@@ -1366,6 +1373,9 @@ void ScreenSelectMusic::AfterMusicChange()
|
||||
OFF_COMMAND( m_sprBalloon );
|
||||
}
|
||||
|
||||
m_sprCourseHasMods->StopTweening();
|
||||
OFF_COMMAND( m_sprCourseHasMods );
|
||||
|
||||
m_Artists.push_back( pSong->GetDisplayArtist() );
|
||||
m_AltArtists.push_back( pSong->GetTranslitArtist() );
|
||||
}
|
||||
@@ -1400,6 +1410,10 @@ void ScreenSelectMusic::AfterMusicChange()
|
||||
|
||||
m_sprBalloon.StopTweening();
|
||||
OFF_COMMAND( m_sprBalloon );
|
||||
|
||||
m_sprCourseHasMods->StopTweening();
|
||||
OFF_COMMAND( m_sprCourseHasMods );
|
||||
|
||||
break;
|
||||
case TYPE_COURSE:
|
||||
{
|
||||
@@ -1440,6 +1454,22 @@ void ScreenSelectMusic::AfterMusicChange()
|
||||
if( index != -1 )
|
||||
m_MachineRank.SetText( ssprintf("%i", index+1) );
|
||||
|
||||
|
||||
|
||||
m_sprBalloon.StopTweening();
|
||||
OFF_COMMAND( m_sprBalloon );
|
||||
|
||||
if( pCourse->HasMods() )
|
||||
{
|
||||
m_sprCourseHasMods->StopTweening();
|
||||
SET_XY_AND_ON_COMMAND( m_sprCourseHasMods );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sprCourseHasMods->StopTweening();
|
||||
OFF_COMMAND( m_sprCourseHasMods );
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
||||
@@ -98,6 +98,7 @@ protected:
|
||||
MusicWheel m_MusicWheel;
|
||||
AutoActor m_MusicWheelUnder;
|
||||
Sprite m_sprBalloon;
|
||||
AutoActor m_sprCourseHasMods;
|
||||
DifficultyDisplay m_DifficultyDisplay;
|
||||
DifficultyList m_DifficultyList;
|
||||
CourseContentsList m_CourseContentsFrame;
|
||||
|
||||
Reference in New Issue
Block a user