From 9b1fb67f6a6049371c7758f3f920da95b18e2cd3 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Fri, 18 Mar 2005 01:55:33 +0000 Subject: [PATCH] explicitly Load TextBanner to read metrics - don't automatically init on first use --- stepmania/src/CourseEntryDisplay.cpp | 5 ++-- stepmania/src/MusicWheelItem.cpp | 3 +-- stepmania/src/TextBanner.cpp | 36 +++++++++++++--------------- stepmania/src/TextBanner.h | 2 +- 4 files changed, 21 insertions(+), 25 deletions(-) diff --git a/stepmania/src/CourseEntryDisplay.cpp b/stepmania/src/CourseEntryDisplay.cpp index 7fb491d781..780dd8a444 100644 --- a/stepmania/src/CourseEntryDisplay.cpp +++ b/stepmania/src/CourseEntryDisplay.cpp @@ -14,7 +14,7 @@ #include "ActorUtil.h" #define SEPARATE_COURSE_METERS THEME->GetMetricB(m_sName,"SeparateCourseMeters") -#define TEXT_BANNER_NAME THEME->GetMetric (m_sName,"TextBannerName") +#define TEXT_BANNER_TYPE THEME->GetMetric (m_sName,"TextBannerType") void CourseEntryDisplay::Load() { @@ -31,7 +31,8 @@ void CourseEntryDisplay::Load() SET_XY_AND_ON_COMMAND( &m_textNumber ); this->AddChild( &m_textNumber ); - m_TextBanner.SetName( TEXT_BANNER_NAME, "TextBanner" ); + m_TextBanner.SetName( "TextBanner" ); + m_TextBanner.Load( TEXT_BANNER_TYPE ); SET_XY_AND_ON_COMMAND( &m_TextBanner ); /* Load the m_TextBanner now, so any actor commands sent to us will propagate correctly. */ m_TextBanner.LoadFromString( "", "", "", "", "", "" ); diff --git a/stepmania/src/MusicWheelItem.cpp b/stepmania/src/MusicWheelItem.cpp index 3af756a131..021d23bb8d 100644 --- a/stepmania/src/MusicWheelItem.cpp +++ b/stepmania/src/MusicWheelItem.cpp @@ -48,8 +48,7 @@ MusicWheelItem::MusicWheelItem() m_fPercentGray = 0; m_WheelNotifyIcon.SetXY( ICON_X, 0 ); - m_TextBanner.SetName( "TextBanner" ); - m_TextBanner.Init(); + m_TextBanner.Load( "TextBanner" ); m_TextBanner.SetHorizAlign( align_left ); m_TextBanner.SetXY( SONG_NAME_X, 0 ); m_All.AddChild( &m_TextBanner ); diff --git a/stepmania/src/TextBanner.cpp b/stepmania/src/TextBanner.cpp index e2c1f96738..830f0124be 100644 --- a/stepmania/src/TextBanner.cpp +++ b/stepmania/src/TextBanner.cpp @@ -11,37 +11,33 @@ #include "Command.h" -void TextBanner::Init() +void TextBanner::Load( CString sType ) { - if( m_bInitted ) - return; m_bInitted = true; m_textTitle.SetName( "Title" ); - m_textTitle.LoadFromFont( THEME->GetPathF(m_sName,"text") ); + m_textTitle.LoadFromFont( THEME->GetPathF(sType,"text") ); this->AddChild( &m_textTitle ); m_textSubTitle.SetName( "Subtitle" ); - m_textSubTitle.LoadFromFont( THEME->GetPathF(m_sName,"text") ); + m_textSubTitle.LoadFromFont( THEME->GetPathF(sType,"text") ); this->AddChild( &m_textSubTitle ); m_textArtist.SetName( "Artist" ); - m_textArtist.LoadFromFont( THEME->GetPathF(m_sName,"text") ); + m_textArtist.LoadFromFont( THEME->GetPathF(sType,"text") ); this->AddChild( &m_textArtist ); - ARTIST_PREPEND_STRING .Load(m_sName,"ArtistPrependString"); - TWO_LINES_TITLE_COMMAND .Load(m_sName,"TwoLinesTitleCommand"); - TWO_LINES_SUBTITLE_COMMAND .Load(m_sName,"TwoLinesSubtitleCommand"); - TWO_LINES_ARTIST_COMMAND .Load(m_sName,"TwoLinesArtistCommand"); - THREE_LINES_TITLE_COMMAND .Load(m_sName,"ThreeLinesTitleCommand"); - THREE_LINES_SUBTITLE_COMMAND .Load(m_sName,"ThreeLinesSubtitleCommand"); - THREE_LINES_ARTIST_COMMAND .Load(m_sName,"ThreeLinesArtistCommand"); + ARTIST_PREPEND_STRING .Load(sType,"ArtistPrependString"); + TWO_LINES_TITLE_COMMAND .Load(sType,"TwoLinesTitleCommand"); + TWO_LINES_SUBTITLE_COMMAND .Load(sType,"TwoLinesSubtitleCommand"); + TWO_LINES_ARTIST_COMMAND .Load(sType,"TwoLinesArtistCommand"); + THREE_LINES_TITLE_COMMAND .Load(sType,"ThreeLinesTitleCommand"); + THREE_LINES_SUBTITLE_COMMAND .Load(sType,"ThreeLinesSubtitleCommand"); + THREE_LINES_ARTIST_COMMAND .Load(sType,"ThreeLinesArtistCommand"); - ASSERT( m_sName != "" ); - - SET_XY_AND_ON_COMMAND( m_textTitle ); - SET_XY_AND_ON_COMMAND( m_textSubTitle ); - SET_XY_AND_ON_COMMAND( m_textArtist ); + ActorUtil::SetXYAndOnCommand( m_textTitle, sType ); + ActorUtil::SetXYAndOnCommand( m_textSubTitle, sType ); + ActorUtil::SetXYAndOnCommand( m_textArtist, sType ); } TextBanner::TextBanner() @@ -55,7 +51,7 @@ void TextBanner::LoadFromString( CString sDisplaySubTitle, CString sTranslitSubTitle, CString sDisplayArtist, CString sTranslitArtist ) { - Init(); + ASSERT( m_bInitted ); m_textTitle.SetText( sDisplayTitle, sTranslitTitle ); m_textSubTitle.SetText( sDisplaySubTitle, sTranslitSubTitle ); @@ -79,7 +75,7 @@ void TextBanner::LoadFromString( void TextBanner::LoadFromSong( const Song* pSong ) { - Init(); + ASSERT( m_bInitted ); CString sDisplayTitle = pSong ? pSong->GetDisplayMainTitle() : CString(""); CString sTranslitTitle = pSong ? pSong->GetTranslitMainTitle() : CString(""); diff --git a/stepmania/src/TextBanner.h b/stepmania/src/TextBanner.h index 2e8c43516c..b574b7b750 100644 --- a/stepmania/src/TextBanner.h +++ b/stepmania/src/TextBanner.h @@ -12,7 +12,7 @@ class TextBanner : public ActorFrame { public: TextBanner(); - void Init(); // load metrics + void Load( CString sType ); // load metrics void LoadFromSong( const Song* pSong ); void LoadFromString( CString sDisplayTitle, CString sTranslitTitle,