fix skip when changing value in row:

broadcast the row export only once - not for each player
disable export/import on reload - nothing uses it yet
This commit is contained in:
Chris Danford
2005-04-03 06:21:02 +00:00
parent afd53cfc5e
commit 134cdb4451
17 changed files with 505 additions and 386 deletions
+13 -3
View File
@@ -154,8 +154,10 @@ void ScreenOptions::InitMenu( InputMode im, const vector<OptionRowDefinition> &v
row.LoadMetrics( m_sName );
row.LoadNormal( def, hand, bFirstRowGoesDown );
vector<PlayerNumber> vpns;
FOREACH_HumanPlayer( p )
this->ImportOptions( r, p );
vpns.push_back( p );
this->ImportOptions( r, vpns );
CHECKPOINT_M( ssprintf("row %i: %s", r, row.GetRowDef().name.c_str()) );
@@ -511,8 +513,12 @@ void ScreenOptions::HandleScreenMessage( const ScreenMessage SM )
break;
case SM_GoToNextScreen:
for( unsigned r=0; r<m_Rows.size(); r++ ) // foreach row
{
vector<PlayerNumber> vpns;
FOREACH_HumanPlayer( p )
this->ExportOptions( r, p );
vpns.push_back( p );
this->ExportOptions( r, vpns );
}
this->GoToNextScreen();
break;
case SM_BeginFadingOut:
@@ -999,8 +1005,12 @@ void ScreenOptions::ChangeValueInRow( PlayerNumber pn, int iDelta, bool Repeat )
m_SoundChangeCol.Play();
if( row.GetRowDef().m_bExportOnChange )
{
vector<PlayerNumber> vpns;
FOREACH_HumanPlayer( p )
ExportOptions( iCurRow, p );
vpns.push_back( p );
ExportOptions( iCurRow, vpns );
}
}