don't set up actors that we're not using; we create lots of OptionRows

This commit is contained in:
Glenn Maynard
2005-07-18 21:03:43 +00:00
parent d34a45252c
commit cece1f837c
2 changed files with 32 additions and 23 deletions
+17 -9
View File
@@ -110,12 +110,6 @@ void OptionRowType::Load( const CString &sType )
{ {
m_sType = sType; m_sType = sType;
m_textItemParent.LoadFromFont( THEME->GetPathF(sType,"item") );
m_UnderlineParent.Load( sType, OptionsCursor::underline );
m_textTitle.LoadFromFont( THEME->GetPathF(sType,"title") );
//m_sprBullet.Load( THEME->GetPathG(sType,"bullet") );
m_OptionIcon.Load( sType );
BULLET_X .Load(sType,"BulletX"); BULLET_X .Load(sType,"BulletX");
LABELS_X .Load(sType,"LabelsX"); LABELS_X .Load(sType,"LabelsX");
LABELS_ON_COMMAND .Load(sType,"LabelsOnCommand"); LABELS_ON_COMMAND .Load(sType,"LabelsOnCommand");
@@ -139,6 +133,14 @@ void OptionRowType::Load( const CString &sType )
THEME_ITEMS .Load(sType,"ThemeItems"); THEME_ITEMS .Load(sType,"ThemeItems");
THEME_TITLES .Load(sType,"ThemeTitles"); THEME_TITLES .Load(sType,"ThemeTitles");
SHOW_BPM_IN_SPEED_TITLE .Load(sType,"ShowBpmInSpeedTitle"); SHOW_BPM_IN_SPEED_TITLE .Load(sType,"ShowBpmInSpeedTitle");
SHOW_OPTION_ICONS .Load(sType,"ShowOptionIcons");
m_textItemParent.LoadFromFont( THEME->GetPathF(sType,"item") );
m_UnderlineParent.Load( sType, OptionsCursor::underline );
m_textTitle.LoadFromFont( THEME->GetPathF(sType,"title") );
//m_sprBullet.Load( THEME->GetPathG(sType,"bullet") );
if( SHOW_OPTION_ICONS )
m_OptionIcon.Load( sType );
} }
void OptionRow::LoadNormal( const OptionRowDefinition &def, OptionRowHandler *pHand, bool bFirstItemGoesDown ) void OptionRow::LoadNormal( const OptionRowDefinition &def, OptionRowHandler *pHand, bool bFirstItemGoesDown )
@@ -240,6 +242,8 @@ void OptionRow::InitText()
m_sprBullet->SetDrawOrder(-1); // under title m_sprBullet->SetDrawOrder(-1); // under title
m_Frame.AddChild( m_sprBullet ); m_Frame.AddChild( m_sprBullet );
if( m_pParentType->SHOW_OPTION_ICONS )
{
switch( m_RowType ) switch( m_RowType )
{ {
case ROW_NORMAL: case ROW_NORMAL:
@@ -258,6 +262,7 @@ void OptionRow::InitText()
case ROW_EXIT: case ROW_EXIT:
break; break;
} }
}
// If the items will go off the edge of the screen, then re-init with the "long row" style. // If the items will go off the edge of the screen, then re-init with the "long row" style.
{ {
@@ -501,12 +506,14 @@ void OptionRow::PositionIcons()
FOREACH_HumanPlayer( p ) // foreach player FOREACH_HumanPlayer( p ) // foreach player
{ {
OptionIcon &icon = *m_OptionIcons[p]; OptionIcon *pIcon = m_OptionIcons[p];
if( pIcon == NULL )
continue;
icon.SetX( m_pParentType->ICONS_X.GetValue(p) ); pIcon->SetX( m_pParentType->ICONS_X.GetValue(p) );
/* XXX: this doesn't work since icon is an ActorFrame */ /* XXX: this doesn't work since icon is an ActorFrame */
icon.SetDiffuse( RageColor(1,1,1, m_bHidden? 0.0f:1.0f) ); pIcon->SetDiffuse( RageColor(1,1,1, m_bHidden? 0.0f:1.0f) );
} }
} }
@@ -681,6 +688,7 @@ void OptionRow::SetOptionIcon( PlayerNumber pn, const CString &sText, GameComman
LUA->Release( L ); LUA->Release( L );
m_sprBullet->PlayCommand( "Refresh" ); m_sprBullet->PlayCommand( "Refresh" );
if( m_OptionIcons[pn] != NULL )
m_OptionIcons[pn]->Set( pn, sText, false ); m_OptionIcons[pn]->Set( pn, sText, false );
L = LUA->Get(); L = LUA->Get();
+1
View File
@@ -122,6 +122,7 @@ private:
ThemeMetric<bool> THEME_ITEMS; ThemeMetric<bool> THEME_ITEMS;
ThemeMetric<bool> THEME_TITLES; ThemeMetric<bool> THEME_TITLES;
ThemeMetric<bool> SHOW_BPM_IN_SPEED_TITLE; ThemeMetric<bool> SHOW_BPM_IN_SPEED_TITLE;
ThemeMetric<bool> SHOW_OPTION_ICONS;
friend class OptionRow; friend class OptionRow;
}; };