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();
|
SONGMAN->UpdateRankingCourses();
|
||||||
|
|
||||||
m_soundChangeSort.Load( THEME->GetPathS(sType,"sort") );
|
m_soundChangeSort.Load( THEME->GetPathS(sType,"sort") );
|
||||||
m_soundExpand.Load( THEME->GetPathS(sType,"expand"), true );
|
m_soundExpand.Load( THEME->GetPathS(sType,"expand"), true );
|
||||||
|
|
||||||
m_WheelState = STATE_SELECTING;
|
|
||||||
|
|
||||||
if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
|
if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
|
||||||
{
|
{
|
||||||
@@ -127,19 +125,6 @@ void MusicWheel::Load( RString sType )
|
|||||||
GAMESTATE->m_SongOptions = so;
|
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. */
|
/* Update for SORT_MOST_PLAYED. */
|
||||||
SONGMAN->UpdatePopular();
|
SONGMAN->UpdatePopular();
|
||||||
|
|
||||||
@@ -164,13 +149,32 @@ void MusicWheel::Load( RString sType )
|
|||||||
{
|
{
|
||||||
const vector<WheelItemData> &from = m_WheelItemDatas[SORT_MODE_MENU];
|
const vector<WheelItemData> &from = m_WheelItemDatas[SORT_MODE_MENU];
|
||||||
for( unsigned i=0; i<from.size(); i++ )
|
for( unsigned i=0; i<from.size(); i++ )
|
||||||
|
{
|
||||||
if( from[i].m_Action.DescribesCurrentModeForAllPlayers() )
|
if( from[i].m_Action.DescribesCurrentModeForAllPlayers() )
|
||||||
{
|
{
|
||||||
m_sLastModeMenuItem = from[i].m_Action.m_sName;
|
m_sLastModeMenuItem = from[i].m_Action.m_sName;
|
||||||
break;
|
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
|
// HACK: invalidate currently selected song in the case that it
|
||||||
// cannot be played due to lack of stages remaining
|
// cannot be played due to lack of stages remaining
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ public:
|
|||||||
MusicWheel();
|
MusicWheel();
|
||||||
~MusicWheel();
|
~MusicWheel();
|
||||||
virtual void Load( RString sType );
|
virtual void Load( RString sType );
|
||||||
|
void BeginScreen();
|
||||||
|
|
||||||
virtual void DrawItem( int index );
|
virtual void DrawItem( int index );
|
||||||
|
|
||||||
|
|||||||
@@ -289,6 +289,8 @@ void ScreenSelectMusic::BeginScreen()
|
|||||||
{
|
{
|
||||||
ScreenWithMenuElements::BeginScreen();
|
ScreenWithMenuElements::BeginScreen();
|
||||||
|
|
||||||
|
m_MusicWheel.BeginScreen();
|
||||||
|
|
||||||
m_bMadeChoice = false;
|
m_bMadeChoice = false;
|
||||||
m_bGoToOptions = false;
|
m_bGoToOptions = false;
|
||||||
m_bAllowOptionsMenu = m_bAllowOptionsMenuRepeat = false;
|
m_bAllowOptionsMenu = m_bAllowOptionsMenuRepeat = false;
|
||||||
|
|||||||
@@ -80,11 +80,16 @@ void WheelItemBase::DrawGrayBar( Actor& bar )
|
|||||||
if( m_fPercentGray == 0 )
|
if( m_fPercentGray == 0 )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
RageColor glow = bar.GetGlow();
|
||||||
|
RageColor diffuse = bar.GetDiffuse();
|
||||||
|
|
||||||
bar.SetGlow( RageColor(0,0,0,m_fPercentGray) );
|
bar.SetGlow( RageColor(0,0,0,m_fPercentGray) );
|
||||||
bar.SetDiffuse( RageColor(0,0,0,0) );
|
bar.SetDiffuse( RageColor(0,0,0,0) );
|
||||||
|
|
||||||
bar.Draw();
|
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()
|
void WheelItemBase::DrawPrimitives()
|
||||||
|
|||||||
Reference in New Issue
Block a user