save m_PreferredStepsType, too. Fixes inconsistent behavior
in ScreenSelectMusic::SwitchToPreferredDifficulty due to m_PreferredDifficulty being set and m_PreferredStepsType not.
This commit is contained in:
@@ -737,6 +737,9 @@ void GameState::LoadCurrentSettingsFromProfile( PlayerNumber pn )
|
||||
m_PreferredDifficulty[pn].Set( pProfile->m_LastDifficulty );
|
||||
if( pProfile->m_LastCourseDifficulty != Difficulty_Invalid )
|
||||
m_PreferredCourseDifficulty[pn].Set( pProfile->m_LastCourseDifficulty );
|
||||
// Only set the PreferredStepsType if it wasn't already set by a GameCommand (or by an earlier profile)
|
||||
if( m_PreferredStepsType == StepsType_Invalid && pProfile->m_LastStepsType != StepsType_Invalid )
|
||||
m_PreferredStepsType.Set( pProfile->m_LastStepsType );
|
||||
if( m_pPreferredSong == NULL )
|
||||
m_pPreferredSong = pProfile->m_lastSong.ToSong();
|
||||
if( m_pPreferredCourse == NULL )
|
||||
@@ -759,6 +762,8 @@ void GameState::SaveCurrentSettingsToProfile( PlayerNumber pn )
|
||||
pProfile->m_LastDifficulty = m_PreferredDifficulty[pn];
|
||||
if( m_PreferredCourseDifficulty[pn] != Difficulty_Invalid )
|
||||
pProfile->m_LastCourseDifficulty = m_PreferredCourseDifficulty[pn];
|
||||
if( m_PreferredStepsType != StepsType_Invalid )
|
||||
pProfile->m_LastStepsType = m_PreferredStepsType;
|
||||
if( m_pPreferredSong )
|
||||
pProfile->m_lastSong.FromSong( m_pPreferredSong );
|
||||
if( m_pPreferredCourse )
|
||||
|
||||
@@ -114,6 +114,7 @@ void Profile::InitGeneralData()
|
||||
m_SortOrder = SortOrder_Invalid;
|
||||
m_LastDifficulty = Difficulty_Invalid;
|
||||
m_LastCourseDifficulty = Difficulty_Invalid;
|
||||
m_LastStepsType = StepsType_Invalid;
|
||||
m_lastSong.Unset();
|
||||
m_lastCourse.Unset();
|
||||
m_iTotalPlays = 0;
|
||||
@@ -1064,6 +1065,8 @@ XNode* Profile::SaveGeneralDataCreateNode() const
|
||||
pGeneralDataNode->AppendChild( "SortOrder", SortOrderToString(m_SortOrder) );
|
||||
pGeneralDataNode->AppendChild( "LastDifficulty", DifficultyToString(m_LastDifficulty) );
|
||||
pGeneralDataNode->AppendChild( "LastCourseDifficulty", DifficultyToString(m_LastCourseDifficulty) );
|
||||
if( m_LastStepsType != StepsType_Invalid )
|
||||
pGeneralDataNode->AppendChild( "LastStepsType", GAMEMAN->StepsTypeToString(m_LastStepsType) );
|
||||
pGeneralDataNode->AppendChild( m_lastSong.CreateNode() );
|
||||
pGeneralDataNode->AppendChild( m_lastCourse.CreateNode() );
|
||||
pGeneralDataNode->AppendChild( "TotalPlays", m_iTotalPlays );
|
||||
@@ -1234,6 +1237,7 @@ void Profile::LoadGeneralDataFromNode( const XNode* pNode )
|
||||
pNode->GetChildValue( "SortOrder", s ); m_SortOrder = StringToSortOrder( s );
|
||||
pNode->GetChildValue( "LastDifficulty", s ); m_LastDifficulty = StringToDifficulty( s );
|
||||
pNode->GetChildValue( "LastCourseDifficulty", s ); m_LastCourseDifficulty = StringToDifficulty( s );
|
||||
pNode->GetChildValue( "LastStepsType", s ); m_LastStepsType = GAMEMAN->StringToStepsType( s );
|
||||
pTemp = pNode->GetChild( "Song" ); if( pTemp ) m_lastSong.LoadFromNode( pTemp );
|
||||
pTemp = pNode->GetChild( "Course" ); if( pTemp ) m_lastCourse.LoadFromNode( pTemp );
|
||||
pNode->GetChildValue( "TotalPlays", m_iTotalPlays );
|
||||
|
||||
@@ -111,6 +111,7 @@ public:
|
||||
SortOrder m_SortOrder;
|
||||
Difficulty m_LastDifficulty;
|
||||
CourseDifficulty m_LastCourseDifficulty;
|
||||
StepsType m_LastStepsType;
|
||||
SongID m_lastSong;
|
||||
CourseID m_lastCourse;
|
||||
int m_iTotalPlays;
|
||||
|
||||
Reference in New Issue
Block a user