Loops and a non mac goodie.

This commit is contained in:
Jason Felds
2013-04-28 22:54:22 -04:00
parent e6e471d2df
commit 34277d80a4
+22 -17
View File
@@ -206,11 +206,11 @@ void CourseUtil::SortByMostRecentlyPlayedForMachine( vector<Course*> &vpCoursesI
{ {
Profile *pProfile = PROFILEMAN->GetMachineProfile(); Profile *pProfile = PROFILEMAN->GetMachineProfile();
FOREACH_CONST( Course*, vpCoursesInOut, c ) for (Course const * c: vpCoursesInOut)
{ {
int iNumTimesPlayed = pProfile->GetCourseNumTimesPlayed( *c ); int iNumTimesPlayed = pProfile->GetCourseNumTimesPlayed( c );
RString val = iNumTimesPlayed ? pProfile->GetCourseLastPlayedDateTime(*c).GetString() : "9999999999999"; RString val = iNumTimesPlayed ? pProfile->GetCourseLastPlayedDateTime(c).GetString() : "9999999999999";
course_sort_val[*c] = val; course_sort_val[c] = val;
} }
stable_sort( vpCoursesInOut.begin(), vpCoursesInOut.end(), CompareCoursePointersBySortValueAscending ); stable_sort( vpCoursesInOut.begin(), vpCoursesInOut.end(), CompareCoursePointersBySortValueAscending );
@@ -327,12 +327,12 @@ void CourseUtil::WarnOnInvalidMods( RString sMods )
SongOptions so; SongOptions so;
vector<RString> vs; vector<RString> vs;
split( sMods, ",", vs, true ); split( sMods, ",", vs, true );
FOREACH_CONST( RString, vs, s ) for (RString const &s : vs)
{ {
bool bValid = false; bool bValid = false;
RString sErrorDetail; RString sErrorDetail;
bValid |= po.FromOneModString( *s, sErrorDetail ); bValid |= po.FromOneModString( s, sErrorDetail );
bValid |= so.FromOneModString( *s, sErrorDetail ); bValid |= so.FromOneModString( s, sErrorDetail );
/* ==Invalid options that used to be valid== /* ==Invalid options that used to be valid==
* all noteskins (solo, note, foon, &c.) * all noteskins (solo, note, foon, &c.)
* protiming (done in Lua now) * protiming (done in Lua now)
@@ -346,7 +346,7 @@ void CourseUtil::WarnOnInvalidMods( RString sMods )
*/ */
if( !bValid ) if( !bValid )
{ {
RString sFullError = ssprintf("Error processing '%s' in '%s'", (*s).c_str(), sMods.c_str() ); RString sFullError = ssprintf("Error processing '%s' in '%s'", s.c_str(), sMods.c_str() );
if( !sErrorDetail.empty() ) if( !sErrorDetail.empty() )
sFullError += ": " + sErrorDetail; sFullError += ": " + sErrorDetail;
LOG->UserLog( "", "", "%s", sFullError.c_str() ); LOG->UserLog( "", "", "%s", sFullError.c_str() );
@@ -431,12 +431,12 @@ bool EditCourseUtil::ValidateEditCourseName( const RString &sAnswer, RString &sE
// Check for name conflicts // Check for name conflicts
vector<Course*> vpCourses; vector<Course*> vpCourses;
EditCourseUtil::GetAllEditCourses( vpCourses ); EditCourseUtil::GetAllEditCourses( vpCourses );
FOREACH_CONST( Course*, vpCourses, p ) for (Course const *p : vpCourses)
{ {
if( GAMESTATE->m_pCurCourse == *p ) if( GAMESTATE->m_pCurCourse == p )
continue; // don't comepare name against ourself continue; // don't comepare name against ourself
if( (*p)->GetDisplayFullTitle() == sAnswer ) if( p->GetDisplayFullTitle() == sAnswer )
{ {
sErrorOut = EDIT_NAME_CONFLICTS; sErrorOut = EDIT_NAME_CONFLICTS;
return false; return false;
@@ -471,10 +471,10 @@ void EditCourseUtil::GetAllEditCourses( vector<Course*> &vpCoursesOut )
{ {
vector<Course*> vpCoursesTemp; vector<Course*> vpCoursesTemp;
SONGMAN->GetAllCourses( vpCoursesTemp, false ); SONGMAN->GetAllCourses( vpCoursesTemp, false );
FOREACH_CONST( Course*, vpCoursesTemp, c ) for (Course *c : vpCoursesTemp)
{ {
if( (*c)->GetLoadedFromProfileSlot() != ProfileSlot_Invalid ) if( c->GetLoadedFromProfileSlot() != ProfileSlot_Invalid )
vpCoursesOut.push_back( *c ); vpCoursesOut.push_back( c );
} }
} }
@@ -489,13 +489,15 @@ void EditCourseUtil::LoadDefaults( Course &out )
for( int i=0; i<10000; i++ ) for( int i=0; i<10000; i++ )
{ {
out.m_sMainTitle = ssprintf("Workout %d", i+1); out.m_sMainTitle = ssprintf("Workout %d", i+1);
bool bNameInUse = false;
vector<Course*> vpCourses; vector<Course*> vpCourses;
EditCourseUtil::GetAllEditCourses( vpCourses ); EditCourseUtil::GetAllEditCourses( vpCourses );
FOREACH_CONST( Course*, vpCourses, p )
#ifdef MACOSX
bool bNameInUse = false;
for (Course const *p : vpCourses)
{ {
if( out.m_sMainTitle == (*p)->m_sMainTitle ) if( out.m_sMainTitle == p->m_sMainTitle )
{ {
bNameInUse = true; bNameInUse = true;
break; break;
@@ -503,6 +505,9 @@ void EditCourseUtil::LoadDefaults( Course &out )
} }
if( !bNameInUse ) if( !bNameInUse )
#else
if (std::any_of(vpCourses.begin(), vpCourses.end(), [&](Course const *p) { return out.m_sMainTitle == p->m_sMainTitle; }))
#endif
break; break;
} }