fix dumb diagonal banners in BGAs

This commit is contained in:
Glenn Maynard
2003-04-21 03:08:02 +00:00
parent 0145e0d598
commit d412461f6f
+14 -5
View File
@@ -23,7 +23,7 @@
#include "song.h"
#include "ThemeManager.h"
#include "ActorCollision.h"
#include "CroppedSprite.h"
@@ -434,6 +434,12 @@ void BGAnimationLayer::LoadFromAniLayerFile( CString sPath )
*/
}
static Sprite *NewSprite(bool banner)
{
if(banner) return new CroppedSprite;
return new Sprite;
}
void BGAnimationLayer::LoadFromIni( CString sAniDir, CString sLayer )
{
@@ -448,6 +454,8 @@ void BGAnimationLayer::LoadFromIni( CString sAniDir, CString sLayer )
IniFile ini(sPathToIni);
ini.ReadFile();
bool IsBanner = false;
CString sFile;
ini.GetValue( sLayer, "File", sFile );
@@ -468,6 +476,7 @@ void BGAnimationLayer::LoadFromIni( CString sAniDir, CString sLayer )
sPath = pSong->GetBannerPath();
else
sPath = THEME->GetPathToG("Common fallback banner");
IsBanner = true;
}
else if( sFile == "" )
{
@@ -505,13 +514,13 @@ void BGAnimationLayer::LoadFromIni( CString sAniDir, CString sLayer )
switch( m_Type )
{
case TYPE_SPRITE:
m_Sprites.push_back(new Sprite);
m_Sprites.push_back(NewSprite(IsBanner));
m_Sprites.back()->Load( sPath );
m_Sprites.back()->SetXY( CENTER_X, CENTER_Y );
break;
case TYPE_STRETCH:
{
m_Sprites.push_back(new Sprite);
m_Sprites.push_back(NewSprite(IsBanner));
RageTextureID ID(sPath);
ID.bStretch = true;
m_Sprites.back()->LoadBG( ID );
@@ -523,7 +532,7 @@ void BGAnimationLayer::LoadFromIni( CString sAniDir, CString sLayer )
{
for( int i=0; i<m_iNumParticles; i++ )
{
m_Sprites.push_back(new Sprite);
m_Sprites.push_back(NewSprite(IsBanner));
m_Sprites.back()->Load( sPath );
m_Sprites.back()->SetXY( randomf(SCREEN_LEFT,SCREEN_RIGHT), randomf(SCREEN_TOP,SCREEN_BOTTOM) );
m_Sprites.back()->SetZoom( randomf(m_fZoomMin,m_fZoomMax) );
@@ -554,7 +563,7 @@ void BGAnimationLayer::LoadFromIni( CString sAniDir, CString sLayer )
unsigned NumSprites = m_iNumTilesWide * m_iNumTilesHigh;
for( unsigned i=0; i<NumSprites; i++ )
{
m_Sprites.push_back(new Sprite);
m_Sprites.push_back(NewSprite(IsBanner));
m_Sprites.back()->Load( ID );
m_Sprites.back()->EnableTextureWrapping( true ); // gets rid of some "cracks"
m_Sprites.back()->SetZoom( randomf(m_fZoomMin,m_fZoomMax) );