Use IncludeAutogenTypes option to exclude autogen notes from random course selections

This commit is contained in:
Eric Holbrook
2003-04-15 22:55:24 +00:00
parent 228c9ba96b
commit 1911fe989e
3 changed files with 22 additions and 22 deletions
+9 -9
View File
@@ -401,9 +401,9 @@ void Course::GetStageInfo(
if( pSong )
{
if( e.difficulty == DIFFICULTY_INVALID )
pNotes = pSong->GetNotes( nt, e.low_meter, e.high_meter );
pNotes = pSong->GetNotes( nt, e.low_meter, e.high_meter, PREFSMAN->m_bAutogenMissingTypes );
else
pNotes = pSong->GetNotes( nt, e.difficulty );
pNotes = pSong->GetNotes( nt, e.difficulty, PREFSMAN->m_bAutogenMissingTypes );
}
break;
case Entry::random:
@@ -421,9 +421,9 @@ void Course::GetStageInfo(
continue; /* wrong group */
if( e.difficulty == DIFFICULTY_INVALID )
pNotes = pSong->GetNotes( nt, e.low_meter, e.high_meter );
pNotes = pSong->GetNotes( nt, e.low_meter, e.high_meter, PREFSMAN->m_bAutogenMissingTypes );
else
pNotes = pSong->GetNotes( nt, e.difficulty );
pNotes = pSong->GetNotes( nt, e.difficulty, PREFSMAN->m_bAutogenMissingTypes );
if( pNotes ) // found a match
break; // stop searching
@@ -450,8 +450,8 @@ void Course::GetStageInfo(
Song* pSong = vSongsByMostPlayed[j];
if( pSong->m_fMusicLengthSeconds > PREFSMAN->m_fLongVerSongSeconds ||
pSong->m_fMusicLengthSeconds > PREFSMAN->m_fMarathonVerSongSeconds ||
!pSong->GetNotes(nt, DIFFICULTY_MEDIUM) ||
!pSong->GetNotes(nt, DIFFICULTY_HARD) )
!pSong->GetNotes(nt, DIFFICULTY_MEDIUM, PREFSMAN->m_bAutogenMissingTypes) ||
!pSong->GetNotes(nt, DIFFICULTY_HARD, PREFSMAN->m_bAutogenMissingTypes) )
vSongsByMostPlayed.erase( vSongsByMostPlayed.begin()+j );
}
}
@@ -472,9 +472,9 @@ void Course::GetStageInfo(
}
if( e.difficulty == DIFFICULTY_INVALID )
pNotes = pSong->GetNotes( nt, e.low_meter, e.high_meter );
pNotes = pSong->GetNotes( nt, e.low_meter, e.high_meter, PREFSMAN->m_bAutogenMissingTypes );
else
pNotes = pSong->GetNotes( nt, e.difficulty );
pNotes = pSong->GetNotes( nt, e.difficulty, PREFSMAN->m_bAutogenMissingTypes );
if( pNotes == NULL )
pNotes = pSong->GetClosestNotes( nt, DIFFICULTY_MEDIUM );
@@ -495,7 +495,7 @@ void Course::GetStageInfo(
if(dc < DIFFICULTY_CHALLENGE)
{
dc = Difficulty(dc + 1);
Notes* pNewNotes = pSong->GetNotes( nt, dc );
Notes* pNewNotes = pSong->GetNotes( nt, dc, PREFSMAN->m_bAutogenMissingTypes );
if(pNewNotes)
pNotes = pNewNotes;
}
+10 -10
View File
@@ -716,20 +716,20 @@ Notes* Song::GetNotes( NotesType nt, Difficulty dc, bool bIncludeAutoGen ) const
return vNotes[0];
}
Notes* Song::GetNotes( NotesType nt, int iMeterLow, int iMeterHigh ) const
Notes* Song::GetNotes( NotesType nt, int iMeterLow, int iMeterHigh, bool bIncludeAutoGen ) const
{
vector<Notes*> vNotes;
GetNotes( vNotes, nt, DIFFICULTY_INVALID, iMeterLow, iMeterHigh );
GetNotes( vNotes, nt, DIFFICULTY_INVALID, iMeterLow, iMeterHigh, "", bIncludeAutoGen );
if( vNotes.size() == 0 )
return NULL;
else
return vNotes[0];
}
Notes* Song::GetNotes( NotesType nt, CString sDescription ) const
Notes* Song::GetNotes( NotesType nt, CString sDescription, bool bIncludeAutoGen ) const
{
vector<Notes*> vNotes;
GetNotes( vNotes, nt, DIFFICULTY_INVALID, -1, -1, sDescription );
GetNotes( vNotes, nt, DIFFICULTY_INVALID, -1, -1, sDescription, bIncludeAutoGen );
if( vNotes.size() == 0 )
return NULL;
else
@@ -737,31 +737,31 @@ Notes* Song::GetNotes( NotesType nt, CString sDescription ) const
}
Notes* Song::GetClosestNotes( NotesType nt, Difficulty dc ) const
Notes* Song::GetClosestNotes( NotesType nt, Difficulty dc, bool bIncludeAutoGen ) const
{
Difficulty newDC = dc;
Notes* pNotes;
pNotes = GetNotes( nt, newDC );
pNotes = GetNotes( nt, newDC, bIncludeAutoGen );
if( pNotes )
return pNotes;
newDC = (Difficulty)(dc-1);
CLAMP( (int&)newDC, 0, NUM_DIFFICULTIES-1 );
pNotes = GetNotes( nt, newDC );
pNotes = GetNotes( nt, newDC, bIncludeAutoGen );
if( pNotes )
return pNotes;
newDC = (Difficulty)(dc+1);
CLAMP( (int&)newDC, 0, NUM_DIFFICULTIES-1 );
pNotes = GetNotes( nt, newDC );
pNotes = GetNotes( nt, newDC, bIncludeAutoGen );
if( pNotes )
return pNotes;
newDC = (Difficulty)(dc-2);
CLAMP( (int&)newDC, 0, NUM_DIFFICULTIES-1 );
pNotes = GetNotes( nt, newDC );
pNotes = GetNotes( nt, newDC, bIncludeAutoGen );
if( pNotes )
return pNotes;
newDC = (Difficulty)(dc+2);
CLAMP( (int&)newDC, 0, NUM_DIFFICULTIES-1 );
pNotes = GetNotes( nt, newDC );
pNotes = GetNotes( nt, newDC, bIncludeAutoGen );
return pNotes;
}
+3 -3
View File
@@ -228,9 +228,9 @@ public:
bool SongHasNotesTypeAndDifficulty( NotesType nt, Difficulty dc ) const;
void GetNotes( vector<Notes*>& arrayAddTo, NotesType nt, Difficulty dc = DIFFICULTY_INVALID, int iMeterLow = -1, int iMeterHigh = -1, CString sDescription = "", bool bIncludeAutoGen = true ) const;
Notes* GetNotes( NotesType nt, Difficulty dc, bool bIncludeAutoGen = true ) const;
Notes* GetNotes( NotesType nt, int iMeterLow, int iMeterHigh ) const;
Notes* GetNotes( NotesType nt, CString sDescription ) const;
Notes* GetClosestNotes( NotesType nt, Difficulty dc ) const;
Notes* GetNotes( NotesType nt, int iMeterLow, int iMeterHigh, bool bIncludeAutoGen = true ) const;
Notes* GetNotes( NotesType nt, CString sDescription, bool bIncludeAutoGen = true ) const;
Notes* GetClosestNotes( NotesType nt, Difficulty dc, bool bIncludeAutoGen = true ) const;
void GetEdits( vector<Notes*>& arrayAddTo, NotesType nt, bool bIncludeAutoGen = true ) const;
int GetNumTimesPlayed() const;
bool IsNew() const;