fix wheel item colors still look locked if Roulette then back out from SPlayerOptions
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -28,6 +28,7 @@ public:
|
||||
MusicWheel();
|
||||
~MusicWheel();
|
||||
virtual void Load( RString sType );
|
||||
void BeginScreen();
|
||||
|
||||
virtual void DrawItem( int index );
|
||||
|
||||
|
||||
@@ -289,6 +289,8 @@ void ScreenSelectMusic::BeginScreen()
|
||||
{
|
||||
ScreenWithMenuElements::BeginScreen();
|
||||
|
||||
m_MusicWheel.BeginScreen();
|
||||
|
||||
m_bMadeChoice = false;
|
||||
m_bGoToOptions = false;
|
||||
m_bAllowOptionsMenu = m_bAllowOptionsMenuRepeat = false;
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user