diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index cebd8c235d..3c2805c4f0 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -233,6 +233,10 @@ MeterP1X=999 // by default hide these elements MeterP1Y=999 MeterP2X=999 MeterP2Y=999 +SpeedIconP1X=0 +SpeedIconP2X=0 +SpeedIconP1Y=0 +SpeedIconP2Y=0 [ScreenSelectCourse] ExplanationX=132 diff --git a/stepmania/src/NoteDisplay.cpp b/stepmania/src/NoteDisplay.cpp index 22551dd377..0d25c4f840 100644 --- a/stepmania/src/NoteDisplay.cpp +++ b/stepmania/src/NoteDisplay.cpp @@ -44,7 +44,7 @@ void NoteDisplay::Load( int iColNum, PlayerNumber pn ) { m_PlayerNumber = pn; - CString sTapPath = GAMEMAN->GetPathTo(iColNum, "tap"); + CString sTapPath = GAMEMAN->GetPathTo(iColNum, "tap parts"); m_sprTap.Load( sTapPath ); m_sprTap.StopAnimating(); m_sprTap.TurnShadowOff(); diff --git a/stepmania/src/ScreenEz2SelectMusic.cpp b/stepmania/src/ScreenEz2SelectMusic.cpp index 1cc86b3bad..424e045ca0 100644 --- a/stepmania/src/ScreenEz2SelectMusic.cpp +++ b/stepmania/src/ScreenEz2SelectMusic.cpp @@ -40,6 +40,8 @@ #define METER_Y( p ) THEME->GetMetricF("ScreenEz2SelectMusic",ssprintf("MeterP%dY",p+1)) #define GUIDE_X THEME->GetMetricF("ScreenSelectMode","GuideX") #define GUIDE_Y THEME->GetMetricF("ScreenSelectMode","GuideY") +#define SPEEDICON_X( p ) THEME->GetMetricF("ScreenEz2SelectMusic",ssprintf("SpeedIconP%dX",p+1)) +#define SPEEDICON_Y( p ) THEME->GetMetricF("ScreenEz2SelectMusic",ssprintf("SpeedIconP%dY",p+1)) const float TWEEN_TIME = 0.5f; @@ -86,6 +88,11 @@ ScreenEz2SelectMusic::ScreenEz2SelectMusic() m_FootMeter[p].SetShadowLength( 2 ); this->AddChild( &m_FootMeter[p] ); + m_SpeedIcon[p].Load( THEME->GetPathTo("Graphics","select music speedicon")); + m_SpeedIcon[p].SetXY( SPEEDICON_X(p), SPEEDICON_Y(p) ); + m_SpeedIcon[p].SetDiffuse( RageColor(0,0,0,0) ); + this->AddChild(&m_SpeedIcon[p] ); + m_iSelection[p] = 0; } @@ -149,10 +156,30 @@ void ScreenEz2SelectMusic::Input( const DeviceInput& DeviceI, const InputEventTy HarderDifficulty( pn ); return; } + if( CodeDetector::DetectAndAdjustOptions(GameI.controller) ) + { + UpdateOptions( pn ); + } Screen::Input( DeviceI, type, GameI, MenuI, StyleI ); } +void ScreenEz2SelectMusic::UpdateOptions(PlayerNumber pn) +{ + CString sOptions = GAMESTATE->m_PlayerOptions[pn].GetString(); + CStringArray asOptions; + split( sOptions, ", ", asOptions, true ); + + if(asOptions[0] != "1.0X") + { + m_SpeedIcon[pn].SetDiffuse( RageColor(1,1,1,1) ); + } + else + { + m_SpeedIcon[pn].SetDiffuse( RageColor(0,0,0,0) ); + } +} + void ScreenEz2SelectMusic::HandleScreenMessage( const ScreenMessage SM ) { Screen::HandleScreenMessage( SM ); diff --git a/stepmania/src/ScreenEz2SelectMusic.h b/stepmania/src/ScreenEz2SelectMusic.h index d085abc5e0..3d1f009a43 100644 --- a/stepmania/src/ScreenEz2SelectMusic.h +++ b/stepmania/src/ScreenEz2SelectMusic.h @@ -42,6 +42,8 @@ protected: void EasierDifficulty( PlayerNumber pn ); void HarderDifficulty( PlayerNumber pn ); + void UpdateOptions( PlayerNumber pn ); + void TweenOffScreen(); Sprite m_ChoiceListFrame; @@ -49,6 +51,7 @@ protected: Sprite m_Guide; Sprite m_sprOptionsMessage; Sprite m_PumpDifficultyCircle; + Sprite m_SpeedIcon[NUM_PLAYERS]; BitmapText m_PumpDifficultyRating; MusicBannerWheel m_MusicBannerWheel; MenuElements m_Menu; diff --git a/stepmania/src/ScrollingList.cpp b/stepmania/src/ScrollingList.cpp index 0e77718a66..91bb7a2fea 100644 --- a/stepmania/src/ScrollingList.cpp +++ b/stepmania/src/ScrollingList.cpp @@ -276,6 +276,8 @@ void ScrollingList::Replace(CString sGraphicPath, int ElementNumber) } pNewCSprite->Load( sGraphicPath ); + + m_apCSprites[ElementNumber] = pNewCSprite; } }