diff --git a/stepmania/src/OptionRow.cpp b/stepmania/src/OptionRow.cpp index 40b211ebcc..47d329c415 100644 --- a/stepmania/src/OptionRow.cpp +++ b/stepmania/src/OptionRow.cpp @@ -282,6 +282,11 @@ void OptionRow::LoadExit( bt->SetShadowLength( 0 ); bt->SetX( fItemLongRowSharedX ); this->AddChild( bt ); + + FOREACH_PlayerNumber( p ) + m_OptionIcons[p].SetHidden( true ); + m_sprBullet.SetHidden( true ); + m_textTitle.SetHidden( true ); } void OptionRow::PositionUnderlines( bool bShowUnderlines, float fTweenSeconds ) @@ -389,7 +394,7 @@ void OptionRow::UpdateEnabledDisabled( FOREACH_HumanPlayer( p ) bThisRowHasFocusByAll &= bThisRowHasFocus[p]; - const float fDiffuseAlpha = m_bHidden? 0.0f:1.0f; + float fDiffuseAlpha = m_bHidden? 0.0f:1.0f; /* Don't tween selection colors at all. */ RageColor color = bThisRowHasFocusByAny ? colorFocus:colorNoFocus; @@ -425,7 +430,7 @@ void OptionRow::UpdateEnabledDisabled( else color = colorDisabled; - float fEnabledDisabledAlpha = bRowEnabled ? 1.0f:0.0f; + color.a = (bRowEnabled && !m_bHidden) ? 1.0f:0.0f; unsigned item_no = m_RowDef.bOneChoiceForAllPlayers ? 0 : pn; @@ -445,7 +450,7 @@ void OptionRow::UpdateEnabledDisabled( OptionsCursor &ul = *m_Underline[p][item_no]; ul.StopTweening(); ul.BeginTweening( fTweenSeconds ); - ul.SetDiffuseAlpha( fEnabledDisabledAlpha ); + ul.SetDiffuseAlpha( color.a ); ul.SetY( m_fY ); } } diff --git a/stepmania/src/RageTypes.h b/stepmania/src/RageTypes.h index b41db0ffdd..91d5c0b65b 100644 --- a/stepmania/src/RageTypes.h +++ b/stepmania/src/RageTypes.h @@ -125,6 +125,9 @@ public: friend RageColor operator * ( float f, const RageColor& other ) { return other*f; } // What is this for? Did I add this? -Chris + bool operator == ( const RageColor& other ) const { return r==other.r && g==other.g && b==other.b && a==other.a; } + bool operator != ( const RageColor& other ) const { return !operator==(other); } + bool FromString( const CString &str ) { int result = sscanf( str, "%f,%f,%f,%f", &r, &g, &b, &a );