add Banners for various SortOrders. (Group and Recent not included for various reasons)

This commit is contained in:
AJ Kelly
2010-12-23 22:31:52 -06:00
parent 5ed4916e1c
commit 036b23e9d3
21 changed files with 91 additions and 26 deletions
+5
View File
@@ -13,6 +13,11 @@ _____________________________________________________________________________
sm-ssc v1.2 | 201012xx
--------------------------------------------------------------------------------
20101223
--------
* Added Banners for most SortOrders. (Group is excluded (song group banners
still work), as is Recent (which has no sections).) [freem]
20101222
--------
* Added Shift+Ctrl+F2 shortcut for reloading overlay screens (and metrics) [freem]
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
@@ -0,0 +1 @@
Common fallback banner
+25
View File
@@ -220,6 +220,20 @@ void Banner::LoadRandom()
m_bScrolling = (bool)SCROLL_ROULETTE;
}
void Banner::LoadFromSortOrder( SortOrder so )
{
if( so == NULL || so == SortOrder_Invalid )
{
LoadFallback();
}
else
{
if( so != SORT_GROUP && so != SORT_RECENT )
Load( THEME->GetPathG("Banner",ssprintf("%s",SortOrderToString(so).c_str())) );
}
m_bScrolling = false;
}
// lua start
#include "LuaBinding.h"
@@ -274,6 +288,16 @@ public:
p->LoadFromSongGroup( SArg(1) );
return 0;
}
static int LoadFromSortOrder( T* p, lua_State *L )
{
if( lua_isnil(L,1) ) { p->LoadFromSortOrder( SortOrder_Invalid ); }
else
{
SortOrder so = Enum::Check<SortOrder>(L, 1);
p->LoadFromSortOrder( so );
}
return 0;
}
LunaBanner()
{
@@ -287,6 +311,7 @@ public:
ADD_METHOD( LoadBannerFromUnlockEntry );
ADD_METHOD( LoadBackgroundFromUnlockEntry );
ADD_METHOD( LoadFromSongGroup );
ADD_METHOD( LoadFromSortOrder );
}
};
+2
View File
@@ -5,6 +5,7 @@
#include "Sprite.h"
#include "RageTextureID.h"
#include "GameConstantsAndTypes.h"
class Song;
class Course;
class Character;
@@ -34,6 +35,7 @@ public:
void LoadBackgroundFromUnlockEntry( const UnlockEntry* pUE );
void LoadRoulette();
void LoadRandom();
void LoadFromSortOrder( SortOrder so );
void LoadFallback();
void LoadFallbackBG();
void LoadCourseFallback();
+6
View File
@@ -240,6 +240,12 @@ void FadingBanner::LoadRandom()
m_Banner[m_iIndexLatest].LoadRandom();
}
void FadingBanner::LoadFromSortOrder( SortOrder so )
{
BeforeChange();
m_Banner[m_iIndexLatest].LoadFromSortOrder(so);
}
void FadingBanner::LoadFallback()
{
BeforeChange();
+1
View File
@@ -27,6 +27,7 @@ public:
void LoadBannerFromUnlockEntry( const UnlockEntry* pUE );
void LoadRoulette();
void LoadRandom();
void LoadFromSortOrder( SortOrder so );
void LoadFallback();
void LoadCourseFallback();
-1
View File
@@ -105,7 +105,6 @@ const RString& PlayModeToLocalizedString( PlayMode pm );
PlayMode StringToPlayMode( const RString& s );
LuaDeclareType( PlayMode );
// ziup2 has SortOrder_PinnedMeter (¿qef?)
enum SortOrder
{
// song sorts
+38 -25
View File
@@ -1691,31 +1691,44 @@ void ScreenSelectMusic::AfterMusicChange()
switch( m_MusicWheel.GetSelectedType() )
{
case TYPE_SECTION:
g_sBannerPath = SONGMAN->GetSongGroupBannerPath( m_MusicWheel.GetSelectedSection() );
if( SAMPLE_MUSIC_PREVIEW_MODE != SampleMusicPreviewMode_LastSong )
m_sSampleMusicToPlay = m_sSectionMusicPath;
break;
case TYPE_SORT:
bWantBanner = false; // we load it ourself
m_Banner.LoadMode();
if( SAMPLE_MUSIC_PREVIEW_MODE != SampleMusicPreviewMode_LastSong )
m_sSampleMusicToPlay = m_sSortMusicPath;
break;
case TYPE_ROULETTE:
bWantBanner = false; // we load it ourself
m_Banner.LoadRoulette();
if( SAMPLE_MUSIC_PREVIEW_MODE != SampleMusicPreviewMode_LastSong )
m_sSampleMusicToPlay = m_sRouletteMusicPath;
break;
case TYPE_RANDOM:
bWantBanner = false; // we load it ourself
m_Banner.LoadRandom();
//if( SAMPLE_MUSIC_PREVIEW_MODE != SampleMusicPreviewMode_LastSong )
m_sSampleMusicToPlay = m_sRandomMusicPath;
break;
default:
ASSERT(0);
case TYPE_SECTION:
// reduce scope
{
SortOrder curSort = GAMESTATE->m_SortOrder;
if( curSort == SORT_GROUP)
{
g_sBannerPath = SONGMAN->GetSongGroupBannerPath( m_MusicWheel.GetSelectedSection() );
}
else
{
bWantBanner = false; // we load it ourself
m_Banner.LoadFromSortOrder(curSort);
}
if( SAMPLE_MUSIC_PREVIEW_MODE != SampleMusicPreviewMode_LastSong )
m_sSampleMusicToPlay = m_sSectionMusicPath;
}
break;
case TYPE_SORT:
bWantBanner = false; // we load it ourself
m_Banner.LoadMode();
if( SAMPLE_MUSIC_PREVIEW_MODE != SampleMusicPreviewMode_LastSong )
m_sSampleMusicToPlay = m_sSortMusicPath;
break;
case TYPE_ROULETTE:
bWantBanner = false; // we load it ourself
m_Banner.LoadRoulette();
if( SAMPLE_MUSIC_PREVIEW_MODE != SampleMusicPreviewMode_LastSong )
m_sSampleMusicToPlay = m_sRouletteMusicPath;
break;
case TYPE_RANDOM:
bWantBanner = false; // we load it ourself
m_Banner.LoadRandom();
//if( SAMPLE_MUSIC_PREVIEW_MODE != SampleMusicPreviewMode_LastSong )
m_sSampleMusicToPlay = m_sRandomMusicPath;
break;
default:
ASSERT(0);
}
// override this if the sample music mode wants to.
/*