Banner::LoadFromCachedBanner

This commit is contained in:
Glenn Maynard
2007-05-02 02:10:40 +00:00
parent 379d0ba422
commit 230d89eb5e
2 changed files with 37 additions and 0 deletions
+36
View File
@@ -1,5 +1,6 @@
#include "global.h"
#include "Banner.h"
#include "BannerCache.h"
#include "SongManager.h"
#include "RageUtil.h"
#include "song.h"
@@ -10,6 +11,7 @@
#include "CharacterManager.h"
#include "ActorUtil.h"
#include "UnlockManager.h"
#include "PrefsManager.h"
REGISTER_ACTOR_CLASS( Banner )
@@ -43,6 +45,34 @@ void Banner::Load( RageTextureID ID, bool bIsBanner )
TEXTUREMAN->EnableOddDimensionWarning();
};
void Banner::LoadFromCachedBanner( const RString &sPath )
{
if( sPath.empty() )
{
LoadFallback();
return;
}
RageTextureID ID;
bool bLowRes = (PREFSMAN->m_BannerCache != BNCACHE_FULL);
if( !bLowRes )
{
ID = Sprite::SongBannerTexture( sPath );
}
else
{
/* Try to load the low quality version. */
ID = BANNERCACHE->LoadCachedBanner( sPath );
}
if( TEXTUREMAN->IsTextureRegistered(ID) )
Load( ID );
else if( IsAFile(sPath) )
Load( sPath );
else
LoadFallback();
}
void Banner::Update( float fDeltaTime )
{
Sprite::Update( fDeltaTime );
@@ -205,6 +235,11 @@ public:
else { Course *pC = Luna<Course>::check(L,1); p->LoadFromCourse( pC ); }
return 0;
}
static int LoadFromCachedBanner( T* p, lua_State *L )
{
p->LoadFromCachedBanner( SArg(1) );
return 0;
}
static int LoadIconFromCharacter( T* p, lua_State *L )
{
if( lua_isnil(L,1) ) { p->LoadIconFromCharacter( NULL ); }
@@ -236,6 +271,7 @@ public:
ADD_METHOD( ScaleToClipped );
ADD_METHOD( LoadFromSong );
ADD_METHOD( LoadFromCourse );
ADD_METHOD( LoadFromCachedBanner );
ADD_METHOD( LoadIconFromCharacter );
ADD_METHOD( LoadCardFromCharacter );
ADD_METHOD( LoadBannerFromUnlockEntry );
+1
View File
@@ -19,6 +19,7 @@ public:
void Load( RageTextureID ID, bool bIsBanner );
virtual void Load( RageTextureID ID ) { Load( ID, true ); }
void LoadFromCachedBanner( const RString &sPath );
virtual void Update( float fDeltaTime );