diff --git a/stepmania/src/Banner.cpp b/stepmania/src/Banner.cpp index 68e2e30c80..646afc079b 100644 --- a/stepmania/src/Banner.cpp +++ b/stepmania/src/Banner.cpp @@ -18,6 +18,8 @@ #include "song.h" #include "RageTextureManager.h" #include "Course.h" +#include "Character.h" + RageTextureID Banner::BannerTex( RageTextureID ID ) { @@ -118,6 +120,27 @@ void Banner::LoadFromCourse( Course* pCourse ) // NULL means no course m_bScrolling = false; } +void Banner::LoadCardFromCharacter( Character* pCharacter ) +{ + ASSERT( pCharacter ); + + if( pCharacter->GetCardPath() != "" ) Load( pCharacter->GetCardPath() ); + else LoadFallback(); + + m_bScrolling = false; +} + +void Banner::LoadIconFromCharacter( Character* pCharacter ) +{ + ASSERT( pCharacter ); + + if( pCharacter->GetIconPath() != "" ) Load( pCharacter->GetIconPath() ); + else if( pCharacter->GetCardPath() != "" ) Load( pCharacter->GetCardPath() ); + else LoadFallback(); + + m_bScrolling = false; +} + void Banner::LoadFallback() { Load( THEME->GetPathToG("Common fallback banner") ); diff --git a/stepmania/src/Banner.h b/stepmania/src/Banner.h index 203a3425ad..2bb234c491 100644 --- a/stepmania/src/Banner.h +++ b/stepmania/src/Banner.h @@ -15,7 +15,7 @@ #include "RageTexture.h" class Song; class Course; - +class Character; class Banner : public Sprite { @@ -31,6 +31,8 @@ public: void LoadAllMusic(); void LoadFromGroup( CString sGroupName ); void LoadFromCourse( Course* pCourse ); + void LoadCardFromCharacter( Character* pCharacter ); + void LoadIconFromCharacter( Character* pCharacter ); void LoadRoulette(); void LoadRandom(); void LoadFallback();