diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index a9f546f9b5..9b51807d6d 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -2283,6 +2283,7 @@ WheelItemOnDelayCenter=0 WheelItemOnDelayOffset=0.04 WheelItemOffDelayCenter=0 WheelItemOffDelayOffset=0.04 +WheelItemLockedColor=0,0,0,0.5 NumSectionColors=7 SectionColor1=0.8,0.1,0.6,1 // pink SectionColor2=0.6,0.4,0.8,1 // purple diff --git a/stepmania/src/MusicWheelItem.cpp b/stepmania/src/MusicWheelItem.cpp index 7af4fd5362..67c190ba72 100644 --- a/stepmania/src/MusicWheelItem.cpp +++ b/stepmania/src/MusicWheelItem.cpp @@ -62,7 +62,6 @@ MusicWheelItem::MusicWheelItem( RString sType ): m_sprSortBar.Load( THEME->GetPathG(sType,"sort") ); this->AddChild( &m_sprSortBar ); - m_fPercentGray = 0; m_WheelNotifyIcon.SetXY( ICON_X, ICON_Y ); m_WheelNotifyIcon.RunCommands( ICON_ON_COMMAND ); this->AddChild( &m_WheelNotifyIcon ); diff --git a/stepmania/src/WheelBase.cpp b/stepmania/src/WheelBase.cpp index 0cb723ed84..f1c71874c1 100644 --- a/stepmania/src/WheelBase.cpp +++ b/stepmania/src/WheelBase.cpp @@ -17,7 +17,6 @@ #include "ScreenDimensions.h" - const int MAX_WHEEL_SOUND_SPEED = 15; WheelBase::WheelBase() @@ -59,24 +58,25 @@ void WheelBase::Load( RString sType ) void WheelBase::LoadFromMetrics( RString sType ) { - SWITCH_SECONDS .Load(sType,"SwitchSeconds"); + SWITCH_SECONDS .Load(sType,"SwitchSeconds"); LOCKED_INITIAL_VELOCITY .Load(sType,"LockedInitialVelocity"); - SCROLL_BAR_X .Load(sType,"ScrollBarX"); - SCROLL_BAR_HEIGHT .Load(sType,"ScrollBarHeight"); - ITEM_CURVE_X .Load(sType,"ItemCurveX"); - USE_LINEAR_WHEEL .Load(sType,"NoCurving"); - ITEM_SPACING_Y .Load(sType,"ItemSpacingY"); - WHEEL_3D_RADIUS .Load(sType,"Wheel3DRadius"); - CIRCLE_PERCENT .Load(sType,"CirclePercent"); - USE_3D .Load(sType,"Use3D"); + SCROLL_BAR_X .Load(sType,"ScrollBarX"); + SCROLL_BAR_HEIGHT .Load(sType,"ScrollBarHeight"); + ITEM_CURVE_X .Load(sType,"ItemCurveX"); + USE_LINEAR_WHEEL .Load(sType,"NoCurving"); + ITEM_SPACING_Y .Load(sType,"ItemSpacingY"); + WHEEL_3D_RADIUS .Load(sType,"Wheel3DRadius"); + CIRCLE_PERCENT .Load(sType,"CirclePercent"); + USE_3D .Load(sType,"Use3D"); NUM_WHEEL_ITEMS_TO_DRAW .Load(sType,"NumWheelItems"); WHEEL_ITEM_ON_DELAY_CENTER .Load(sType,"WheelItemOnDelayCenter"); WHEEL_ITEM_ON_DELAY_OFFSET .Load(sType,"WheelItemOnDelayOffset"); WHEEL_ITEM_OFF_DELAY_CENTER .Load(sType,"WheelItemOffDelayCenter"); WHEEL_ITEM_OFF_DELAY_OFFSET .Load(sType,"WheelItemOffDelayOffset"); + WHEEL_ITEM_LOCKED_COLOR .Load(sType,"WheelItemLockedColor"); m_soundChangeMusic.Load( THEME->GetPathS(sType,"change"), true ); - m_soundLocked.Load( THEME->GetPathS(sType,"locked"), true ); + m_soundLocked.Load( THEME->GetPathS(sType,"locked"), true ); m_sprHighlight.Load( THEME->GetPathG(sType,"highlight") ); m_sprHighlight->SetName( "Highlight" ); @@ -177,9 +177,9 @@ void WheelBase::DrawItem( int i, WheelItemBase *display, const float fThisBanner } if( m_WheelState == STATE_LOCKED && i != NUM_WHEEL_ITEMS/2 ) - display->m_fPercentGray = 0.5f; + display->m_colorLocked = WHEEL_ITEM_LOCKED_COLOR.GetValue(); else - display->m_fPercentGray = 0; + display->m_colorLocked = RageColor(0,0,0,0); display->Draw(); } diff --git a/stepmania/src/WheelBase.h b/stepmania/src/WheelBase.h index 02c0dbb45b..8a8730bb75 100644 --- a/stepmania/src/WheelBase.h +++ b/stepmania/src/WheelBase.h @@ -67,25 +67,25 @@ protected: virtual void BuildWheelItemsData( vector &arrayWheelItemDatas ); int FirstVisibleIndex(); - ScrollBar m_ScrollBar; - AutoActor m_sprHighlight; + ScrollBar m_ScrollBar; + AutoActor m_sprHighlight; vector m_WheelBaseItemsData; vector m_WheelBaseItems; WheelItemBaseData* m_LastSelection; - bool m_isEmpty; - int m_iSelection; // index into m_CurWheelItemBaseData - RString m_sExpandedSectionName; + bool m_isEmpty; + int m_iSelection; // index into m_CurWheelItemBaseData + RString m_sExpandedSectionName; - int m_iSwitchesLeftInSpinDown; - float m_fLockedWheelVelocity; + int m_iSwitchesLeftInSpinDown; + float m_fLockedWheelVelocity; /* 0 = none; -1 or 1 = up/down */ - int m_Moving; - RageTimer m_MovingSoundTimer; - float m_TimeBeforeMovingBegins; - float m_SpinSpeed; + int m_Moving; + RageTimer m_MovingSoundTimer; + float m_TimeBeforeMovingBegins; + float m_SpinSpeed; enum WheelState { STATE_SELECTING, STATE_FLYING_OFF_BEFORE_NEXT_SORT, @@ -98,9 +98,9 @@ protected: STATE_RANDOM_SPINNING, STATE_LOCKED, }; - WheelState m_WheelState; - float m_fTimeLeftInState; - float m_fPositionOffsetFromSelection; + WheelState m_WheelState; + float m_fTimeLeftInState; + float m_fPositionOffsetFromSelection; RageSound m_soundChangeMusic; RageSound m_soundExpand; @@ -111,20 +111,21 @@ protected: void UpdateScrollbar(unsigned int size); ThemeMetric SWITCH_SECONDS; - ThemeMetric LOCKED_INITIAL_VELOCITY; - ThemeMetric SCROLL_BAR_X; - ThemeMetric SCROLL_BAR_HEIGHT; + ThemeMetric LOCKED_INITIAL_VELOCITY; + ThemeMetric SCROLL_BAR_X; + ThemeMetric SCROLL_BAR_HEIGHT; ThemeMetric ITEM_CURVE_X; - ThemeMetric USE_LINEAR_WHEEL; + ThemeMetric USE_LINEAR_WHEEL; ThemeMetric ITEM_SPACING_Y; ThemeMetric WHEEL_3D_RADIUS; ThemeMetric CIRCLE_PERCENT; ThemeMetric USE_3D; ThemeMetric NUM_WHEEL_ITEMS_TO_DRAW; - ThemeMetric WHEEL_ITEM_ON_DELAY_CENTER; - ThemeMetric WHEEL_ITEM_ON_DELAY_OFFSET; - ThemeMetric WHEEL_ITEM_OFF_DELAY_CENTER; - ThemeMetric WHEEL_ITEM_OFF_DELAY_OFFSET; + ThemeMetric WHEEL_ITEM_ON_DELAY_CENTER; + ThemeMetric WHEEL_ITEM_ON_DELAY_OFFSET; + ThemeMetric WHEEL_ITEM_OFF_DELAY_CENTER; + ThemeMetric WHEEL_ITEM_OFF_DELAY_OFFSET; + ThemeMetric WHEEL_ITEM_LOCKED_COLOR; }; #endif diff --git a/stepmania/src/WheelItemBase.cpp b/stepmania/src/WheelItemBase.cpp index 37f9eb41c7..e719c80752 100644 --- a/stepmania/src/WheelItemBase.cpp +++ b/stepmania/src/WheelItemBase.cpp @@ -39,7 +39,7 @@ void WheelItemBase::Load( RString sType ) TEXT_Y .Load(sType,"TextY"); TEXT_ON_COMMAND .Load(sType,"TextOnCommand"); - m_fPercentGray = 0; + m_colorLocked = RageColor(0,0,0,0); m_sprBar.Load( THEME->GetPathG(sType,"bar") ); m_sprBar.SetXY( 0, 0 ); @@ -77,13 +77,13 @@ void WheelItemBase::LoadFromWheelItemBaseData( WheelItemBaseData* pWID ) void WheelItemBase::DrawGrayBar( Actor& bar ) { - if( m_fPercentGray == 0 ) + if( m_colorLocked.a == 0 ) return; RageColor glow = bar.GetGlow(); RageColor diffuse = bar.GetDiffuse(); - bar.SetGlow( RageColor(0,0,0,m_fPercentGray) ); + bar.SetGlow( m_colorLocked ); bar.SetDiffuse( RageColor(0,0,0,0) ); bar.Draw(); diff --git a/stepmania/src/WheelItemBase.h b/stepmania/src/WheelItemBase.h index 2bcc133315..0fe8718a28 100644 --- a/stepmania/src/WheelItemBase.h +++ b/stepmania/src/WheelItemBase.h @@ -35,7 +35,7 @@ public: virtual void LoadFromWheelItemBaseData( WheelItemBaseData* pWID ); - float m_fPercentGray; + RageColor m_colorLocked; protected: void SetGrayBar( Actor *pBar ) { m_pBar = pBar; }