diff --git a/stepmania/src/ScreenOptionsMaster.cpp b/stepmania/src/ScreenOptionsMaster.cpp index a0bf88581c..b23a5c7847 100644 --- a/stepmania/src/ScreenOptionsMaster.cpp +++ b/stepmania/src/ScreenOptionsMaster.cpp @@ -438,6 +438,24 @@ void ScreenOptionsMaster::ImportOptions() } } +/* Import only settings specific to the given player. */ +void ScreenOptionsMaster::ImportOptionsForPlayer( PlayerNumber pn ) +{ + if( !GAMESTATE->IsHumanPlayer(pn) ) + return; + + for( unsigned i = 0; i < OptionRowHandlers.size(); ++i ) + { + const OptionRowHandler &hand = OptionRowHandlers[i]; + const OptionRowData &data = m_OptionRowAlloc[i]; + Row &row = *m_Rows[i]; + + if( data.bOneChoiceForAllPlayers ) + continue; + ImportOption( data, hand, pn, i, row.m_vbSelected[pn] ); + } +} + int GetOneSelection( const vector &vbSelected ) { for( unsigned i=0; iImportOptions(); + this->ImportOptionsForPlayer( pn ); this->PositionUnderlines(); }