diff --git a/stepmania/src/Banner.cpp b/stepmania/src/Banner.cpp index e24c0ca95c..fee390605f 100644 --- a/stepmania/src/Banner.cpp +++ b/stepmania/src/Banner.cpp @@ -7,6 +7,7 @@ #include "Course.h" #include "Character.h" #include "ThemeMetric.h" +#include "GameState.h" ThemeMetric SCROLL_RANDOM ("Banner","ScrollRandom"); ThemeMetric SCROLL_ROULETTE ("Banner","ScrollRoulette"); @@ -115,9 +116,9 @@ void Banner::LoadCardFromCharacter( Character* pCharacter ) void Banner::LoadIconFromCharacter( Character* pCharacter ) { - if( pCharacter == NULL ) LoadFallback(); + if( pCharacter == NULL ) LoadCourseFallbackCharacterIcon(); else if( pCharacter->GetIconPath() != "" ) Load( pCharacter->GetIconPath() ); - else LoadFallback(); + else LoadCourseFallbackCharacterIcon(); m_bScrolling = false; } @@ -142,6 +143,15 @@ void Banner::LoadCourseFallback() Load( THEME->GetPathG("Banner","course fallback") ); } +void Banner::LoadCourseFallbackCharacterIcon() +{ + Character *pCharacter = GAMESTATE->GetDefaultCharacter(); + if( pCharacter && !pCharacter->GetIconPath().empty() ) + Load( pCharacter->GetIconPath() ); + else + LoadFallback(); +} + void Banner::LoadRoulette() { Load( THEME->GetPathG("Banner","roulette") ); diff --git a/stepmania/src/Banner.h b/stepmania/src/Banner.h index e49c1af8b3..93364d1d72 100644 --- a/stepmania/src/Banner.h +++ b/stepmania/src/Banner.h @@ -31,6 +31,7 @@ public: void LoadRandom(); void LoadFallback(); void LoadCourseFallback(); + void LoadCourseFallbackCharacterIcon(); void SetScrolling( bool bScroll, float Percent = 0); bool IsScrolling() const { return m_bScrolling; }