hide tutorial songs in all modes but PLAY_MODE_ARCADE

This commit is contained in:
Chris Danford
2004-06-10 08:43:53 +00:00
parent 14aa978423
commit cb6800ccd4
3 changed files with 29 additions and 8 deletions
+14 -8
View File
@@ -1309,15 +1309,21 @@ void MusicWheel::SetOpenGroup(CString group, SortOrder so)
m_CurWheelItemData.clear(); m_CurWheelItemData.clear();
vector<WheelItemData> &from = m_WheelItemDatas[so]; vector<WheelItemData> &from = m_WheelItemDatas[so];
unsigned i; for( unsigned i = 0; i < from.size(); ++i )
for(i = 0; i < from.size(); ++i)
{ {
if((from[i].m_Type == TYPE_SONG || WheelItemData &d = from[i];
from[i].m_Type == TYPE_COURSE) && if( (d.m_Type == TYPE_SONG || d.m_Type == TYPE_COURSE) &&
!from[i].m_sSectionName.empty() && !d.m_sSectionName.empty() &&
from[i].m_sSectionName != group) d.m_sSectionName != group )
continue; continue;
m_CurWheelItemData.push_back(&from[i]);
/* Only show tutorial songs in arcade */
if( GAMESTATE->m_PlayMode!=PLAY_MODE_ARCADE &&
d.m_pSong &&
d.m_pSong->IsTutorial() )
continue;
m_CurWheelItemData.push_back(&d);
} }
@@ -1326,7 +1332,7 @@ void MusicWheel::SetOpenGroup(CString group, SortOrder so)
// //
m_iSelection = 0; m_iSelection = 0;
for( i=0; i<m_CurWheelItemData.size(); i++ ) for( unsigned i=0; i<m_CurWheelItemData.size(); i++ )
{ {
if( m_CurWheelItemData[i] == old ) if( m_CurWheelItemData[i] == old )
{ {
+14
View File
@@ -26,6 +26,7 @@
#include "ProfileManager.h" #include "ProfileManager.h"
#include "StageStats.h" #include "StageStats.h"
#include "StepsUtil.h" #include "StepsUtil.h"
#include "Foreach.h"
#include "NotesLoaderSM.h" #include "NotesLoaderSM.h"
#include "NotesLoaderDWI.h" #include "NotesLoaderDWI.h"
@@ -1184,6 +1185,19 @@ bool Song::IsEasy( StepsType st ) const
return false; return false;
} }
bool Song::IsTutorial() const
{
FOREACH_CONST( Steps*, m_vpSteps, s )
{
if( (*s)->m_StepsType == STEPS_TYPE_LIGHTS_CABINET )
continue; // ignore
if( (*s)->GetDifficulty() != DIFFICULTY_BEGINNER )
return false;
}
return true;
}
bool Song::HasEdits( StepsType st ) const bool Song::HasEdits( StepsType st ) const
{ {
for( unsigned i=0; i<m_vpSteps.size(); i++ ) for( unsigned i=0; i<m_vpSteps.size(); i++ )
+1
View File
@@ -180,6 +180,7 @@ public:
Steps* GetStepsByDescription( StepsType st, CString sDescription ) const; Steps* GetStepsByDescription( StepsType st, CString sDescription ) const;
Steps* GetClosestNotes( StepsType st, Difficulty dc ) const; Steps* GetClosestNotes( StepsType st, Difficulty dc ) const;
bool IsEasy( StepsType st ) const; bool IsEasy( StepsType st ) const;
bool IsTutorial() const;
bool HasEdits( StepsType st ) const; bool HasEdits( StepsType st ) const;
SelectionDisplay GetDisplayed() const; SelectionDisplay GetDisplayed() const;
bool NormallyDisplayed() const { return GetDisplayed() == SHOW_ALWAYS; } bool NormallyDisplayed() const { return GetDisplayed() == SHOW_ALWAYS; }