diff --git a/stepmania/src/MusicWheelItem.cpp b/stepmania/src/MusicWheelItem.cpp index cd4a5d2105..f37de48e2e 100644 --- a/stepmania/src/MusicWheelItem.cpp +++ b/stepmania/src/MusicWheelItem.cpp @@ -17,14 +17,22 @@ #include "ThemeMetric.h" CString GRADE_X_NAME( size_t p ) { return ssprintf("GradeP%dX",int(p+1)); } +CString GRADE_Y_NAME( size_t p ) { return ssprintf("GradeP%dY",int(p+1)); } ThemeMetric ICON_X ("MusicWheelItem","IconX"); +ThemeMetric ICON_Y ("MusicWheelItem","IconY"); +ThemeMetric ICON_ON_COMMAND ("MusicWheelItem","IconOnCommand"); ThemeMetric SONG_NAME_X ("MusicWheelItem","SongNameX"); +ThemeMetric SONG_NAME_Y ("MusicWheelItem","SongNameY"); +ThemeMetric SONG_NAME_ON_COMMAND("MusicWheelItem","SongNameOnCommand"); ThemeMetric SECTION_X ("MusicWheelItem","SectionX"); +ThemeMetric SECTION_Y ("MusicWheelItem","SectionY"); ThemeMetric SECTION_ON_COMMAND ("MusicWheelItem","SectionOnCommand"); ThemeMetric ROULETTE_X ("MusicWheelItem","RouletteX"); +ThemeMetric ROULETTE_Y ("MusicWheelItem","RouletteY"); ThemeMetric ROULETTE_ON_COMMAND ("MusicWheelItem","RouletteOnCommand"); ThemeMetric1D GRADE_X ("MusicWheelItem",GRADE_X_NAME,NUM_PLAYERS); +ThemeMetric1D GRADE_Y ("MusicWheelItem",GRADE_Y_NAME,NUM_PLAYERS); WheelItemData::WheelItemData( WheelItemType wit, Song* pSong, CString sSectionName, Course* pCourse, RageColor color ) @@ -45,51 +53,53 @@ MusicWheelItem::MusicWheelItem() SetName( "MusicWheelItem" ); m_fPercentGray = 0; - m_WheelNotifyIcon.SetXY( ICON_X, 0 ); + m_WheelNotifyIcon.SetXY( ICON_X, ICON_Y ); + m_WheelNotifyIcon.RunCommands( ICON_ON_COMMAND ); + this->AddChild( &m_WheelNotifyIcon ); m_TextBanner.Load( "TextBanner" ); - m_TextBanner.SetHorizAlign( align_left ); - m_TextBanner.SetXY( SONG_NAME_X, 0 ); - m_All.AddChild( &m_TextBanner ); + m_TextBanner.SetXY( SONG_NAME_X, SONG_NAME_Y ); + m_TextBanner.RunCommands( SONG_NAME_ON_COMMAND ); + this->AddChild( &m_TextBanner ); m_sprSongBar.Load( THEME->GetPathG("MusicWheelItem","song") ); m_sprSongBar.SetXY( 0, 0 ); - m_All.AddChild( &m_sprSongBar ); + this->AddChild( &m_sprSongBar ); m_sprSectionBar.Load( THEME->GetPathG("MusicWheelItem","section") ); m_sprSectionBar.SetXY( 0, 0 ); - m_All.AddChild( &m_sprSectionBar ); + this->AddChild( &m_sprSectionBar ); m_textSectionName.LoadFromFont( THEME->GetPathF("MusicWheelItem","section") ); m_textSectionName.SetShadowLength( 0 ); - m_textSectionName.SetXY( SECTION_X, 0 ); + m_textSectionName.SetXY( SECTION_X, SECTION_Y ); m_textSectionName.RunCommands( SECTION_ON_COMMAND ); - m_All.AddChild( &m_textSectionName ); + this->AddChild( &m_textSectionName ); m_textRoulette.LoadFromFont( THEME->GetPathF("MusicWheelItem","roulette") ); m_textRoulette.SetShadowLength( 0 ); m_textRoulette.TurnRainbowOn(); - m_textRoulette.SetXY( ROULETTE_X, 0 ); + m_textRoulette.SetXY( ROULETTE_X, ROULETTE_Y ); m_textRoulette.RunCommands( ROULETTE_ON_COMMAND ); - m_All.AddChild( &m_textRoulette ); + this->AddChild( &m_textRoulette ); FOREACH_PlayerNumber( p ) { m_GradeDisplay[p].Load( THEME->GetPathG("MusicWheelItem","grades") ); m_GradeDisplay[p].SetZoom( 1.0f ); m_GradeDisplay[p].SetXY( GRADE_X.GetValue(p), 0 ); - m_All.AddChild( &m_GradeDisplay[p] ); + this->AddChild( &m_GradeDisplay[p] ); } m_textCourse.SetName( "CourseName" ); m_textCourse.LoadFromFont( THEME->GetPathF("MusicWheelItem","course") ); SET_XY_AND_ON_COMMAND( &m_textCourse ); - m_All.AddChild( &m_textCourse ); + this->AddChild( &m_textCourse ); m_textSort.SetName( "Sort" ); m_textSort.LoadFromFont( THEME->GetPathF("MusicWheelItem","sort") ); SET_XY_AND_ON_COMMAND( &m_textSort ); - m_All.AddChild( &m_textSort ); + this->AddChild( &m_textSort ); } @@ -200,6 +210,7 @@ void MusicWheelItem::RefreshGrades() void MusicWheelItem::Update( float fDeltaTime ) { Actor::Update( fDeltaTime ); + // update manually switch( data->m_Type ) { @@ -237,6 +248,8 @@ void MusicWheelItem::Update( float fDeltaTime ) void MusicWheelItem::DrawPrimitives() { + // draw manually + Sprite *bar = NULL; switch( data->m_Type ) { @@ -293,22 +306,6 @@ void MusicWheelItem::DrawPrimitives() } -void MusicWheelItem::SetZTestMode( ZTestMode mode ) -{ - ActorFrame::SetZTestMode( mode ); - - // set all sub-Actors - m_All.SetZTestMode( mode ); -} - -void MusicWheelItem::SetZWrite( bool b ) -{ - ActorFrame::SetZWrite( b ); - - // set all sub-Actors - m_All.SetZWrite( b ); -} - /* * (c) 2001-2004 Chris Danford, Chris Gomez, Glenn Maynard * All rights reserved. diff --git a/stepmania/src/MusicWheelItem.h b/stepmania/src/MusicWheelItem.h index 94367dc262..0c99eea0d4 100644 --- a/stepmania/src/MusicWheelItem.h +++ b/stepmania/src/MusicWheelItem.h @@ -22,9 +22,7 @@ public: virtual void Update( float fDeltaTime ); virtual void DrawPrimitives(); - virtual void SetZTestMode( ZTestMode mode ); - virtual void SetZWrite( bool b ); - + void LoadFromWheelItemData( WheelItemData* pWID ); void RefreshGrades(); @@ -49,7 +47,6 @@ public: // for TYPE_SORT BitmapText m_textSort; - ActorFrame m_All; }; enum WheelItemType diff --git a/stepmania/src/WheelNotifyIcon.cpp b/stepmania/src/WheelNotifyIcon.cpp index 305ffc3d5f..80bc9c396b 100644 --- a/stepmania/src/WheelNotifyIcon.cpp +++ b/stepmania/src/WheelNotifyIcon.cpp @@ -8,6 +8,7 @@ #include "ThemeManager.h" +static ThemeMetric SHOW_TRAINING ("WheelNotifyIcon","ShowTraining"); WheelNotifyIcon::WheelNotifyIcon() { @@ -39,7 +40,7 @@ void WheelNotifyIcon::SetFlags( Flags flags ) default: ASSERT(0); } - if( flags.bHasBeginnerOr1Meter ) + if( flags.bHasBeginnerOr1Meter && (bool)SHOW_TRAINING ) m_vIconsToShow.push_back( training );