From 3cadf4c5d59b1432d18792ec083c24b312d9face Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 30 May 2004 23:23:39 +0000 Subject: [PATCH] have Numbers fall back to Fonts (in perparation for removing the Numbers dir altogether) --- stepmania/src/BPMDisplay.cpp | 2 +- stepmania/src/BitmapText.cpp | 10 ++++++++-- stepmania/src/BitmapText.h | 1 - stepmania/src/Combo.cpp | 2 +- stepmania/src/DifficultyMeter.cpp | 2 +- stepmania/src/LifeMeterBattery.cpp | 2 +- stepmania/src/MenuTimer.cpp | 4 ++-- stepmania/src/PercentageDisplay.cpp | 4 ++-- stepmania/src/ProTimingDisplay.cpp | 2 +- stepmania/src/ScoreDisplayNormal.cpp | 2 +- stepmania/src/ScoreDisplayOni.cpp | 2 +- stepmania/src/ScoreDisplayRave.cpp | 2 +- stepmania/src/ScreenEvaluation.cpp | 10 +++++----- stepmania/src/ScreenGameplay.cpp | 4 ++-- stepmania/src/ScreenSelectCourse.cpp | 4 ++-- stepmania/src/ScreenSelectGroup.cpp | 2 +- stepmania/src/ScreenSelectMusic.cpp | 6 +++--- stepmania/src/ThemeManager.cpp | 3 +++ 18 files changed, 36 insertions(+), 28 deletions(-) diff --git a/stepmania/src/BPMDisplay.cpp b/stepmania/src/BPMDisplay.cpp index c5e4386f01..86332d7c8a 100644 --- a/stepmania/src/BPMDisplay.cpp +++ b/stepmania/src/BPMDisplay.cpp @@ -38,7 +38,7 @@ BPMDisplay::BPMDisplay() void BPMDisplay::Load() { m_textBPM.SetName( "Text" ); - m_textBPM.LoadFromNumbers( THEME->GetPathToN(m_sName) ); + m_textBPM.LoadFromFont( THEME->GetPathToN(m_sName) ); SET_XY_AND_ON_COMMAND( m_textBPM ); m_textBPM.SetDiffuse( NORMAL_COLOR ); this->AddChild( &m_textBPM ); diff --git a/stepmania/src/BitmapText.cpp b/stepmania/src/BitmapText.cpp index 5c36fd5252..c21f8be934 100644 --- a/stepmania/src/BitmapText.cpp +++ b/stepmania/src/BitmapText.cpp @@ -86,14 +86,20 @@ BitmapText::~BitmapText() bool BitmapText::LoadFromFont( CString sFontFilePath ) { - CHECKPOINT_M( ssprintf("BitmapText::LoadFromFontName(%s)", sFontFilePath.c_str()) ); + CHECKPOINT_M( ssprintf("BitmapText::LoadFromFont(%s)", sFontFilePath.c_str()) ); + + // if we're called with a non-ini file, then we're trying to load a 5x3 numbers graphic + bool bIsNumbers = GetExtension(sFontFilePath).CompareNoCase("ini")!=0; + if( bIsNumbers ) + { + return LoadFromTextureAndChars( sFontFilePath, "0123456789%. :x" ); + } if( m_pFont ) { FONT->UnloadFont( m_pFont ); m_pFont = NULL; } - // load font m_pFont = FONT->LoadFont( sFontFilePath ); BuildChars(); diff --git a/stepmania/src/BitmapText.h b/stepmania/src/BitmapText.h index 6b420306a8..44cb4f9f2a 100644 --- a/stepmania/src/BitmapText.h +++ b/stepmania/src/BitmapText.h @@ -24,7 +24,6 @@ public: bool LoadFromFont( CString sFontName ); - bool LoadFromNumbers( CString sTexturePath ) { return LoadFromTextureAndChars(sTexturePath,"0123456789%. :x"); }; bool LoadFromTextureAndChars( CString sTexturePath, CString sChars ); void SetText( CString sText, CString sAlternateText = "", int iWrapWidthPixels = -1 ); void SetMaxWidth( float MaxWidth ); diff --git a/stepmania/src/Combo.cpp b/stepmania/src/Combo.cpp index ecda190baf..6316f08a4f 100644 --- a/stepmania/src/Combo.cpp +++ b/stepmania/src/Combo.cpp @@ -67,7 +67,7 @@ Combo::Combo() m_sprCombo.SetDiffuse( RageColor(1,1,1,0) ); // invisible this->AddChild( &m_sprCombo ); - m_textComboNumber.LoadFromNumbers( THEME->GetPathToN("Combo") ); + m_textComboNumber.LoadFromFont( THEME->GetPathToN("Combo") ); m_textComboNumber.SetShadowLength( 4 ); m_textComboNumber.SetXY( NUMBER_X, NUMBER_Y ); m_textComboNumber.SetHorizAlign( (Actor::HorizAlign)(int)NUMBER_HORIZ_ALIGN ); diff --git a/stepmania/src/DifficultyMeter.cpp b/stepmania/src/DifficultyMeter.cpp index 1be880de4d..899adef55c 100644 --- a/stepmania/src/DifficultyMeter.cpp +++ b/stepmania/src/DifficultyMeter.cpp @@ -90,7 +90,7 @@ void DifficultyMeter::Load() if( SHOW_METER ) { m_textMeter.SetName( "Meter" ); - m_textMeter.LoadFromNumbers( THEME->GetPathToN( ssprintf("%s meter", m_sName.c_str())) ); + m_textMeter.LoadFromFont( THEME->GetPathToN( ssprintf("%s meter", m_sName.c_str())) ); SET_XY_AND_ON_COMMAND( m_textMeter ); this->AddChild( &m_textMeter ); } diff --git a/stepmania/src/LifeMeterBattery.cpp b/stepmania/src/LifeMeterBattery.cpp index d90e789dcd..d97f0baccf 100644 --- a/stepmania/src/LifeMeterBattery.cpp +++ b/stepmania/src/LifeMeterBattery.cpp @@ -51,7 +51,7 @@ void LifeMeterBattery::Load( PlayerNumber pn ) if( bPlayerEnabled ) this->AddChild( &m_sprBattery ); - m_textNumLives.LoadFromNumbers( THEME->GetPathToN("LifeMeterBattery lives") ); + m_textNumLives.LoadFromFont( THEME->GetPathToN("LifeMeterBattery lives") ); m_textNumLives.SetDiffuse( RageColor(1,1,1,1) ); m_textNumLives.SetShadowLength( 0 ); if( bPlayerEnabled ) diff --git a/stepmania/src/MenuTimer.cpp b/stepmania/src/MenuTimer.cpp index d6d4d152ca..1cd9e3587d 100644 --- a/stepmania/src/MenuTimer.cpp +++ b/stepmania/src/MenuTimer.cpp @@ -34,8 +34,8 @@ MenuTimer::MenuTimer() m_fStallSecondsLeft = MAX_STALL_SECONDS; m_bPaused = false; - m_textDigit1.LoadFromNumbers( THEME->GetPathToN("MenuTimer") ); - m_textDigit2.LoadFromNumbers( THEME->GetPathToN("MenuTimer") ); + m_textDigit1.LoadFromFont( THEME->GetPathToN("MenuTimer") ); + m_textDigit2.LoadFromFont( THEME->GetPathToN("MenuTimer") ); const float fCharWidth = (float) m_textDigit1.m_pFont->GetLineWidthInSourcePixels(L"0"); m_textDigit1.SetX( -fCharWidth/2 ); diff --git a/stepmania/src/PercentageDisplay.cpp b/stepmania/src/PercentageDisplay.cpp index 5336fc02d1..fdeb710b2a 100644 --- a/stepmania/src/PercentageDisplay.cpp +++ b/stepmania/src/PercentageDisplay.cpp @@ -31,14 +31,14 @@ void PercentageDisplay::Load( PlayerNumber pn, StageStats* pSource, bool bAutoRe else m_textPercent.SetName( ssprintf("PercentP%i", pn+1) ); - m_textPercent.LoadFromNumbers( THEME->GetPathN(m_sName,"text") ); + m_textPercent.LoadFromFont( THEME->GetPathN(m_sName,"text") ); SET_XY_AND_ON_COMMAND( m_textPercent ); this->AddChild( &m_textPercent ); if( !PREFSMAN->m_bDancePointsForOni && PERCENT_USE_REMAINDER ) { m_textPercentRemainder.SetName( ssprintf("PercentRemainderP%d",pn+1) ); - m_textPercentRemainder.LoadFromNumbers( THEME->GetPathToN(m_sName + " remainder") ); + m_textPercentRemainder.LoadFromFont( THEME->GetPathToN(m_sName + " remainder") ); SET_XY_AND_ON_COMMAND( m_textPercentRemainder ); m_textPercentRemainder.SetText( "456" ); this->AddChild( &m_textPercentRemainder ); diff --git a/stepmania/src/ProTimingDisplay.cpp b/stepmania/src/ProTimingDisplay.cpp index 50162bea98..41653cd06f 100644 --- a/stepmania/src/ProTimingDisplay.cpp +++ b/stepmania/src/ProTimingDisplay.cpp @@ -13,7 +13,7 @@ static CachedThemeMetric HIT_MINE_COMMAND ("ProTimingDisplay","HitMineCommand"); ProTimingDisplay::ProTimingDisplay() { - m_Judgment.LoadFromNumbers( THEME->GetPathToN("ProTimingDisplay Judgment") ); + m_Judgment.LoadFromFont( THEME->GetPathToN("ProTimingDisplay Judgment") ); m_Judgment.SetName( "Judgment" ); this->AddChild( &m_Judgment ); diff --git a/stepmania/src/ScoreDisplayNormal.cpp b/stepmania/src/ScoreDisplayNormal.cpp index cbd860cefa..8ec6284c1d 100644 --- a/stepmania/src/ScoreDisplayNormal.cpp +++ b/stepmania/src/ScoreDisplayNormal.cpp @@ -30,7 +30,7 @@ ScoreDisplayNormal::ScoreDisplayNormal() this->AddChild( &m_sprFrame ); // init the text - m_text.LoadFromNumbers( THEME->GetPathToN("ScoreDisplayNormal") ); + m_text.LoadFromFont( THEME->GetPathToN("ScoreDisplayNormal") ); m_text.SetShadowLength( 0 ); m_iScore = 0; diff --git a/stepmania/src/ScoreDisplayOni.cpp b/stepmania/src/ScoreDisplayOni.cpp index 2ea8ddf78c..677f3ed362 100644 --- a/stepmania/src/ScoreDisplayOni.cpp +++ b/stepmania/src/ScoreDisplayOni.cpp @@ -28,7 +28,7 @@ ScoreDisplayOni::ScoreDisplayOni() this->AddChild( &m_sprFrame ); // init the text - m_text.LoadFromNumbers( THEME->GetPathToN("ScoreDisplayOni") ); + m_text.LoadFromFont( THEME->GetPathToN("ScoreDisplayOni") ); m_text.SetShadowLength( 0 ); this->AddChild( &m_text ); } diff --git a/stepmania/src/ScoreDisplayRave.cpp b/stepmania/src/ScoreDisplayRave.cpp index b0c3d3c3ac..f0731929b5 100644 --- a/stepmania/src/ScoreDisplayRave.cpp +++ b/stepmania/src/ScoreDisplayRave.cpp @@ -39,7 +39,7 @@ ScoreDisplayRave::ScoreDisplayRave() this->AddChild( &m_sprFrameOverlay ); - m_textLevel.LoadFromNumbers( THEME->GetPathToN("ScoreDisplayRave level") ); + m_textLevel.LoadFromFont( THEME->GetPathToN("ScoreDisplayRave level") ); m_textLevel.SetText( "1" ); m_textLevel.SetShadowLength( 0 ); this->AddChild( &m_textLevel ); diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 0f2440252d..cdb917b3ad 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -536,7 +536,7 @@ void ScreenEvaluation::Init() SET_XY_AND_ON_COMMAND( m_sprSurvivedFrame[p] ); this->AddChild( m_sprSurvivedFrame[p] ); - m_textSurvivedNumber[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation stage") ); + m_textSurvivedNumber[p].LoadFromFont( THEME->GetPathToN("ScreenEvaluation stage") ); m_textSurvivedNumber[p].SetShadowLength( 0 ); // curewater: edited the "# stages cleared" text so it deducts one if you failed. // Should be accurate, but I'm not sure if its "standard" that (bool)true = 1. (assumption) @@ -589,7 +589,7 @@ void ScreenEvaluation::Init() FOREACH_EnabledPlayer( p ) { - m_textJudgeNumbers[l][p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation judge") ); + m_textJudgeNumbers[l][p].LoadFromFont( THEME->GetPathToN("ScreenEvaluation judge") ); m_textJudgeNumbers[l][p].SetShadowLength( 0 ); m_textJudgeNumbers[l][p].SetDiffuse( PlayerToColor(p) ); m_textJudgeNumbers[l][p].SetName( ssprintf("%sNumberP%d",JUDGE_STRING[l],p+1) ); @@ -667,7 +667,7 @@ void ScreenEvaluation::Init() FOREACH_EnabledPlayer( p ) { - m_textScore[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation score") ); + m_textScore[p].LoadFromFont( THEME->GetPathToN("ScreenEvaluation score") ); m_textScore[p].SetShadowLength( 0 ); m_textScore[p].SetDiffuse( PlayerToColor(p) ); m_textScore[p].SetName( ssprintf("ScoreNumberP%d",p+1) ); @@ -692,7 +692,7 @@ void ScreenEvaluation::Init() //iTotalScore += stageStats.iScore[p]; - m_textTotalScore[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation totalscore") ); + m_textTotalScore[p].LoadFromFont( THEME->GetPathToN("ScreenEvaluation totalscore") ); m_textTotalScore[p].SetShadowLength( 0 ); m_textTotalScore[p].SetDiffuse( PlayerToColor(p) ); m_textTotalScore[p].SetName( ssprintf("TotalScoreNumberP%d",p+1) ); @@ -715,7 +715,7 @@ void ScreenEvaluation::Init() FOREACH_EnabledPlayer( p ) { - m_textTime[p].LoadFromNumbers( THEME->GetPathToN("ScreenEvaluation time") ); + m_textTime[p].LoadFromFont( THEME->GetPathToN("ScreenEvaluation time") ); m_textTime[p].SetShadowLength( 0 ); m_textTime[p].SetDiffuse( PlayerToColor(p) ); m_textTime[p].SetName( ssprintf("TimeNumberP%d",p+1) ); diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index bcef25fa6c..ed21374cf8 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -457,7 +457,7 @@ void ScreenGameplay::Init() this->AddChild( &m_meterSongPosition ); - m_MaxCombo.LoadFromNumbers( THEME->GetPathToN("ScreenGameplay max combo") ); + m_MaxCombo.LoadFromFont( THEME->GetPathToN("ScreenGameplay max combo") ); m_MaxCombo.SetName( "MaxCombo" ); SET_XY( m_MaxCombo ); m_MaxCombo.SetText( ssprintf("%d", g_CurStageStats.iMaxCombo[GAMESTATE->m_MasterPlayerNumber]) ); // TODO: Make this work for both players @@ -524,7 +524,7 @@ void ScreenGameplay::Init() FOREACH_EnabledPlayer(p) { - m_textCourseSongNumber[p].LoadFromNumbers( THEME->GetPathToN("ScreenGameplay song num") ); + m_textCourseSongNumber[p].LoadFromFont( THEME->GetPathToN("ScreenGameplay song num") ); m_textCourseSongNumber[p].SetShadowLength( 0 ); m_textCourseSongNumber[p].SetName( ssprintf("SongNumberP%d%s",p+1,bExtra?"Extra":"") ); SET_XY( m_textCourseSongNumber[p] ); diff --git a/stepmania/src/ScreenSelectCourse.cpp b/stepmania/src/ScreenSelectCourse.cpp index 5942b248b8..e288590840 100644 --- a/stepmania/src/ScreenSelectCourse.cpp +++ b/stepmania/src/ScreenSelectCourse.cpp @@ -83,12 +83,12 @@ ScreenSelectCourse::ScreenSelectCourse( CString sClassName ) : ScreenWithMenuEle m_sprBannerFrame.SetXY( BANNER_FRAME_X, BANNER_FRAME_Y ); this->AddChild( &m_sprBannerFrame ); - m_textNumSongs.LoadFromNumbers( THEME->GetPathToN("ScreenSelectCourse num songs") ); + m_textNumSongs.LoadFromFont( THEME->GetPathToN("ScreenSelectCourse num songs") ); m_textNumSongs.SetShadowLength( 0 ); m_textNumSongs.SetXY( STAGES_X, STAGES_Y ); this->AddChild( &m_textNumSongs ); - m_textTime.LoadFromNumbers( THEME->GetPathToN("ScreenSelectCourse total time") ); + m_textTime.LoadFromFont( THEME->GetPathToN("ScreenSelectCourse total time") ); m_textTime.SetShadowLength( 0 ); m_textTime.SetXY( TIME_X, TIME_Y ); this->AddChild( &m_textTime ); diff --git a/stepmania/src/ScreenSelectGroup.cpp b/stepmania/src/ScreenSelectGroup.cpp index 695a1c4df7..8caf236428 100644 --- a/stepmania/src/ScreenSelectGroup.cpp +++ b/stepmania/src/ScreenSelectGroup.cpp @@ -118,7 +118,7 @@ ScreenSelectGroup::ScreenSelectGroup( CString sClassName ) : ScreenWithMenuEleme this->AddChild( &m_sprFrame ); m_textNumber.SetName( "Number" ); - m_textNumber.LoadFromNumbers( THEME->GetPathToN("ScreenSelectGroup num songs") ); + m_textNumber.LoadFromFont( THEME->GetPathToN("ScreenSelectGroup num songs") ); this->AddChild( &m_textNumber ); m_sprContents.SetName( "Contents" ); diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index 2669b040ab..1a55f6c82e 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -206,12 +206,12 @@ ScreenSelectMusic::ScreenSelectMusic( CString sClassName ) : ScreenWithMenuEleme this->AddChild( &m_textSongOptions ); m_textNumSongs.SetName( "NumSongs" ); - m_textNumSongs.LoadFromNumbers( THEME->GetPathN(m_sName,"num songs") ); + m_textNumSongs.LoadFromFont( THEME->GetPathN(m_sName,"num songs") ); SET_XY( m_textNumSongs ); this->AddChild( &m_textNumSongs ); m_textTotalTime.SetName( "TotalTime" ); - m_textTotalTime.LoadFromNumbers( THEME->GetPathN(m_sName,"total time") ); + m_textTotalTime.LoadFromFont( THEME->GetPathN(m_sName,"total time") ); SET_XY( m_textTotalTime ); this->AddChild( &m_textTotalTime ); @@ -290,7 +290,7 @@ ScreenSelectMusic::ScreenSelectMusic( CString sClassName ) : ScreenWithMenuEleme this->AddChild( &m_sprHighScoreFrame[p] ); m_textHighScore[p].SetName( ssprintf("ScoreP%d",p+1) ); - m_textHighScore[p].LoadFromNumbers( THEME->GetPathN(m_sName,"score") ); + m_textHighScore[p].LoadFromFont( THEME->GetPathN(m_sName,"score") ); m_textHighScore[p].SetShadowLength( 0 ); m_textHighScore[p].SetDiffuse( PlayerToColor(p) ); SET_XY( m_textHighScore[p] ); diff --git a/stepmania/src/ThemeManager.cpp b/stepmania/src/ThemeManager.cpp index 854009c2f4..1261210b56 100644 --- a/stepmania/src/ThemeManager.cpp +++ b/stepmania/src/ThemeManager.cpp @@ -303,6 +303,9 @@ try_element_again: if( asElementPaths.size() == 0 ) { + // HACK: have Numbers fall back to fonts. Eventually Numbers will be removed. + if( category == Numbers ) + return GetPathToRaw( sThemeName, Fonts, sClassName, sElement ) ; return ""; // This isn't fatal. }