diff --git a/stepmania/src/ScreenSongOptions.cpp b/stepmania/src/ScreenSongOptions.cpp index 62c6efb5f9..b7adcdb285 100644 --- a/stepmania/src/ScreenSongOptions.cpp +++ b/stepmania/src/ScreenSongOptions.cpp @@ -26,16 +26,18 @@ enum { SO_FAIL, SO_ASSIST, SO_RATE, + SO_AUTOADJ, NUM_SONG_OPTIONS_LINES }; OptionRowData g_SongOptionsLines[NUM_SONG_OPTIONS_LINES] = { - { "Life\nType", 2, {"BAR","BATTERY"} }, - { "Bar\nDrain", 3, {"NORMAL","NO RECOVER","SUDDEN DEATH"} }, - { "Bat\nLives", 10, {"1","2","3","4","5","6","7","8","9","10"} }, - { "Fail", 3, {"ARCADE","END OF SONG","OFF"} }, - { "Assist", 2, {"OFF","TICK"} }, - { "Rate", 9, {"x0.7","x0.8","x0.9","x1.0","x1.1","x1.2","x1.3","x1.4","x1.5"} }, + { "Life\nType", 2, {"BAR","BATTERY"} }, + { "Bar\nDrain", 3, {"NORMAL","NO RECOVER","SUDDEN DEATH"} }, + { "Bat\nLives", 10, {"1","2","3","4","5","6","7","8","9","10"} }, + { "Fail", 3, {"ARCADE","END OF SONG","OFF"} }, + { "Assist", 2, {"OFF","TICK"} }, + { "Rate", 9, {"x0.7","x0.8","x0.9","x1.0","x1.1","x1.2","x1.3","x1.4","x1.5"} }, + { "Auto\nAdjust", 2, {"OFF", "ON"} }, }; @@ -62,6 +64,7 @@ void ScreenSongOptions::ImportOptions() m_iSelectedOption[0][SO_BAT_LIVES] = so.m_iBatteryLives-1; m_iSelectedOption[0][SO_FAIL] = so.m_FailType; m_iSelectedOption[0][SO_ASSIST] = so.m_AssistType; + m_iSelectedOption[0][SO_AUTOADJ] = so.m_AutoAdjust; if( so.m_fMusicRate == 0.7f ) m_iSelectedOption[0][SO_RATE] = 0; else if( so.m_fMusicRate == 0.8f ) m_iSelectedOption[0][SO_RATE] = 1; @@ -82,8 +85,9 @@ void ScreenSongOptions::ExportOptions() so.m_LifeType = (SongOptions::LifeType)m_iSelectedOption[0][SO_LIFE]; so.m_DrainType = (SongOptions::DrainType)m_iSelectedOption[0][SO_DRAIN]; so.m_iBatteryLives = m_iSelectedOption[0][SO_BAT_LIVES]+1; - so.m_FailType = (SongOptions::FailType)m_iSelectedOption[0][SO_FAIL]; + so.m_FailType = (SongOptions::FailType)m_iSelectedOption[0][SO_FAIL]; so.m_AssistType = (SongOptions::AssistType)m_iSelectedOption[0][SO_ASSIST]; + so.m_AutoAdjust = (SongOptions::AutoAdjustType)m_iSelectedOption[0][SO_AUTOADJ]; switch( m_iSelectedOption[0][SO_RATE] ) { diff --git a/stepmania/src/SongOptions.cpp b/stepmania/src/SongOptions.cpp index 6be499d42c..4baf444a10 100644 --- a/stepmania/src/SongOptions.cpp +++ b/stepmania/src/SongOptions.cpp @@ -49,6 +49,12 @@ CString SongOptions::GetString() sReturn += s + "xMusic, "; } + switch( m_AutoAdjust ) + { + case ADJUST_OFF: break; + case ADJUST_ON: sReturn += "AutoAdjust, "; break; + } + if( sReturn.GetLength() > 2 ) sReturn.Delete( sReturn.GetLength()-2, 2 ); // delete the trailing ", " return sReturn; diff --git a/stepmania/src/SongOptions.h b/stepmania/src/SongOptions.h index 9fda39c584..e07b9812f3 100644 --- a/stepmania/src/SongOptions.h +++ b/stepmania/src/SongOptions.h @@ -24,6 +24,8 @@ struct SongOptions enum AssistType { ASSIST_NONE=0, ASSIST_TICK }; AssistType m_AssistType; float m_fMusicRate; + enum AutoAdjustType { ADJUST_OFF=0, ADJUST_ON }; + AutoAdjustType m_AutoAdjust; SongOptions() { Init(); }; void Init() @@ -34,6 +36,7 @@ struct SongOptions m_FailType = FAIL_ARCADE; m_AssistType = ASSIST_NONE; m_fMusicRate = 1.0f; + m_AutoAdjust = ADJUST_OFF; }; CString GetString(); void FromString( CString sOptions );