From 8ecc6183f062eff14497d3c82441614728e60365 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Tue, 13 Apr 2004 09:46:04 +0000 Subject: [PATCH] add sort and mode banners, metric for random and roulette scrolling --- stepmania/src/Banner.cpp | 33 +++++++++++++++++++++++------ stepmania/src/Banner.h | 2 ++ stepmania/src/FadingBanner.cpp | 12 +++++++++++ stepmania/src/FadingBanner.h | 2 ++ stepmania/src/ScreenSelectMusic.cpp | 11 +++++++++- 5 files changed, 52 insertions(+), 8 deletions(-) diff --git a/stepmania/src/Banner.cpp b/stepmania/src/Banner.cpp index 887d91ddbd..e4541b5338 100644 --- a/stepmania/src/Banner.cpp +++ b/stepmania/src/Banner.cpp @@ -20,16 +20,23 @@ #include "Course.h" #include "Character.h" +CachedThemeMetricB SCROLL_RANDOM ("Banner","ScrollRandom"); +CachedThemeMetricB SCROLL_ROULETTE ("Banner","ScrollRoulette"); Banner::Banner() { + SCROLL_RANDOM.Refresh(); + SCROLL_ROULETTE.Refresh(); + m_bScrolling = false; m_fPercentScrolling = 0; - TEXTUREMAN->CacheTexture( SongBannerTexture(THEME->GetPathToG("Banner all music")) ); - TEXTUREMAN->CacheTexture( SongBannerTexture(THEME->GetPathToG("Common fallback banner")) ); - TEXTUREMAN->CacheTexture( SongBannerTexture(THEME->GetPathToG("Banner roulette")) ); - TEXTUREMAN->CacheTexture( SongBannerTexture(THEME->GetPathToG("Banner random")) ); + TEXTUREMAN->CacheTexture( SongBannerTexture(THEME->GetPathG("Banner","all music")) ); + TEXTUREMAN->CacheTexture( SongBannerTexture(THEME->GetPathG("Common","fallback banner")) ); + TEXTUREMAN->CacheTexture( SongBannerTexture(THEME->GetPathG("Banner","roulette")) ); + TEXTUREMAN->CacheTexture( SongBannerTexture(THEME->GetPathG("Banner","random")) ); + TEXTUREMAN->CacheTexture( SongBannerTexture(THEME->GetPathG("Banner","Sort")) ); + TEXTUREMAN->CacheTexture( SongBannerTexture(THEME->GetPathG("Banner","Mode")) ); } bool Banner::Load( RageTextureID ID ) @@ -89,7 +96,19 @@ void Banner::LoadFromSong( Song* pSong ) // NULL means no song void Banner::LoadAllMusic() { - Load( THEME->GetPathToG("Banner all") ); + Load( THEME->GetPathG("Banner","All") ); + m_bScrolling = false; +} + +void Banner::LoadSort() +{ + Load( THEME->GetPathG("Banner","Sort") ); + m_bScrolling = false; +} + +void Banner::LoadMode() +{ + Load( THEME->GetPathG("Banner","Mode") ); m_bScrolling = false; } @@ -149,11 +168,11 @@ void Banner::LoadFallback() void Banner::LoadRoulette() { Load( THEME->GetPathToG("Banner roulette") ); - m_bScrolling = true; + m_bScrolling = (bool)SCROLL_RANDOM; } void Banner::LoadRandom() { Load( THEME->GetPathToG("Banner random") ); - m_bScrolling = true; + m_bScrolling = (bool)SCROLL_ROULETTE; } diff --git a/stepmania/src/Banner.h b/stepmania/src/Banner.h index f0d5b9a75e..47ccd029d9 100644 --- a/stepmania/src/Banner.h +++ b/stepmania/src/Banner.h @@ -29,6 +29,8 @@ public: void LoadFromSong( Song* pSong ); // NULL means no song void LoadAllMusic(); + void LoadSort(); + void LoadMode(); void LoadFromGroup( CString sGroupName ); void LoadFromCourse( Course* pCourse ); void LoadCardFromCharacter( Character* pCharacter ); diff --git a/stepmania/src/FadingBanner.cpp b/stepmania/src/FadingBanner.cpp index e5d3c1b128..8f0914beec 100644 --- a/stepmania/src/FadingBanner.cpp +++ b/stepmania/src/FadingBanner.cpp @@ -161,6 +161,18 @@ void FadingBanner::LoadAllMusic() m_Banner[GetBackIndex()].LoadAllMusic(); } +void FadingBanner::LoadSort() +{ + BeforeChange(); + m_Banner[GetBackIndex()].LoadSort(); +} + +void FadingBanner::LoadMode() +{ + BeforeChange(); + m_Banner[GetBackIndex()].LoadMode(); +} + void FadingBanner::LoadFromGroup( CString sGroupName ) { const CString sGroupBannerPath = SONGMAN->GetGroupBannerPath( sGroupName ); diff --git a/stepmania/src/FadingBanner.h b/stepmania/src/FadingBanner.h index d0a33b9055..bbf3d96044 100644 --- a/stepmania/src/FadingBanner.h +++ b/stepmania/src/FadingBanner.h @@ -25,6 +25,8 @@ public: void LoadFromSong( Song* pSong ); // NULL means no song void LoadAllMusic(); + void LoadSort(); + void LoadMode(); void LoadFromGroup( CString sGroupName ); void LoadFromCourse( Course* pCourse ); void LoadRoulette(); diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index 48ccf8ce21..926aeea231 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -1285,7 +1285,6 @@ void ScreenSelectMusic::AfterMusicChange() for( int p=0; pGetPathToS("ScreenSelectMusic section music"); break; case TYPE_SORT: + switch( GAMESTATE->m_SortOrder ) + { + case SORT_SORT_MENU: + m_Banner.LoadSort(); + break; + case SORT_MODE_MENU: + m_Banner.LoadMode(); + break; + } SampleMusicToPlay = THEME->GetPathToS("ScreenSelectMusic sort music"); break; default: