From 6fb70bdcf5fb33a7ed84359f4743a77c9e4c29c2 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Thu, 28 Apr 2005 10:57:57 +0000 Subject: [PATCH] cleanup --- stepmania/src/MusicWheelItem.cpp | 178 +++++++++++-------------------- stepmania/src/MusicWheelItem.h | 17 +-- 2 files changed, 67 insertions(+), 128 deletions(-) diff --git a/stepmania/src/MusicWheelItem.cpp b/stepmania/src/MusicWheelItem.cpp index f37de48e2e..7d62a9795f 100644 --- a/stepmania/src/MusicWheelItem.cpp +++ b/stepmania/src/MusicWheelItem.cpp @@ -52,6 +52,14 @@ MusicWheelItem::MusicWheelItem() SetName( "MusicWheelItem" ); + m_sprSongBar.Load( THEME->GetPathG("MusicWheelItem","song") ); + m_sprSongBar.SetXY( 0, 0 ); + this->AddChild( &m_sprSongBar ); + + m_sprSectionBar.Load( THEME->GetPathG("MusicWheelItem","section") ); + m_sprSectionBar.SetXY( 0, 0 ); + this->AddChild( &m_sprSectionBar ); + m_fPercentGray = 0; m_WheelNotifyIcon.SetXY( ICON_X, ICON_Y ); m_WheelNotifyIcon.RunCommands( ICON_ON_COMMAND ); @@ -62,14 +70,6 @@ MusicWheelItem::MusicWheelItem() m_TextBanner.RunCommands( SONG_NAME_ON_COMMAND ); this->AddChild( &m_TextBanner ); - m_sprSongBar.Load( THEME->GetPathG("MusicWheelItem","song") ); - m_sprSongBar.SetXY( 0, 0 ); - this->AddChild( &m_sprSongBar ); - - m_sprSectionBar.Load( THEME->GetPathG("MusicWheelItem","section") ); - m_sprSectionBar.SetXY( 0, 0 ); - this->AddChild( &m_sprSectionBar ); - m_textSectionName.LoadFromFont( THEME->GetPathF("MusicWheelItem","section") ); m_textSectionName.SetShadowLength( 0 ); m_textSectionName.SetXY( SECTION_X, SECTION_Y ); @@ -83,14 +83,6 @@ MusicWheelItem::MusicWheelItem() m_textRoulette.RunCommands( ROULETTE_ON_COMMAND ); 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 ); - this->AddChild( &m_GradeDisplay[p] ); - } - m_textCourse.SetName( "CourseName" ); m_textCourse.LoadFromFont( THEME->GetPathF("MusicWheelItem","course") ); SET_XY_AND_ON_COMMAND( &m_textCourse ); @@ -100,27 +92,37 @@ MusicWheelItem::MusicWheelItem() m_textSort.LoadFromFont( THEME->GetPathF("MusicWheelItem","sort") ); SET_XY_AND_ON_COMMAND( &m_textSort ); this->AddChild( &m_textSort ); + + 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 ); + this->AddChild( &m_GradeDisplay[p] ); + } } void MusicWheelItem::LoadFromWheelItemData( WheelItemData* pWID ) { ASSERT( pWID != NULL ); - - - data = pWID; - /* - // copy all data items - this->m_Type = pWID->m_Type; - this->m_sSectionName = pWID->m_sSectionName; - this->m_pCourse = pWID->m_pCourse; - this->m_pSong = pWID->m_pSong; - this->m_color = pWID->m_color; - this->m_Type = pWID->m_Type; */ - // init type specific stuff + // hide all + m_WheelNotifyIcon.SetHidden( true ); + m_TextBanner.SetHidden( true ); + m_sprSongBar.SetHidden( true ); + m_sprSectionBar.SetHidden( true ); + m_textSectionName.SetHidden( true ); + m_textRoulette.SetHidden( true ); + FOREACH_PlayerNumber( p ) + m_GradeDisplay[p].SetHidden( true ); + m_textCourse.SetHidden( true ); + m_textSort.SetHidden( true ); + + + // init and unhide type specific stuff switch( pWID->m_Type ) { case TYPE_SECTION: @@ -151,37 +153,61 @@ void MusicWheelItem::LoadFromWheelItemData( WheelItemData* pWID ) bt->SetText( sDisplayName, sTranslitName ); bt->SetDiffuse( data->m_color ); bt->TurnRainbowOff(); + bt->SetHidden( false ); } break; case TYPE_SONG: { m_TextBanner.LoadFromSong( data->m_pSong ); m_TextBanner.SetDiffuse( data->m_color ); + m_TextBanner.SetHidden( false ); + m_WheelNotifyIcon.SetFlags( data->m_Flags ); + m_WheelNotifyIcon.SetHidden( false ); RefreshGrades(); } break; case TYPE_ROULETTE: m_textRoulette.SetText( THEME->GetMetric("MusicWheel","Roulette") ); + m_textRoulette.SetHidden( false ); break; case TYPE_RANDOM: m_textRoulette.SetText( THEME->GetMetric("MusicWheel","Random") ); + m_textRoulette.SetHidden( false ); break; case TYPE_PORTAL: m_textRoulette.SetText( THEME->GetMetric("MusicWheel","Portal") ); + m_textRoulette.SetHidden( false ); break; default: ASSERT( 0 ); // invalid type } + + switch( data->m_Type ) + { + case TYPE_SECTION: + case TYPE_ROULETTE: + case TYPE_RANDOM: + case TYPE_PORTAL: + case TYPE_SORT: + m_sprSectionBar.SetHidden( false ); + break; + case TYPE_SONG: + case TYPE_COURSE: + m_sprSongBar.SetHidden( false ); + break; + default: ASSERT(0); + } + } void MusicWheelItem::RefreshGrades() { // Refresh Grades - FOREACH_PlayerNumber( p ) + FOREACH_HumanPlayer( p ) { if( !data->m_pSong || // this isn't a song display !GAMESTATE->IsHumanPlayer(p) ) @@ -209,99 +235,21 @@ void MusicWheelItem::RefreshGrades() void MusicWheelItem::Update( float fDeltaTime ) { - Actor::Update( fDeltaTime ); - // update manually - - switch( data->m_Type ) - { - case TYPE_SECTION: - m_sprSectionBar.Update( fDeltaTime ); - m_textSectionName.Update( fDeltaTime ); - break; - case TYPE_ROULETTE: - case TYPE_RANDOM: - case TYPE_PORTAL: - m_sprSectionBar.Update( fDeltaTime ); - m_textRoulette.Update( fDeltaTime ); - break; - case TYPE_SONG: - { - m_sprSongBar.Update( fDeltaTime ); - m_WheelNotifyIcon.Update( fDeltaTime ); - m_TextBanner.Update( fDeltaTime ); - FOREACH_PlayerNumber( p ) - m_GradeDisplay[p].Update( fDeltaTime ); - } - break; - case TYPE_COURSE: - m_sprSongBar.Update( fDeltaTime ); - m_textCourse.Update( fDeltaTime ); - break; - case TYPE_SORT: - m_sprSectionBar.Update( fDeltaTime ); - m_textSort.Update( fDeltaTime ); - break; - default: - ASSERT(0); - } + ActorFrame::Update( fDeltaTime ); } void MusicWheelItem::DrawPrimitives() { - // draw manually - - Sprite *bar = NULL; - switch( data->m_Type ) - { - case TYPE_SECTION: - case TYPE_ROULETTE: - case TYPE_RANDOM: - case TYPE_PORTAL: - case TYPE_SORT: - bar = &m_sprSectionBar; - break; - case TYPE_SONG: - case TYPE_COURSE: - bar = &m_sprSongBar; - break; - default: ASSERT(0); - } - - bar->Draw(); - - switch( data->m_Type ) - { - case TYPE_SECTION: - m_textSectionName.Draw(); - break; - case TYPE_ROULETTE: - case TYPE_RANDOM: - case TYPE_PORTAL: - m_textRoulette.Draw(); - break; - case TYPE_SONG: - m_TextBanner.Draw(); - m_WheelNotifyIcon.Draw(); - FOREACH_PlayerNumber( p ) - m_GradeDisplay[p].Draw(); - break; - case TYPE_COURSE: - m_textCourse.Draw(); - break; - case TYPE_SORT: - m_textSort.Draw(); - break; - default: - ASSERT(0); - } + ActorFrame::DrawPrimitives(); if( m_fPercentGray > 0 ) { - bar->SetGlow( RageColor(0,0,0,m_fPercentGray) ); - bar->SetDiffuse( RageColor(0,0,0,0) ); - bar->Draw(); - bar->SetDiffuse( RageColor(0,0,0,1) ); - bar->SetGlow( RageColor(0,0,0,0) ); + Sprite &bar = m_sprSectionBar.GetHidden() ? m_sprSongBar : m_sprSectionBar; + bar.SetGlow( RageColor(0,0,0,m_fPercentGray) ); + bar.SetDiffuse( RageColor(0,0,0,0) ); + bar.Draw(); + bar.SetDiffuse( RageColor(0,0,0,1) ); + bar.SetGlow( RageColor(0,0,0,0) ); } } diff --git a/stepmania/src/MusicWheelItem.h b/stepmania/src/MusicWheelItem.h index 0c99eea0d4..48f0556100 100644 --- a/stepmania/src/MusicWheelItem.h +++ b/stepmania/src/MusicWheelItem.h @@ -29,24 +29,15 @@ public: WheelItemData *data; float m_fPercentGray; - // for TYPE_SECTION and TYPE_ROULETTE - Sprite m_sprSectionBar; - // for TYPE_SECTION - BitmapText m_textSectionName; - // for TYPE_ROULETTE - BitmapText m_textRoulette; - - // for a TYPE_MUSIC Sprite m_sprSongBar; + Sprite m_sprSectionBar; WheelNotifyIcon m_WheelNotifyIcon; TextBanner m_TextBanner; - GradeDisplay m_GradeDisplay[NUM_PLAYERS]; - - // for TYPE_COURSE + BitmapText m_textSectionName; + BitmapText m_textRoulette; BitmapText m_textCourse; - - // for TYPE_SORT BitmapText m_textSort; + GradeDisplay m_GradeDisplay[NUM_PLAYERS]; }; enum WheelItemType