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(); 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
+1
View File
@@ -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 );
+2
View File
@@ -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;
+7 -2
View File
@@ -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()