From 2d64af7a93d126db455f6e00fea1b5192f77ea23 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Wed, 18 Jun 2003 00:07:56 +0000 Subject: [PATCH] fix PO_STEP --- stepmania/src/ScreenPlayerOptions.cpp | 36 ++++++++++++++++++++------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/stepmania/src/ScreenPlayerOptions.cpp b/stepmania/src/ScreenPlayerOptions.cpp index e36533fdcd..361a666c1a 100644 --- a/stepmania/src/ScreenPlayerOptions.cpp +++ b/stepmania/src/ScreenPlayerOptions.cpp @@ -198,6 +198,25 @@ void ScreenPlayerOptions::ImportOptions() m_iSelectedOption[p][PO_HOLD_NOTES] = po.m_bHoldNotes ? 1 : 0; m_iSelectedOption[p][PO_DARK] = po.m_fDark ? 1 : 0; + if( GAMESTATE->m_pCurCourse ) // playing a course + { + if( GAMESTATE->m_bDifficultCourses ) + m_iSelectedOption[p][PO_STEP] = 1; + else + m_iSelectedOption[p][PO_STEP] = 0; + } + else + { + vector vNotes; + GAMESTATE->m_pCurSong->GetNotes( vNotes, GAMESTATE->GetCurrentStyleDef()->m_NotesType ); + SortNotesArrayByDifficulty( vNotes ); + for( unsigned i=0; im_pCurNotes[p] == vNotes[i] ) + m_iSelectedOption[p][PO_STEP] = i; + } + } + /* Default: */ m_iSelectedOption[p][PO_PERSPECTIVE] = 1; if(po.m_fPerspectiveTilt == -1) @@ -275,23 +294,22 @@ void ScreenPlayerOptions::ExportOptions() GAMESTATE->m_PlayerOptions[p].m_sPositioning = m_OptionRow[PO_PERSPECTIVE].choices[choice]; } - if( GAMESTATE->m_pCurCourse ) // playing a course + // + // apply difficulty selection + // + if( GAMESTATE->m_pCurCourse ) // playing a course { - if( GAMESTATE->m_bDifficultCourses ) - m_iSelectedOption[p][PO_STEP] = 1; + if( m_iSelectedOption[p][PO_STEP] == 1 ) + GAMESTATE->m_bDifficultCourses = true; else - m_iSelectedOption[p][PO_STEP] = 0; + GAMESTATE->m_bDifficultCourses = false; } else { vector vNotes; GAMESTATE->m_pCurSong->GetNotes( vNotes, GAMESTATE->GetCurrentStyleDef()->m_NotesType ); SortNotesArrayByDifficulty( vNotes ); - for( unsigned i=0; im_pCurNotes[p] == vNotes[i] ) - m_iSelectedOption[p][PO_STEP] = i; - } + GAMESTATE->m_pCurNotes[p] = vNotes[ m_iSelectedOption[p][PO_STEP] ]; } if( m_iSelectedOption[p][PO_CHARACTER] > 0 )