fix P2 options not saving

This commit is contained in:
Chris Danford
2007-03-08 04:20:12 +00:00
parent 0a928a1e45
commit 61946c58b2
3 changed files with 11 additions and 8 deletions
+8 -6
View File
@@ -123,8 +123,10 @@ OptionsList::~OptionsList()
delete hand->second;
}
void OptionsList::Load( RString sType )
void OptionsList::Load( RString sType, PlayerNumber pn )
{
m_pn = pn;
m_Cursor.Load( THEME->GetPathG(sType, "cursor") );
m_Cursor->SetName( "Cursor" );
ActorUtil::LoadAllCommands( *m_Cursor, sType );
@@ -343,11 +345,11 @@ void OptionsList::ImportRow( RString sRow )
{
vector<bool> aSelections[NUM_PLAYERS];
vector<PlayerNumber> vpns;
vpns.push_back(PLAYER_1); // XXX
vpns.push_back( m_pn ); // XXX
OptionRowHandler *pHandler = m_Rows[sRow];
aSelections[PLAYER_1].resize( pHandler->m_Def.m_vsChoices.size() );
aSelections[ m_pn ].resize( pHandler->m_Def.m_vsChoices.size() );
pHandler->ImportOption( vpns, aSelections );
m_bSelections[sRow] = aSelections[PLAYER_1];
m_bSelections[sRow] = aSelections[ m_pn ];
if( RowIsMenusOnly(sRow) )
fill( m_bSelections[sRow].begin(), m_bSelections[sRow].end(), false );
@@ -359,10 +361,10 @@ void OptionsList::ExportRow( RString sRow )
return;
vector<bool> aSelections[NUM_PLAYERS];
aSelections[PLAYER_1] = m_bSelections[sRow];
aSelections[m_pn] = m_bSelections[sRow];
vector<PlayerNumber> vpns;
vpns.push_back(PLAYER_1); // XXX
vpns.push_back( m_pn ); // XXX
m_Rows[sRow]->ExportOption( vpns, aSelections );
}
+2 -1
View File
@@ -36,7 +36,7 @@ public:
OptionsList();
~OptionsList();
void Load( RString sType );
void Load( RString sType, PlayerNumber pn );
/* Show the top-level menu. */
void Open();
@@ -66,6 +66,7 @@ private:
map<RString, OptionRowHandler *> m_Rows;
map<RString, vector<bool> > m_bSelections;
PlayerNumber m_pn;
AutoActor m_Cursor;
OptionListRow m_Row[2];
int m_iCurrentRow;
+1 -1
View File
@@ -132,7 +132,7 @@ void ScreenSelectMusic::Init()
FOREACH_PlayerNumber(p)
{
m_OptionsList[p].SetName( "OptionsList" + PlayerNumberToString(p) );
m_OptionsList[p].Load( "OptionsList" );
m_OptionsList[p].Load( "OptionsList", p );
m_OptionsList[p].SetDrawOrder( 100 );
ActorUtil::LoadAllCommands( m_OptionsList[p], m_sName );
this->AddChild( &m_OptionsList[p] );