diff --git a/stepmania/src/ScreenSelectCourse.cpp b/stepmania/src/ScreenSelectCourse.cpp index 0b579329fd..b7cad614de 100644 --- a/stepmania/src/ScreenSelectCourse.cpp +++ b/stepmania/src/ScreenSelectCourse.cpp @@ -250,6 +250,17 @@ void ScreenSelectCourse::Input( const DeviceInput& DeviceI, InputEventType type, Screen::Input( DeviceI, type, GameI, MenuI, StyleI ); // default input handler } +/* Adjust game options. These settings may be overridden again later by the + * SongOptions menu. */ +void ScreenSelectCourse::AdjustOptions() +{ + if(GAMESTATE->m_pCurCourse->m_iLives != -1) + { + /* oni */ + GAMESTATE->m_SongOptions.m_LifeType = SongOptions::LifeType::LIFE_BATTERY; + GAMESTATE->m_SongOptions.m_iBatteryLives = GAMESTATE->m_pCurCourse->m_iLives; + } +} void ScreenSelectCourse::HandleScreenMessage( const ScreenMessage SM ) { @@ -331,6 +342,7 @@ void ScreenSelectCourse::MenuStart( PlayerNumber pn ) GAMESTATE->m_SongOptions.FromString( sModifiers ); m_Menu.StopTimer(); + AdjustOptions(); this->SendScreenMessage( SM_GoToNextScreen, 2.5f ); diff --git a/stepmania/src/ScreenSelectCourse.h b/stepmania/src/ScreenSelectCourse.h index 7704a2f438..ea568d30d8 100644 --- a/stepmania/src/ScreenSelectCourse.h +++ b/stepmania/src/ScreenSelectCourse.h @@ -38,8 +38,8 @@ public: void MenuBack( PlayerNumber pn ); protected: + void AdjustOptions(); void AfterCourseChange(); - void UpdateOptionsDisplays(); MenuElements m_Menu; diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index eae28243d6..ac617d46b3 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -528,6 +528,8 @@ void ScreenSelectMusic::HarderDifficulty( PlayerNumber pn ) AfterNotesChange( pn ); } +/* Adjust game options. These settings may be overridden again later by the + * SongOptions menu. */ void ScreenSelectMusic::AdjustOptions() { /* Find the easiest difficulty notes selected by either player. */