fix wheel item colors still look locked if Roulette then back out from SPlayerOptions

This commit is contained in:
Chris Danford
2006-04-04 21:39:03 +00:00
parent 76f0346122
commit e3bd1698d3
4 changed files with 31 additions and 19 deletions
+21 -17
View File
@@ -97,10 +97,8 @@ void MusicWheel::Load( RString sType )
SONGMAN->UpdateRankingCourses();
m_soundChangeSort.Load( THEME->GetPathS(sType,"sort") );
m_soundExpand.Load( THEME->GetPathS(sType,"expand"), true );
m_WheelState = STATE_SELECTING;
m_soundChangeSort.Load( THEME->GetPathS(sType,"sort") );
m_soundExpand.Load( THEME->GetPathS(sType,"expand"), true );
if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
{
@@ -127,19 +125,6 @@ void MusicWheel::Load( RString sType )
GAMESTATE->m_SongOptions = so;
}
GAMESTATE->m_SortOrder.Set( GAMESTATE->m_PreferredSortOrder );
/* Never start in the mode menu; some elements may not initialize correctly. */
if( GAMESTATE->m_SortOrder == SORT_MODE_MENU )
GAMESTATE->m_SortOrder.Set( SORT_INVALID );
GAMESTATE->m_SortOrder.Set( ForceAppropriateSort(GAMESTATE->m_PlayMode, GAMESTATE->m_SortOrder) );
/* Only save the sort order if the player didn't already have one. If he did, don't
* overwrite it. */
if( GAMESTATE->m_PreferredSortOrder == SORT_INVALID )
GAMESTATE->m_PreferredSortOrder = GAMESTATE->m_SortOrder;
/* Update for SORT_MOST_PLAYED. */
SONGMAN->UpdatePopular();
@@ -164,13 +149,32 @@ void MusicWheel::Load( RString sType )
{
const vector<WheelItemData> &from = m_WheelItemDatas[SORT_MODE_MENU];
for( unsigned i=0; i<from.size(); i++ )
{
if( from[i].m_Action.DescribesCurrentModeForAllPlayers() )
{
m_sLastModeMenuItem = from[i].m_Action.m_sName;
break;
}
}
}
}
void MusicWheel::BeginScreen()
{
m_WheelState = STATE_SELECTING;
GAMESTATE->m_SortOrder.Set( GAMESTATE->m_PreferredSortOrder );
/* Never start in the mode menu; some elements may not initialize correctly. */
if( GAMESTATE->m_SortOrder == SORT_MODE_MENU )
GAMESTATE->m_SortOrder.Set( SORT_INVALID );
GAMESTATE->m_SortOrder.Set( ForceAppropriateSort(GAMESTATE->m_PlayMode, GAMESTATE->m_SortOrder) );
/* Only save the sort order if the player didn't already have one. If he did, don't
* overwrite it. */
if( GAMESTATE->m_PreferredSortOrder == SORT_INVALID )
GAMESTATE->m_PreferredSortOrder = GAMESTATE->m_SortOrder;
// HACK: invalidate currently selected song in the case that it
// cannot be played due to lack of stages remaining
+1
View File
@@ -28,6 +28,7 @@ public:
MusicWheel();
~MusicWheel();
virtual void Load( RString sType );
void BeginScreen();
virtual void DrawItem( int index );
+2
View File
@@ -289,6 +289,8 @@ void ScreenSelectMusic::BeginScreen()
{
ScreenWithMenuElements::BeginScreen();
m_MusicWheel.BeginScreen();
m_bMadeChoice = false;
m_bGoToOptions = false;
m_bAllowOptionsMenu = m_bAllowOptionsMenuRepeat = false;
+7 -2
View File
@@ -80,11 +80,16 @@ void WheelItemBase::DrawGrayBar( Actor& bar )
if( m_fPercentGray == 0 )
return;
RageColor glow = bar.GetGlow();
RageColor diffuse = bar.GetDiffuse();
bar.SetGlow( RageColor(0,0,0,m_fPercentGray) );
bar.SetDiffuse( RageColor(0,0,0,0) );
bar.Draw();
bar.SetDiffuse( RageColor(0,0,0,1) );
bar.SetGlow( RageColor(0,0,0,0) );
bar.SetGlow( glow );
bar.SetDiffuse( diffuse );
}
void WheelItemBase::DrawPrimitives()