diff --git a/Docs/Changelog_sm-ssc.txt b/Docs/Changelog_sm-ssc.txt index 409ba71ea4..d3b7ab3e54 100644 --- a/Docs/Changelog_sm-ssc.txt +++ b/Docs/Changelog_sm-ssc.txt @@ -22,6 +22,11 @@ sm-ssc v1.2 | 201012xx * Changed Steps picking logic in ScreenGameplaySyncMachine; now playable Steps are chosen, instead of whatever NoteData happens to be first. Also added pump-single data to ScreenGameplaySyncMachine music.sm. [freem] +* [Banner, FadingBanner] Various changes: [freem] + * Removed (now unused) All Music banner. + * Fixed swapped ScrollRandom and ScrollRoulette metrics. + * Added GetScrolling(), GetPercentScrolling() and SetScrolling(bool,float) + Lua bindings. 20101225 -------- diff --git a/src/Banner.cpp b/src/Banner.cpp index 261e9783e0..2a0f3e86b1 100644 --- a/src/Banner.cpp +++ b/src/Banner.cpp @@ -15,7 +15,7 @@ REGISTER_ACTOR_CLASS( Banner ) -ThemeMetric SCROLL_RANDOM ("Banner","ScrollRandom"); +ThemeMetric SCROLL_RANDOM ("Banner","ScrollRandom"); ThemeMetric SCROLL_ROULETTE ("Banner","ScrollRoulette"); Banner::Banner() @@ -24,7 +24,7 @@ Banner::Banner() m_fPercentScrolling = 0; } -/* Ugly: if sIsBanner is false, we're actually loading something other than a banner. */ +// Ugly: if sIsBanner is false, we're actually loading something other than a banner. void Banner::Load( RageTextureID ID, bool bIsBanner ) { if( ID.filename == "" ) @@ -86,10 +86,10 @@ void Banner::Update( float fDeltaTime ) float fTexCoords[8] = { - 0+m_fPercentScrolling, pTextureRect->top, // top left + 0+m_fPercentScrolling, pTextureRect->top, // top left 0+m_fPercentScrolling, pTextureRect->bottom, // bottom left 1+m_fPercentScrolling, pTextureRect->bottom, // bottom right - 1+m_fPercentScrolling, pTextureRect->top, // top right + 1+m_fPercentScrolling, pTextureRect->top, // top right }; Sprite::SetCustomTextureCoords( fTexCoords ); } @@ -100,25 +100,19 @@ void Banner::SetScrolling( bool bScroll, float Percent) m_bScrolling = bScroll; m_fPercentScrolling = Percent; - /* Set up the texture coord rects for the current state. */ + // Set up the texture coord rects for the current state. Update(0); } -void Banner::LoadFromSong( Song* pSong ) // NULL means no song +void Banner::LoadFromSong( Song* pSong ) // NULL means no song { - if( pSong == NULL ) LoadFallback(); - else if( pSong->HasBanner() ) Load( pSong->GetBannerPath() ); - else LoadFallback(); + if( pSong == NULL ) LoadFallback(); + else if( pSong->HasBanner() ) Load( pSong->GetBannerPath() ); + else LoadFallback(); m_bScrolling = false; } -void Banner::LoadAllMusic() -{ - Load( THEME->GetPathG("Banner","All") ); - m_bScrolling = false; -} - void Banner::LoadMode() { Load( THEME->GetPathG("Banner","Mode") ); @@ -211,13 +205,13 @@ void Banner::LoadFallbackCharacterIcon() void Banner::LoadRoulette() { Load( THEME->GetPathG("Banner","roulette") ); - m_bScrolling = (bool)SCROLL_RANDOM; + m_bScrolling = (bool)SCROLL_ROULETTE; } void Banner::LoadRandom() { Load( THEME->GetPathG("Banner","random") ); - m_bScrolling = (bool)SCROLL_ROULETTE; + m_bScrolling = (bool)SCROLL_RANDOM; } void Banner::LoadFromSortOrder( SortOrder so ) @@ -298,6 +292,9 @@ public: } return 0; } + static int GetScrolling( T* p, lua_State *L ){ lua_pushboolean( L, p->GetScrolling() ); return 1; } + static int GetPercentScrolling( T* p, lua_State *L ){ lua_pushnumber( L, p->ScrollingPercent() ); return 1; } + static int SetScrolling( T* p, lua_State *L ){ p->SetScrolling( BArg(1), FArg(2) ); return 0; } LunaBanner() { diff --git a/src/Banner.h b/src/Banner.h index 24e4a4be7e..260b4178a1 100644 --- a/src/Banner.h +++ b/src/Banner.h @@ -25,7 +25,6 @@ public: virtual void Update( float fDeltaTime ); void LoadFromSong( Song* pSong ); // NULL means no song - void LoadAllMusic(); void LoadMode(); void LoadFromSongGroup( RString sSongGroup ); void LoadFromCourse( const Course *pCourse ); @@ -42,6 +41,7 @@ public: void LoadFallbackCharacterIcon(); void SetScrolling( bool bScroll, float Percent = 0 ); + void GetScrolling() const { return m_bScrolling; } float ScrollingPercent() const { return m_fPercentScrolling; } // Lua diff --git a/src/FadingBanner.cpp b/src/FadingBanner.cpp index 6f4476a55d..c6ec649a89 100644 --- a/src/FadingBanner.cpp +++ b/src/FadingBanner.cpp @@ -181,12 +181,6 @@ void FadingBanner::LoadFromSong( const Song* pSong ) LoadFromCachedBanner( sPath ); } -void FadingBanner::LoadAllMusic() -{ - BeforeChange(); - m_Banner[m_iIndexLatest].LoadAllMusic(); -} - void FadingBanner::LoadMode() { BeforeChange(); diff --git a/src/FadingBanner.h b/src/FadingBanner.h index dc95b9a18a..ecb58b79e2 100644 --- a/src/FadingBanner.h +++ b/src/FadingBanner.h @@ -19,7 +19,6 @@ public: * resolution banner, set bLowResToHighRes to true. */ void Load( RageTextureID ID, bool bLowResToHighRes=false ); void LoadFromSong( const Song* pSong ); // NULL means no song - void LoadAllMusic(); void LoadMode(); void LoadFromSongGroup( RString sSongGroup ); void LoadFromCourse( const Course* pCourse ); @@ -45,11 +44,11 @@ protected: void BeforeChange( bool bLowResToHighRes=false ); static const int NUM_BANNERS = 5; - Banner m_Banner[NUM_BANNERS]; + Banner m_Banner[NUM_BANNERS]; int m_iIndexLatest; - bool m_bMovingFast; - bool m_bSkipNextBannerUpdate; + bool m_bMovingFast; + bool m_bSkipNextBannerUpdate; }; #endif