make UseSongBG work for BGAnimations not inside of Background (e.g. on ScreenStage)
This commit is contained in:
@@ -17,6 +17,8 @@
|
||||
#include "IniFile.h"
|
||||
#include "BGAnimationLayer.h"
|
||||
#include "RageUtil.h"
|
||||
#include "Song.h"
|
||||
#include "ThemeManager.h"
|
||||
|
||||
|
||||
BGAnimation::BGAnimation()
|
||||
@@ -45,7 +47,7 @@ void BGAnimation::LoadFromStaticGraphic( CString sPath )
|
||||
m_Layers.push_back( pLayer );
|
||||
}
|
||||
|
||||
void BGAnimation::LoadFromAniDir( CString sAniDir, CString sSongBGPath )
|
||||
void BGAnimation::LoadFromAniDir( CString sAniDir )
|
||||
{
|
||||
Unload();
|
||||
|
||||
@@ -71,7 +73,7 @@ void BGAnimation::LoadFromAniDir( CString sAniDir, CString sSongBGPath )
|
||||
if( pKey == NULL )
|
||||
break;
|
||||
BGAnimationLayer* pLayer = new BGAnimationLayer;
|
||||
pLayer->LoadFromIni( sAniDir, sLayer, sSongBGPath );
|
||||
pLayer->LoadFromIni( sAniDir, sLayer );
|
||||
m_Layers.push_back( pLayer );
|
||||
}
|
||||
}
|
||||
@@ -101,7 +103,7 @@ void BGAnimation::LoadFromAniDir( CString sAniDir, CString sSongBGPath )
|
||||
if( sFName.Left(1) == "_" )
|
||||
continue; // don't directly load files starting with an underscore
|
||||
BGAnimationLayer* pLayer = new BGAnimationLayer;
|
||||
pLayer->LoadFromAniLayerFile( asImagePaths[i], sSongBGPath );
|
||||
pLayer->LoadFromAniLayerFile( asImagePaths[i] );
|
||||
m_Layers.push_back( pLayer );
|
||||
}
|
||||
}
|
||||
@@ -116,11 +118,14 @@ void BGAnimation::LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewind )
|
||||
m_Layers.push_back( pLayer );
|
||||
}
|
||||
|
||||
void BGAnimation::LoadFromVisualization( CString sVisPath, CString sSongBGPath )
|
||||
void BGAnimation::LoadFromVisualization( CString sVisPath )
|
||||
{
|
||||
Unload();
|
||||
BGAnimationLayer* pLayer;
|
||||
|
||||
Song* pSong = GAMESTATE->m_pCurSong;
|
||||
CString sSongBGPath = pSong && pSong->HasBackground() ? pSong->GetBackgroundPath() : THEME->GetPathTo("Graphics","Common fallback background");
|
||||
|
||||
pLayer = new BGAnimationLayer;
|
||||
pLayer->LoadFromStaticGraphic( sSongBGPath );
|
||||
m_Layers.push_back( pLayer );
|
||||
|
||||
@@ -28,9 +28,9 @@ public:
|
||||
void Unload();
|
||||
|
||||
void LoadFromStaticGraphic( CString sPath );
|
||||
void LoadFromAniDir( CString sAniDir, CString sSongBGPath="" );
|
||||
void LoadFromAniDir( CString sAniDir );
|
||||
void LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewind );
|
||||
void LoadFromVisualization( CString sMoviePath, CString sSongBGPath );
|
||||
void LoadFromVisualization( CString sMoviePath );
|
||||
|
||||
virtual void Update( float fDeltaTime );
|
||||
virtual void DrawPrimitives();
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
#include <math.h>
|
||||
#include "RageTimer.h"
|
||||
#include "RageLog.h"
|
||||
#include "Song.h"
|
||||
#include "ThemeManager.h"
|
||||
|
||||
|
||||
inline float GetOffScreenLeft( Actor* pActor ) { return SCREEN_LEFT - pActor->GetZoomedWidth()/2; }
|
||||
@@ -145,8 +147,11 @@ void BGAnimationLayer::LoadFromVisualization( CString sMoviePath )
|
||||
}
|
||||
|
||||
|
||||
void BGAnimationLayer::LoadFromAniLayerFile( CString sPath, CString sSongBGPath )
|
||||
void BGAnimationLayer::LoadFromAniLayerFile( CString sPath )
|
||||
{
|
||||
Song* pSong = GAMESTATE->m_pCurSong;
|
||||
CString sSongBGPath = pSong && pSong->HasBackground() ? pSong->GetBackgroundPath() : THEME->GetPathTo("Graphics","Common fallback background");
|
||||
|
||||
Init();
|
||||
CString lcPath = sPath;
|
||||
lcPath.MakeLower();
|
||||
@@ -438,8 +443,11 @@ void BGAnimationLayer::LoadFromAniLayerFile( CString sPath, CString sSongBGPath
|
||||
}
|
||||
|
||||
|
||||
void BGAnimationLayer::LoadFromIni( CString sAniDir, CString sLayer, CString sSongBGPath )
|
||||
void BGAnimationLayer::LoadFromIni( CString sAniDir, CString sLayer )
|
||||
{
|
||||
Song* pSong = GAMESTATE->m_pCurSong;
|
||||
CString sSongBGPath = pSong && pSong->HasBackground() ? pSong->GetBackgroundPath() : THEME->GetPathTo("Graphics","Common fallback background");
|
||||
|
||||
Init();
|
||||
if( sAniDir.Right(1) != "/" )
|
||||
sAniDir += "/";
|
||||
|
||||
@@ -27,10 +27,10 @@ public:
|
||||
void Init();
|
||||
|
||||
void LoadFromStaticGraphic( CString sPath );
|
||||
void LoadFromAniLayerFile( CString sPath, CString sSongBGPath );
|
||||
void LoadFromAniLayerFile( CString sPath );
|
||||
void LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewind );
|
||||
void LoadFromVisualization( CString sMoviePath );
|
||||
void LoadFromIni( CString sDir, CString sLayer, CString sSongBGPath );
|
||||
void LoadFromIni( CString sDir, CString sLayer );
|
||||
|
||||
virtual void Update( float fDeltaTime );
|
||||
virtual void Draw();
|
||||
|
||||
@@ -93,7 +93,7 @@ void Background::LoadFromAniDir( CString sAniDir )
|
||||
m_BGAnimations.push_back( pTempBGA );
|
||||
}
|
||||
|
||||
BGAnimation *Background::GetBGA(const Song *pSong, const BackgroundChange &aniseg, const CString &bgpath) const
|
||||
BGAnimation *Background::GetBGA(const Song *pSong, const BackgroundChange &aniseg) const
|
||||
{
|
||||
BGAnimation *pTempBGA;
|
||||
|
||||
@@ -107,7 +107,7 @@ BGAnimation *Background::GetBGA(const Song *pSong, const BackgroundChange &anise
|
||||
if( !asFiles.empty() )
|
||||
{
|
||||
pTempBGA = new BGAnimation;
|
||||
pTempBGA->LoadFromAniDir( asFiles[0], bgpath );
|
||||
pTempBGA->LoadFromAniDir( asFiles[0] );
|
||||
return pTempBGA;
|
||||
}
|
||||
// Look for BG movies in the song dir
|
||||
@@ -132,7 +132,7 @@ BGAnimation *Background::GetBGA(const Song *pSong, const BackgroundChange &anise
|
||||
if( !asFiles.empty() )
|
||||
{
|
||||
pTempBGA = new BGAnimation;
|
||||
pTempBGA->LoadFromAniDir( asFiles[0], bgpath );
|
||||
pTempBGA->LoadFromAniDir( asFiles[0] );
|
||||
return pTempBGA;
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ BGAnimation *Background::GetBGA(const Song *pSong, const BackgroundChange &anise
|
||||
if( !asFiles.empty() )
|
||||
{
|
||||
pTempBGA = new BGAnimation;
|
||||
pTempBGA->LoadFromVisualization( asFiles[0], bgpath );
|
||||
pTempBGA->LoadFromVisualization( asFiles[0] );
|
||||
return pTempBGA;
|
||||
}
|
||||
return NULL;
|
||||
@@ -154,7 +154,7 @@ void Background::LoadFromSong( Song* pSong )
|
||||
const float fXZoom = RECT_BACKGROUND.GetWidth() / (float)SCREEN_WIDTH;
|
||||
const float fYZoom = RECT_BACKGROUND.GetHeight() / (float)SCREEN_HEIGHT;
|
||||
|
||||
const CString sSongBackgroundPath = pSong->HasBackground() ? pSong->GetBackgroundPath() : THEME->GetPathTo("Graphics","Background fallback");
|
||||
CString sSongBGPath = pSong && pSong->HasBackground() ? pSong->GetBackgroundPath() : THEME->GetPathTo("Graphics","Common fallback background");
|
||||
|
||||
//
|
||||
// Load the static background that will before notes start and after notes end
|
||||
@@ -162,7 +162,7 @@ void Background::LoadFromSong( Song* pSong )
|
||||
|
||||
{
|
||||
BGAnimation *pTempBGA = new BGAnimation;
|
||||
pTempBGA->LoadFromStaticGraphic( sSongBackgroundPath );
|
||||
pTempBGA->LoadFromStaticGraphic( sSongBGPath );
|
||||
m_BGAnimations.push_back( pTempBGA );
|
||||
}
|
||||
|
||||
@@ -178,7 +178,7 @@ void Background::LoadFromSong( Song* pSong )
|
||||
const BackgroundChange& aniseg = pSong->m_BackgroundChanges[i];
|
||||
bool bFade = i==0;
|
||||
|
||||
BGAnimation *pTempBGA = GetBGA(pSong, aniseg, sSongBackgroundPath);
|
||||
BGAnimation *pTempBGA = GetBGA(pSong, aniseg);
|
||||
|
||||
if(pTempBGA != NULL)
|
||||
{
|
||||
@@ -231,12 +231,12 @@ void Background::LoadFromSong( Song* pSong )
|
||||
{
|
||||
unsigned index = rand() % arrayPossibleMovies.size();
|
||||
pTempBGA = new BGAnimation;
|
||||
pTempBGA->LoadFromVisualization( arrayPossibleMovies[index], sSongBackgroundPath );
|
||||
pTempBGA->LoadFromVisualization( arrayPossibleMovies[index] );
|
||||
}
|
||||
else
|
||||
{
|
||||
pTempBGA = new BGAnimation;
|
||||
pTempBGA->LoadFromStaticGraphic( sSongBackgroundPath );
|
||||
pTempBGA->LoadFromStaticGraphic( sSongBGPath );
|
||||
}
|
||||
m_BGAnimations.push_back( pTempBGA );
|
||||
}
|
||||
@@ -255,7 +255,7 @@ void Background::LoadFromSong( Song* pSong )
|
||||
{
|
||||
unsigned index = rand() % arrayPossibleAnims.size();
|
||||
BGAnimation *pTempBGA = new BGAnimation;
|
||||
pTempBGA->LoadFromAniDir( arrayPossibleAnims[index], sSongBackgroundPath );
|
||||
pTempBGA->LoadFromAniDir( arrayPossibleAnims[index] );
|
||||
m_BGAnimations.push_back( pTempBGA );
|
||||
arrayPossibleAnims.erase( arrayPossibleAnims.begin()+index,
|
||||
arrayPossibleAnims.begin()+index+1 );
|
||||
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
|
||||
protected:
|
||||
bool DangerVisible();
|
||||
BGAnimation *GetBGA(const Song *pSong, const BackgroundChange &aniseg, const CString &bgpath) const;
|
||||
BGAnimation *GetBGA(const Song *pSong, const BackgroundChange &aniseg) const;
|
||||
|
||||
BGAnimation m_BGADanger;
|
||||
|
||||
|
||||
@@ -166,7 +166,7 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary )
|
||||
m_BannerWithFrame[0].SetXY( BANNER_X, BANNER_Y );
|
||||
this->AddChild( &m_BannerWithFrame[0] );
|
||||
|
||||
m_sprStage.Load( THEME->GetPathTo("Graphics","ScreenEvaluation "+GAMESTATE->GetStageText()) );
|
||||
m_sprStage.Load( THEME->GetPathTo("Graphics","ScreenEvaluation stage "+GAMESTATE->GetStageText()) );
|
||||
m_sprStage.SetXY( STAGE_X, STAGE_Y );
|
||||
this->AddChild( &m_sprStage );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user