diff --git a/stepmania/src/ScreenUnlock.cpp b/stepmania/src/ScreenUnlock.cpp index 8593ee0e30..308683e3f6 100644 --- a/stepmania/src/ScreenUnlock.cpp +++ b/stepmania/src/ScreenUnlock.cpp @@ -119,7 +119,7 @@ ScreenUnlock::ScreenUnlock( CString sClassName ) : ScreenAttract( sClassName ) DisplayedSong = UNLOCKMAN->m_SongEntries[i-1].m_sSongName; DisplayedSong.MakeUpper(); - UnlockEntry *pSong = UNLOCKMAN->FindLockEntry(DisplayedSong); + const UnlockEntry *pSong = UNLOCKMAN->FindLockEntry(DisplayedSong); if ( pSong == NULL ) // no such song continue; @@ -247,7 +247,7 @@ ScreenUnlock::ScreenUnlock( CString sClassName ) : ScreenAttract( sClassName ) } DisplayedSong.MakeUpper(); - UnlockEntry *pSong = UNLOCKMAN->FindLockEntry(DisplayedSong); + const UnlockEntry *pSong = UNLOCKMAN->FindLockEntry(DisplayedSong); if (pSong->m_pSong == NULL) continue; diff --git a/stepmania/src/UnlockSystem.cpp b/stepmania/src/UnlockSystem.cpp index 97ffafc351..95c4bba803 100644 --- a/stepmania/src/UnlockSystem.cpp +++ b/stepmania/src/UnlockSystem.cpp @@ -55,24 +55,24 @@ void UnlockSystem::UnlockSong( const Song *song ) UnlockCode( p->m_iCode ); } -bool UnlockSystem::CourseIsLocked( const Course *course ) +bool UnlockSystem::CourseIsLocked( const Course *course ) const { if( !PREFSMAN->m_bUseUnlockSystem ) return false; - UnlockEntry *p = FindCourse( course ); + const UnlockEntry *p = FindCourse( course ); if( p == NULL ) return false; return p->IsLocked(); } -bool UnlockSystem::SongIsLocked( const Song *song ) +bool UnlockSystem::SongIsLocked( const Song *song ) const { if( !PREFSMAN->m_bUseUnlockSystem ) return false; - UnlockEntry *p = FindSong( song ); + const UnlockEntry *p = FindSong( song ); if( p == NULL ) return false; @@ -80,7 +80,7 @@ bool UnlockSystem::SongIsLocked( const Song *song ) } /* Return true if the song is available in roulette (overriding #SELECTABLE). */ -bool UnlockSystem::SongIsRoulette( const Song *song ) +bool UnlockSystem::SongIsRoulette( const Song *song ) const { if( !PREFSMAN->m_bUseUnlockSystem ) return false; @@ -96,7 +96,7 @@ bool UnlockSystem::SongIsRoulette( const Song *song ) return true; } -UnlockEntry *UnlockSystem::FindLockEntry( CString songname ) +const UnlockEntry *UnlockSystem::FindLockEntry( CString songname ) const { for( unsigned i = 0; i < m_SongEntries.size(); i++ ) if( !songname.CompareNoCase(m_SongEntries[i].m_sSongName) ) @@ -105,7 +105,7 @@ UnlockEntry *UnlockSystem::FindLockEntry( CString songname ) return NULL; } -UnlockEntry *UnlockSystem::FindSong( const Song *pSong ) +const UnlockEntry *UnlockSystem::FindSong( const Song *pSong ) const { for( unsigned i = 0; i < m_SongEntries.size(); i++ ) if( m_SongEntries[i].m_pSong == pSong ) @@ -114,7 +114,7 @@ UnlockEntry *UnlockSystem::FindSong( const Song *pSong ) return NULL; } -UnlockEntry *UnlockSystem::FindCourse( const Course *pCourse ) +const UnlockEntry *UnlockSystem::FindCourse( const Course *pCourse ) const { for(unsigned i = 0; i < m_SongEntries.size(); i++) if (m_SongEntries[i].m_pCourse== pCourse ) diff --git a/stepmania/src/UnlockSystem.h b/stepmania/src/UnlockSystem.h index 28f5da856c..4efb819b93 100644 --- a/stepmania/src/UnlockSystem.h +++ b/stepmania/src/UnlockSystem.h @@ -65,33 +65,34 @@ public: float SongPointsUntilNextUnlock() const { return PointsUntilNextUnlock(UNLOCK_SONG_POINTS); } // Used on select screens: - bool SongIsLocked( const Song *song ); - bool SongIsRoulette( const Song *song ); - bool CourseIsLocked( const Course *course ); + bool SongIsLocked( const Song *song ) const; + bool SongIsRoulette( const Song *song ) const; + bool CourseIsLocked( const Course *course ) const; // Gets number of unlocks for title screen int GetNumUnlocks() const; - void UpdateSongs(); + const UnlockEntry *FindLockEntry( CString lockname ) const; + + void GetPoints( const Profile *pProfile, float fScores[NUM_UNLOCK_TYPES] ) const; void UnlockCode( int num ); // unlocks the song's code void UnlockSong( const Song *song ); - UnlockEntry *FindLockEntry( CString lockname ); - // All locked songs are stored here vector m_SongEntries; - void GetPoints( const Profile *pProfile, float fScores[NUM_UNLOCK_TYPES] ) const; + // If global song or course points change, call to update + void UpdateSongs(); private: // read unlocks bool Load(); - UnlockEntry *FindSong( const Song *pSong ); - UnlockEntry *FindCourse( const Course *pCourse ); + const UnlockEntry *FindSong( const Song *pSong ) const; + const UnlockEntry *FindCourse( const Course *pCourse ) const; set m_RouletteCodes; // "codes" which are available in roulette and which unlock if rouletted };